PATH:
home
/
letacommog
/
laindinois
/
OLD
/
wp-content
/
plugins
/
downtown-rest-api
/
classes
<?php add_action( 'rest_api_init', 'dwt_listing_profile_api_hooks_get', 0 ); function dwt_listing_profile_api_hooks_get() { register_rest_route( 'downtown/app', '/profile/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_myProfile_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_myProfile_get')) { function dwt_listing_myProfile_get() { $insta = $youtube = $user_time_zone = $linkedin = $twitter = $google = $fb = $about = $street_location = $user_id = $phone_no = ''; global $dwt_listing_api; $user = wp_get_current_user(); $user_id = $user->ID; $profile_arr['user_id'] = $user_id; //profile data $phone_no = get_user_meta($user_id, 'd_user_contact', true ); $street_location = get_user_meta($user_id, 'd_user_location', true ); $user_time_zone = get_user_meta($user_id, 'd_user_timezone', true ); $about = get_user_meta($user_id, 'd_about_user', true ); $fb = get_user_meta($user_id, 'd_fb_link', true ); $google = get_user_meta($user_id, 'd_google_link', true ); $twitter = get_user_meta($user_id, 'd_twitter_link', true ); $linkedin = get_user_meta($user_id, 'd_linked_link', true ); $youtube = get_user_meta($user_id, 'd_youtube_link', true ); $insta = get_user_meta($user_id, 'd_insta_link', true ); $user_info[] = array("key" => esc_html__("Name", "dwt-listing-api"), "value" => $user->display_name); $user_info[] = array("key" => esc_html__("Email", "dwt-listing-api"), "value" => $user->user_email); $user_info[] = array("key" => esc_html__("Phone No", "dwt-listing-api"), "value" => $phone_no); $user_info[] = array("key" => esc_html__("Location", "dwt-listing-api"), "value" => $street_location); $user_info[] = array("key" => esc_html__("Timezone", "dwt-listing-api"), "value" => $user_time_zone); $profile_arr['user_info'] = $user_info; //social media $user_info_social[] = array("key" => esc_html__("FaceBook", "dwt-listing-api"), "value" => esc_url($fb)); $user_info_social[] = array("key" => esc_html__("Twitter", "dwt-listing-api"), "value" => esc_url($twitter)); $user_info_social[] = array("key" => esc_html__("Google Plus", "dwt-listing-api"), "value" => esc_url($google)); $user_info_social[] = array("key" => esc_html__("Linked In", "dwt-listing-api"), "value" => esc_url($linkedin)); $user_info_social[] = array("key" => esc_html__("Youtube", "dwt-listing-api"), "value" => esc_url($youtube)); $user_info_social[] = array("key" => esc_html__("Instagram", "dwt-listing-api"), "value" => esc_url($insta)); $profile_arr['profile_social_media'] = $user_info_social; //About User $profile_arr['about_user']['heading'] = esc_html__("About Info", "dwt-listing-api"); $profile_arr['about_user']['desc'] = $about; $text_1 = $text_2 = ''; //package Info if( get_user_meta($user_id, 'd_user_package_id', true ) != "" ) { $package_id = get_user_meta($user_id, 'd_user_package_id', true ); $text_1 = esc_html__('You are on','dwt-listing-api'); $text_2 = esc_html__( 'upgrade your plan if desired.','dwt-listing-api'); $profile_arr['package_info']['heading'] = esc_html__("Your Plan:", "dwt-listing-api"); $profile_arr['package_info']['desc'] = $text_1 .' '. get_the_title( $package_id ) .' '. $text_2; $profile_arr['package_info']['btn_txt'] = esc_html__("View Detials", "dwt-listing-api"); } else { $profile_arr['package_info']['heading'] = __("No Plan Selected", "dwt-listing-api"); $profile_arr['package_info']['desc'] = __("Currently you don't have any package upgrade your plan if desired.", "dwt-listing-api"); $profile_arr['package_info']['btn_txt'] = __("View Packages", "dwt-listing-api"); } //dashboard activity $dashboard_activity[] = dwt_listing_fetch_leads_activities_app($user_id); $profile_arr['dashboard_notifications'] = $dashboard_activity; $limit = 10; if(isset($dwt_listing_api['app_dashboard_user_listings']) && $dwt_listing_api['app_dashboard_user_listings'] !="") { $limit = $dwt_listing_api['app_dashboard_user_listings']; } //publish listingz $user_listingz['active_listings'] = dwt_listing_fetch_owner_listings_inapp('publish',$limit,$user_id); //pending listingz $user_listingz['pending_listings'] = dwt_listing_fetch_owner_listings_inapp('pending',$limit,$user_id); //featured listingz $user_listingz['featured_listings'] = dwt_listing_fetch_owner_listings_inapp('featured',$limit,$user_id); //featured listingz $user_listingz['expired_listings'] = dwt_listing_fetch_owner_listings_inapp('expired',$limit,$user_id); $profile_arr['listing_types'] = $user_listingz; //timezone $zone = dwt_listing_get_all_timezones(); if(is_array($zone) && !empty($zone)) { $world_timezones[] = array("key" => "", "value" => __("Select an option", "dwt-listing-api")); foreach($zone as $fetch_zone) { $world_timezones[] = array("key" => $fetch_zone, "value" => $fetch_zone); //break; } } $edit_profile[] = dwt_listing_get_profile_fields(__("Name", "dwt-listing-api"), __("Enter Your Name", "dwt-listing-api"), 'input', 'user_name', $user->display_name, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("Email", "dwt-listing-api"), __("Enter your email", "dwt-listing-api"), 'input', 'email', $user->user_email, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("Phone No", "dwt-listing-api"), __("Enter your contact no", "dwt-listing-api"), 'input', 'phon_no', $phone_no, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("Location", "dwt-listing-api"), __("City or location", "dwt-listing-api"), 'input', 'location', $street_location, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("Timezone", "dwt-listing-api"), __("Select TimeZone", "dwt-listing-api"), 'select', 'user_timezome', $user_time_zone, $world_timezones); $edit_profile[] = dwt_listing_get_profile_fields(__("About Yourself", "dwt-listing-api"), __("About Yourself...", "dwt-listing-api"), 'textarea', 'about_yourself', $about, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("Facebook URL", "dwt-listing-api"), __("#", "dwt-listing-api"), 'input', 'fb_link', $fb, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("Twitter URL", "dwt-listing-api"), __("#", "dwt-listing-api"), 'input', 'tw_link', $twitter, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("Google+ URL", "dwt-listing-api"), __("#", "dwt-listing-api"), 'input', 'g_link', $google, ''); $edit_profile[] = dwt_listing_get_profile_fields(__("LinkedIn URL", "dwt-listing-api"), __("#", "dwt-listing-api"), 'input', 'l_link', $linkedin, ''); $profile_arr['edit_profile'] =$edit_profile; //$profile_arr['timezones'] = $world_timezones; //return dwt_listing_fetch_bookmark_listings_inapp($user_id,'5'); $profile_arr['profile_data'] = dwt_listing_basic_profile_data(); $extra_arr['profile_title'] = __("My Profile", "dwt-listing-api"); $extra_arr['profile_about'] = __("About Info", "dwt-listing-api"); $extra_arr['profile_social'] = __("Social Media accounts", "dwt-listing-api"); $extra_arr['dashboard_text'] = __("Recent Activities", "dwt-listing-api"); $extra_arr['profile_edit_title'] = __("Edit Profile", "dwt-listing-api"); $extra_arr['profile_edit_btn'] = __("Update Profile", "dwt-listing-api"); $profile_arr['page_title'] = __("My Profile", "dwt-listing-api"); $profile_arr['page_title_edit'] = __("Edit Profile", "dwt-listing-api"); $response = array( 'success' => true, 'data' => $profile_arr, "message" => "" , "extra_text" => $extra_arr); return $response; } } /*Downtown Edit Profile */ add_action( 'rest_api_init', 'dwt_listing_profile_edit_api_hooks_get', 0 ); function dwt_listing_profile_edit_api_hooks_get() { register_rest_route( 'downtown/app/', '/profile-edit/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_myProfile_submit_form', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_myProfile_submit_form')) { function dwt_listing_myProfile_submit_form($request) { $response = $l_link = $g_link = $tw_link = $fb_link = $user_introduction = $timezone = $location = $phone = $name = ''; $user = wp_get_current_user(); $user_id = $user->data->ID; $json_data = $request->get_json_params(); $name = (isset($json_data['user_name'])) ? sanitize_text_field($json_data['user_name']) : ''; $phone = (isset($json_data['phon_no'])) ? sanitize_text_field($json_data['phon_no']) : ''; $location = (isset($json_data['location'])) ? sanitize_text_field($json_data['location']) : ''; $timezone = (isset($json_data['user_timezome'])) ? sanitize_text_field($json_data['user_timezome']) : ''; $user_introduction = (isset($json_data['about_yourself'])) ? sanitize_textarea_field($json_data['about_yourself']) : ''; $fb_link = (isset($json_data['fb_link'])) ? sanitize_text_field($json_data['fb_link']) : ''; $tw_link = (isset($json_data['tw_link'])) ? sanitize_text_field($json_data['tw_link']) : ''; $g_link = (isset($json_data['g_link'])) ? sanitize_text_field($json_data['g_link']) : ''; $l_link = (isset($json_data['l_link'])) ? sanitize_text_field($json_data['l_link']) : ''; if( $name == "" ) { $response = array( 'success' => false, 'data' => '' , 'message' => __("Please enter your name.", "dwt-listing-api") ); return $response; } if( $phone == "" ) { $response = array( 'success' => false, 'data' => '' , 'message' => __("Please enter your phone number.", "dwt-listing-api") ); return $response; } if( $location == "" ) { $response = array( 'success' => false, 'data' => '' , 'message' => __("Please enter your location.", "dwt-listing-api") ); return $response; } if( $timezone == "" ) { $response = array( 'success' => false, 'data' => '' , 'message' => __("Please select your timezone.", "dwt-listing-api") ); return $response; } wp_update_user( array( 'ID' => $user_id, 'display_name' => $name ) ); update_user_meta($user_id, 'd_user_contact', $phone); update_user_meta($user_id, 'd_user_location', $location); update_user_meta($user_id, 'd_user_timezone', $timezone); update_user_meta($user_id, 'd_about_user', $user_introduction); update_user_meta($user_id, 'd_fb_link', $fb_link); update_user_meta($user_id, 'd_twitter_link', $tw_link); update_user_meta($user_id, 'd_google_link', $g_link); update_user_meta($user_id, 'd_linked_link', $l_link); $data = dwt_listing_basic_profile_data(); $response = array( 'success' => true, 'data' => $data , 'message' => __("Profile Updated Successfully.", "dwt-listing-api")); return $response; } } /*Downtown Get Chang Password Screen */ add_action( 'rest_api_init', 'dwt_listing_get_password_modal', 0 ); function dwt_listing_get_password_modal() { register_rest_route( 'downtown/app', '/change-password/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_change_my_password', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_change_my_password')) { function dwt_listing_change_my_password($request ) { $response = ''; $forget_pass[] = array("main_title" => __("Password", "dwt-listing-api"), "placeholder" => __("Enter Your New Password", "dwt-listing-api"), "field_type_name" => 'new_password'); $forget_pass[] = array("main_title" => __("Confirm Password", "dwt-listing-api"), "placeholder" => __("Confirm New Password", "dwt-listing-api"), "field_type_name" => 'confirm_password'); $data['change_password'] = $forget_pass; $data['heading'] = __("Set Your Password", "dwt-listing-api"); $data['btn_text'] = __("Change my password", "dwt-listing-api"); $response = array( 'success' => true, 'data' => $data, "message" => ""); return $response; } } /*Downtown Profile Password Change Form */ add_action( 'rest_api_init', 'dwt_listing_profile_change_password', 0 ); function dwt_listing_profile_change_password() { register_rest_route( 'downtown/app', '/change-password', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_profile_password_change', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_profile_password_change')) { function dwt_listing_profile_password_change($request ) { $json_data = $request->get_json_params(); $new_pass = (isset($json_data['new_password'])) ? sanitize_text_field($json_data['new_password']) : ''; $new_pass_con = (isset($json_data['confirm_password'])) ? sanitize_text_field($json_data['confirm_password']) : ''; if( $new_pass == "" || $new_pass_con == "") { $response = array( 'success' => false, 'data' => '' , 'message' => __("All fields are required.", "dwt-listing-api") ); return $response; } if($new_pass === $new_pass_con) { $user = get_user_by( 'ID', get_current_user_id() ); wp_set_password( $new_pass, $user->ID ); $response = array( 'success' => true, 'data' => '' , 'message' => __("Password successfully chnaged", "dwt-listing-api") ); return $response; } else { $response = array( 'success' => false, 'data' => '' , 'message' => __("Whoops, these don't match.", "dwt-listing-api") ); return $response; } } } add_action( 'rest_api_init', 'dwt_listing_profile_api_update_img', 0 ); function dwt_listing_profile_api_update_img() { register_rest_route( 'adforest/v1', '/profile/image', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_profile_update_img', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } function my_custom_upload_mimes_here($mimes = array()) { // Add a key and value for the CSV file type $mimes['image'] = "image/jpeg"; return $mimes; } add_action('upload_mimes', 'my_custom_upload_mimes_here'); if (!function_exists('dwt_listing_profile_update_img')) { function dwt_listing_profile_update_img( $request ) { $user = wp_get_current_user(); $user_id = @$user->data->ID; if($user){ require_once ABSPATH . 'wp-admin/includes/image.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/media.php'; define('ALLOW_UNFILTERED_UPLOADS', true); $attach_id = media_handle_upload( 'profile_img', 0 ); /******* Assign image to user ************/ if ( is_wp_error( $attach_id ) ) { $response = array( 'success' => false, 'data' => '' , 'message' => __("Something went wrong while uploading image.", "dwt-listing-api"),); } else { update_user_meta($user_id, '_sb_user_pic', $attach_id ); $image_link = wp_get_attachment_image_src( $attach_id, 'adforest-user-profile' ); $profile_arr = array(); $profile_arr['id'] = $user->ID; $profile_arr['user_email'] = $user->user_email; $profile_arr['display_name'] = $user->display_name; $profile_arr['phone'] = get_user_meta($user->ID, '_sb_contact', true ); $profile_arr['profile_img'] = $image_link[0]; $response = array( 'success' => true, 'data' => $profile_arr , 'message' => __("Profile image updated successfully", "dwt-listing-api")); } } else{ $response = array( 'success' => false, 'data' => '' , 'message' => __("You must be login to update the profile image.", "dwt-listing-api"), "extra" => '' ); } return $response; } } if (!function_exists('dwt_listing_profile_update_img11')) { function dwt_listing_profile_update_img11( $request ) { $user = wp_get_current_user(); $user_id = $user->data->ID; //if ( ! function_exists( 'wp_handle_upload' ) ){ require_once ABSPATH . 'wp-admin/includes/image.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/media.php'; //} $uploadedfile = $_FILES['profile_img']; /******* user_photo Upload code ************/ $upload_overrides = array( 'test_form' => false ); $movefile = media_handle_upload( $uploadedfile, $upload_overrides ); /******* Assign image to user ************/ $filename = $movefile['url']; $absolute_file = $movefile['file']; $extraData = wp_read_image_metadata( $filename ); $parent_post_id = 0; $filetype = wp_check_filetype( basename( $filename ), null ); $wp_upload_dir = wp_upload_dir(); $attachment = array( 'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ), 'post_mime_type' => $filetype['type'], 'post_title' => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ), 'post_content' => '', 'post_status' => 'inherit' ); /*Insert the attachment.*/ $attach_id = wp_insert_attachment( $attachment, $absolute_file, $parent_post_id ); require_once( ABSPATH . 'wp-admin/includes/image.php' ); $attach_data = wp_generate_attachment_metadata( $attach_id, $absolute_file ); //$attach_data = wp_get_attachment_image( $attach_id ); wp_update_attachment_metadata( $attach_id, $attach_data ); set_post_thumbnail( $parent_post_id, $attach_id ); update_user_meta($user_id, '_sb_user_pic', $attach_id ); $idata['profile_img'] = $movefile['url']; $response = array( 'success' => true, 'data' => $idata , 'message' => __("Profile image updated successfully", "dwt-listing-api"), "extraData" => $extraData ); return $response; } } /*Edit Profile */ /*Edit Profile Ends */ add_action( 'rest_api_init', 'dwt_listing_profile_forgot_pass_hooks_post', 0 ); function dwt_listing_profile_forgot_pass_hooks_post() { register_rest_route( 'adforest/v1', '/profile/forgot_pass/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_profile_forgot_pass_post', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_profile_forgot_pass_post')) { function dwt_listing_profile_forgot_pass_post( $request ) { $user = wp_get_current_user(); $user_id = $user->data->ID; $json_data = $request->get_json_params(); $old_pass = (isset($json_data['old_pass'])) ? trim($json_data['old_pass']) : ''; } } /*Public profile starts */ add_action( 'rest_api_init', 'dwt_listing_userPublicProfile_hooks_get', 0 ); function dwt_listing_userPublicProfile_hooks_get() { register_rest_route( 'adforest/v1', '/profile/public/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_userPublicProfile_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_userPublicProfile_get')) { function dwt_listing_userPublicProfile_get($request) { $json_data = $request->get_json_params(); $user_id = (isset( $json_data['user_id'] ) ) ? $json_data['user_id'] : ''; $user = get_userdata( $user_id ); if(!$user ) { $response = array( 'success' => false, 'data' => '', "message" => __("User doest not exists", "dwt-listing-api")); return $response; } $profile_arr['id'] = $user->ID; $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $adsData = dwt_listing_userAds($user->ID, '', '', $paged); $profile_arr['ads'] = $adsData['ads']; $profile_arr['pagination'] = $adsData['pagination']; $profile_arr['text']['ad_type'] = 'myads'; $profile_arr['text']['editable'] = '0'; $profile_arr['text']['show_dropdown'] = '0'; $message = (count($profile_arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $user_intro = ( get_user_meta( $user->ID, '_sb_user_intro', true ) ); $profile_arr['introduction'] = array("key" => __("Introduction", "dwt-listing-api"), "value" => $user_intro, "field_name" => "user_introduction"); $social_profiles = dwt_listing_social_profiles(); $profile_arr['is_show_social'] = false; if( isset( $social_profiles ) && count($social_profiles) > 0 ) { $profile_arr['is_show_social'] = true; foreach( $social_profiles as $key => $val ) { $keyName = ''; $keyName = "_sb_profile_".$key; $keyVal = get_user_meta( $user->ID, $keyName, true ); $keyVal = ( $keyVal ) ? $keyVal : ''; $profile_arr['social_icons'][] = array("key" => $val, "value" => $keyVal, "field_name" => $keyName); } } $profile_arr['profile_extra'] = dwt_listing_basic_profile_data( $user_id ); $profile_arr['page_title'] = __("User Profile", "dwt-listing-api"); $response = array( 'success' => true, 'data' => $profile_arr, "message" => $message); return $response; } } /*Public profile ends */ add_action( 'rest_api_init', 'dwt_listing_user_ads_get', 0 ); function dwt_listing_user_ads_get() { /*Routs*/ register_rest_route( 'adforest/v1', '/ad/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_ad_all_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/ad/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_ad_all_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /*Routs*/ register_rest_route( 'adforest/v1', '/ad/active/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_ad_active_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/ad/active/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_ad_active_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /*Routs*/ register_rest_route( 'adforest/v1', '/ad/expired/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_ad_expired_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/ad/expired/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_ad_expired_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /*Routs*/ register_rest_route( 'adforest/v1', '/ad/sold/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_ad_sold_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/ad/sold/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_ad_sold_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /*Routs*/ register_rest_route( 'adforest/v1', '/ad/featured/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_ad_featured_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/ad/featured/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_ad_featured_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /*Routs*/ register_rest_route( 'adforest/v1', '/ad/inactive/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_ad_inactive_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/ad/inactive/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_ad_inactive_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /*Routs*/ register_rest_route( 'adforest/v1', '/ad/update/status/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_change_user_ad_status', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /*Routs*/ register_rest_route( 'adforest/v1', '/ad/delete/', array( 'methods' => WP_REST_Server::DELETABLE, 'callback' => 'dwt_listing_change_user_ad_delete', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, 'args' => array( 'force' => array( 'default' => true, ), ), )); register_rest_route( 'adforest/v1', '/ad/delete/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_change_user_ad_delete', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, 'args' => array( 'force' => array( 'default' => true, ), ), )); /* favourite */ register_rest_route( 'adforest/v1', '/ad/favourite/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_user_ad_favourite', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/ad/favourite/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_user_ad_favourite', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); /* favourite remove*/ register_rest_route( 'adforest/v1', '/ad/favourite/remove', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_user_ad_favourite_remove', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); } /*Active Ads*/ if (!function_exists('dwt_listing_ad_all_get')) { function dwt_listing_ad_all_get($request) { $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $adsData = dwt_listing_userAds($userID->ID, '', '', $paged); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['page_title'] = __( 'My Ads','dwt-listing-api'); $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'myads'; $arr['text']['editable'] = '1'; $arr['text']['show_dropdown'] = '1'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } /*inActive Ads*/ if (!function_exists('dwt_listing_ad_inactive_get')) { function dwt_listing_ad_inactive_get($request) { $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $adsData = dwt_listing_userAds($userID->ID, 'active', '', $paged, 'pending'); $arr['notification'] = __("Waiting for admin approval.", "dwt-listing-api"); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['page_title'] = __( 'Inactive Ads','dwt-listing-api'); $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'inactive'; $arr['text']['editable'] = '0'; $arr['text']['show_dropdown'] = '0'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } /*Active Ads*/ if (!function_exists('dwt_listing_ad_active_get')) { function dwt_listing_ad_active_get($request) { $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $arr['page_title'] = __( 'Active Ads','dwt-listing-api'); $adsData = dwt_listing_userAds($userID->ID, 'active', '', $paged); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'active'; $arr['text']['editable'] = '1'; $arr['text']['show_dropdown'] = '1'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } /*expired Ads*/ if (!function_exists('dwt_listing_ad_expired_get')) { function dwt_listing_ad_expired_get($request) { $arr['page_title'] = __( 'Expired Ads','dwt-listing-api'); $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $adsData = dwt_listing_userAds($userID->ID, 'expired', '', $paged); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['page_title'] = __( 'Expired Ads','dwt-listing-api'); $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'expired'; $arr['text']['editable'] = '1'; $arr['text']['show_dropdown'] = '1'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } /*sold Ads*/ if (!function_exists('dwt_listing_ad_sold_get')) { function dwt_listing_ad_sold_get($request) { $arr['page_title'] = __( 'Sold Ads','dwt-listing-api'); $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $adsData = dwt_listing_userAds($userID->ID, 'sold', '', $paged); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['page_title'] = __( 'Sold Ads','dwt-listing-api'); $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'sold'; $arr['text']['editable'] = '1'; $arr['text']['show_dropdown'] = '1'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } /*featured Ads*/ if (!function_exists('dwt_listing_ad_featured_get')) { function dwt_listing_ad_featured_get( $request ) { $arr['page_title'] = __( 'Featured Ads','dwt-listing-api'); $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $adsData = dwt_listing_userAds($userID->ID, 'active', '1', $paged); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['page_title'] = __( 'Featured Ads','dwt-listing-api'); $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'featured'; $arr['text']['editable'] = '1'; $arr['text']['show_dropdown'] = '0'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } /*favourite Ads - Remove to favourites */ if (!function_exists('dwt_listing_user_ad_favourite_remove')) { function dwt_listing_user_ad_favourite_remove($request) { $json_data = $request->get_json_params(); $ad_id = (isset( $json_data['ad_id'] ) && $json_data['ad_id'] != "" ) ? $json_data['ad_id'] : ''; $user = wp_get_current_user(); $user_id = $user->data->ID; if ( delete_user_meta($user_id, '_sb_fav_id_' . $ad_id) ) { return array( 'success' => true, 'data' => '', 'message' => __("Ad removed successfully.", "dwt-listing-api") ); } else { return array( 'success' => false, 'data' => '', 'message' => __("There'is some problem, please try again later.", "dwt-listing-api") ); } } } /*favourite Ads*/ if (!function_exists('dwt_listing_user_ad_favourite')) { function dwt_listing_user_ad_favourite($request) { $arr['page_title'] = __( 'Favourite Ads','dwt-listing-api'); $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $adsData = dwt_listing_userAds_fav($userID->ID, '', '', $paged); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['page_title'] = __( 'Favourite Ads','dwt-listing-api'); $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'favourite'; $arr['text']['editable'] = '0'; $arr['text']['show_dropdown'] = '0'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } if (!function_exists('dwt_listing_user_ad_strings')) { function dwt_listing_user_ad_strings() { $status_dropdown_value = array( "active","expired","sold", ); $status_dropdown_name = array( __("Active", "dwt-listing-api"), __("Expired", "dwt-listing-api"), __("Sold", "dwt-listing-api"), ); $string["status_dropdown_value"] = $status_dropdown_value; $string["status_dropdown_name"] = $status_dropdown_name; $string["edit_text"] = __("Edit", "dwt-listing-api"); $string["delete_text"] = __("Delete", "dwt-listing-api"); return $string; } } if (!function_exists('dwt_listing_change_user_ad_status')) { function dwt_listing_change_user_ad_status($request) { $userID = wp_get_current_user(); if( empty($userID) ) { $message = __("Invalid Access", "dwt-listing-api"); return $response = array( 'success' => true, 'data' => '', 'message' => $message ); } $json_data = $request->get_json_params(); $ad_id = (isset($json_data['ad_id'])) ? $json_data['ad_id'] : ''; $ad_status = (isset($json_data['ad_status'])) ? $json_data['ad_status'] : ''; $post_tmp = get_post($ad_id); if( isset( $post_tmp ) && $post_tmp != "") { $author_id = $post_tmp->post_author; if( isset($userID) && $author_id == $userID->ID && $ad_id != "" && $ad_status != "") { update_post_meta($ad_id, "_adforest_ad_status_", $ad_status); $message = __("Ad Status Updated", "dwt-listing-api"); } else { $message = __("Some error occured.", "dwt-listing-api"); } } else { $message = __("Invalid Post Id", "dwt-listing-api"); } $response = array( 'success' => true, 'data' => '', 'message' => $message ); return $response; } } /*Delete ad*/ if (!function_exists('dwt_listing_change_user_ad_delete')) { function dwt_listing_change_user_ad_delete($request) { $userID = wp_get_current_user(); $json_data = $request->get_json_params(); $ad_id = (isset($json_data['ad_id'])) ? $json_data['ad_id'] : ''; $post_data = get_post($ad_id); if( empty($userID) ) { $message = __("Invalid Access", "dwt-listing-api"); return $response = array( 'success' => false, 'data' => '', 'message' => $message ); } $status = get_post_status( $ad_id ); if( get_post_status( $ad_id ) != "publish" ) { $message = __("You can't delete this ad.", "dwt-listing-api"); return $response = array( 'success' => false, 'data' => $request, 'message' => $message ); } if( isset( $post_data ) && $post_data != "") { $author_id = $post_data->post_author; if( $author_id == $userID->ID && $post_data->ID != "" ) { $query = array( 'ID' => $post_data->ID, 'post_status' => 'trash', ); wp_update_post( $query, true ); $message = __("Ad Deleted Successfully", "dwt-listing-api"); } else { $message = __("Some error occured.", "dwt-listing-api"); } } else { $message = __("Invalid Post Id", "dwt-listing-api"); } $response = array( 'success' => true, 'data' => $query, 'message' => $message ); return $response; } } /*Add To favs*/ if (!function_exists('dwt_listing_ad_add_to_fav')) { function dwt_listing_ad_add_to_fav($request) { $userID = wp_get_current_user(); $json_data = $request->get_json_params(); $ad_id = (isset($json_data['ad_id'])) ? $json_data['ad_id'] : ''; $post_data = get_post($ad_id); if( empty($userID) || $userID == "") { $message = __("Invalid Access", "dwt-listing-api"); return $response = array( 'success' => false, 'data' => '', 'message' => $message ); } if( isset( $post_data ) && $post_data != "") { $author_id = $post_data->post_author; if( $author_id == $userID->ID && $post_data->ID != "" ) { $query = array( 'ID' => $post_data->ID, 'post_status' => 'trash', ); $message = __("Added To Favourites", "dwt-listing-api"); } else { $message = __("Already Added To Favourites", "dwt-listing-api"); } } else { $message = __("Invalid Post Id", "dwt-listing-api"); } $response = array( 'success' => true, 'data' => '', 'message' => $message ); return $response; } } /*Add To favs ends */ if (!function_exists('dwt_listing_user_ratting_info')) { function dwt_listing_user_ratting_info($user_id = '', $type = 'stars') { $stars = get_user_meta($user_id, "_adforest_rating_avg", true ); $info["stars"] = ( $stars == "" ) ? "0" : $stars; $starsCount = get_user_meta($user_id, "_adforest_rating_count", true ); $info["count"] = ( $starsCount != "" ) ? $starsCount : "0"; return $info["$type"]; } } add_action( 'rest_api_init', 'dwt_listing_user_public_profile_hook', 0 ); function dwt_listing_user_public_profile_hook() { /*Routs*/ register_rest_route( 'adforest/v1', '/profile/public/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_user_public_profile', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/profile/public/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_user_public_profile', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); } if (!function_exists('dwt_listing_user_public_profile')) { function dwt_listing_user_public_profile( $request ) { $json_data = $request->get_json_params(); $user_id = (isset($json_data['user_id'])) ? $json_data['user_id'] : ''; if( $user_id == "" ) { $user = wp_get_current_user(); $user_id = $user->data->ID; } $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $adsData = dwt_listing_userAds($userID->ID, '', '', $paged); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'myads'; $arr['text']['editable'] = 0; $arr['text']['show_dropdown'] = 0; $arr['profile'] = dwt_listing_basic_profile_data( $user_id ); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } add_action( 'rest_api_init', 'dwt_listing_user_ratting_hook', 0 ); function dwt_listing_user_ratting_hook() { /*Routs*/ register_rest_route( 'adforest/v1', '/profile/ratting/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_user_ratting_list', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); register_rest_route( 'adforest/v1', '/profile/ratting_get/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_user_ratting_list', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); } if (!function_exists('dwt_listing_user_ratting_list')){ function dwt_listing_user_ratting_list( $request = '' ) { $json_data = $request->get_json_params(); $author_id = (isset($json_data['author_id'])) ? $json_data['author_id'] : ''; if( $author_id == "" ) { $author = wp_get_current_user(); $author_id = $author->data->ID; } return dwt_listing_user_ratting_list1( $author_id ); } } if (!function_exists('dwt_listing_user_ratting_list1')){ function dwt_listing_user_ratting_list1( $author_id = '', $return_arr = true ) { $rating_user = wp_get_current_user(); $rating_user_id = $rating_user->data->ID; $ratings = dwt_listing_get_all_ratings($author_id); $rateArr = array(); $rate = array(); $message = ''; $rdata = array(); if( count( $ratings ) > 0 ) { foreach( $ratings as $rating ) { $data = explode( '_separator_', $rating->meta_value ); $rated = trim( (int)$data[0]); $comments = trim($data[1]); $date = $data[2]; $reply = ( isset( $data[3] ) ) ? $data[3] : ''; $reply_date = ( isset( $data[4] ) ) ? $data[4] : ''; $_arr = explode( '_user_', $rating->meta_key ); $rator = $_arr[1]; $user = get_user_by( 'ID', $rator ); if( $user ) { $img = dwt_listing_user_dp( $user->ID ); $can_reply = ( $reply == "" && $rating_user_id == $author_id ) ? true : false; $has_reply = ( $reply == "" ) ? false : true; $rate['reply_id'] = $rator; $rate['name'] = $user->display_name; $rate['img'] = $img; $rate['stars'] = (int)( $rated != "" ) ? $rated : 0; $rate['date'] = date(get_option('date_format'), strtotime($date)); $rate["can_reply"] = $can_reply; $rate["has_reply"] = $has_reply; $rate["reply_txt"] = __( 'Reply', 'dwt-listing-api' ); $rate["comments"] = $comments; $rate2 = array(); if( $reply != "" ) { $userR = get_user_by( 'ID', $author_id ); $img2 = dwt_listing_user_dp( $author_id ); $rate2['name'] = $userR->display_name; $rate2['img'] = $img2; $rate2['stars'] = 0; $rate2['date'] = date(get_option('date_format'), strtotime($reply_date)); $rate2["can_reply"] = false; $rate2["has_reply"] = true; $rate2["reply_txt"] = __( 'Reply', 'dwt-listing-api' ); $rate2["comments"] = trim($reply); } $rate["reply"] = $rate2; $rateArr[] = $rate; } if( count( $rateArr ) == 0 ) { $message = ( $author_id != $rating_user_id ) ? __( 'Be the first one to rate this user.','dwt-listing-api') : __( 'Currently no rating available..','dwt-listing-api'); } } } else { $message = ( $author_id != $rating_user_id ) ? __( 'Be the first one to rate this user.','dwt-listing-api') : __( 'Currently no rating available..','dwt-listing-api'); } $can_rate = ($author_id == $rating_user_id) ? false : true; /*User Ratting Form Info*/ $rdata['page_title'] = __( 'User Rating','dwt-listing-api'); $rdata['rattings'] = $rateArr; $rdata['can_rate'] = $can_rate; $rdata['form']['title'] = __( 'Rate Here','dwt-listing-api'); $rdata['form']['select_text'] = __( 'Rating','dwt-listing-api'); $rdata['form']['select_value'] = array(1,2,3,4,5); $rdata['form']['textarea_text'] = __( 'Comments','dwt-listing-api'); $rdata['form']['textarea_value'] = ''; $rdata['form']['tagline'] = __( 'You can not edit it later.','dwt-listing-api'); $rdata['form']['btn'] = __( 'Submit Your Rating','dwt-listing-api'); if( $return_arr == true ) { $response = array( 'success' => true, 'data' => $rdata , 'message' => $message, "ratings " => $ratings ); return $response; } else { return $rateArr; } } } add_action( 'rest_api_init', 'dwt_listing_post_ratting_hook', 0 ); function dwt_listing_post_ratting_hook() { register_rest_route( 'adforest/v1', '/profile/ratting/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_post_user_ratting', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); } if (!function_exists('dwt_listing_post_user_ratting')){ function dwt_listing_post_user_ratting( $request ) { $json_data = $request->get_json_params(); $ratting = (isset($json_data['ratting'])) ? (int)$json_data['ratting'] : ''; $comments = (isset($json_data['comments'])) ? trim($json_data['comments']) : ''; $author = (isset($json_data['author_id'])) ? (int)$json_data['author_id'] : ''; $is_reply = (isset($json_data['is_reply']) && $json_data['is_reply'] == true) ? true : false; $authorData = wp_get_current_user(); $rator = $authorData->data->ID; $cUser = $authorData->data->ID; if( $author == $rator ) return array( 'success' => false, 'data' => '', 'message' => __("You can't rate yourself.", "dwt-listing-api") ); //delete_user_meta($rator, '_adforest_rating_avg'); //delete_user_meta($rator, '_adforest_rating_count'); if( $is_reply == true) { $rdata = array(); $rator = $author; $got_ratting = $rator; $ratting = get_user_meta( $cUser, "_user_" . $rator, true ); $data_arr = explode( '_separator_', $ratting ); if( count( $data_arr ) > 3 ) { return array( 'success' => false, 'data' => '', 'message' => __("You already replied to this user.", "dwt-listing-api") ); } else { $ratting = $ratting . "_separator_" . $comments . "_separator_" . date('Y-m-d'); update_user_meta( $cUser, '_user_' . $rator, $ratting ); $rdata['rattings'] = dwt_listing_user_ratting_list1( $cUser, false ); return array( 'success' => true, 'data' => $rdata, 'message' => __("You're reply has been posted.", "dwt-listing-api") ); } } else{ if( get_user_meta( $author, "_user_" . $rator, true ) == "" ) { $rdata = array(); update_user_meta($author, "_user_" . $rator, $ratting ."_separator_" . $comments ."_separator_" . date('Y-m-d')); $ratings = dwt_listing_get_all_ratings($author); $all_rattings = 0; $got = 0; if( count( $ratings ) > 0 ) { foreach( $ratings as $rating ) { $data = explode( '_separator_', $rating->meta_value ); $got = $got + $data[0]; $all_rattings++; } $avg = $got/$all_rattings; } else { $avg = $ratting; } update_user_meta($author, "_adforest_rating_avg", $avg ); $total = get_user_meta( $author, "_adforest_rating_count", true ); if( $total == "" ){ $total = 0;} $total = $total + 1; update_user_meta($author, "_adforest_rating_count", $total ); // Send email if enabled global $dwt_listing_api; if( isset( $dwt_listing_api['email_to_user_on_rating'] ) && $dwt_listing_api['email_to_user_on_rating'] ) { adforest_send_email_new_rating( $rator, $author, $ratting, $comments ); } $rdata['rattings'] = dwt_listing_user_ratting_list1( $author, false); return array( 'success' => true, 'data' => $rdata, 'message' => __("You've rated this user.", "dwt-listing-api") ); } else { return array( 'success' => false, 'data' => '', 'message' => __("You already rated this user.", "dwt-listing-api") ); } } } } /*API custom endpoints for WP-REST API*/ add_action( 'rest_api_init', 'dwt_listing_profile_nearby', 0 ); function dwt_listing_profile_nearby() { register_rest_route( 'adforest/v1', '/profile/nearby/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_profile_nearby_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); register_rest_route( 'adforest/v1', '/profile/nearby/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_profile_nearby_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_profile_nearby_get')) { function dwt_listing_profile_nearby_get($request) { $data = array(); $user_id = get_current_user_id(); $success = false; if($user_id) { if(isset($request) ) { $json_data = $request->get_json_params(); $latitude = (isset($json_data['nearby_latitude'])) ? $json_data['nearby_latitude'] : ''; $longitude = (isset($json_data['nearby_longitude'])) ? $json_data['nearby_longitude'] : ''; $distance = (isset($json_data['nearby_distance'])) ? $json_data['nearby_distance'] : '20'; if( $latitude != "" && $longitude != "" ) { $data_array = array("latitude" => $latitude, "longitude" => $longitude, "distance" => $distance ); update_user_meta($user_id, '_sb_user_nearby_data', $data_array ); $success = true; } else { update_user_meta($user_id, '_sb_user_nearby_data', '' ); $success = false; } } $data = dwt_listing_determine_minMax_latLong(); } $message = ( $success ) ? __("Nearby option turned on", "dwt-listing-api") : __("Nearby option turned of", "dwt-listing-api"); return array( 'success' => $success, 'data' => $data, 'message' => $message ); } } /*NearByAdsStarts*/ add_action( 'rest_api_init', 'dwt_listing_nearby_ads_hook', 0 ); function dwt_listing_nearby_ads_hook() { /*Routs*/ register_rest_route( 'adforest/v1', '/ad/nearby/', array( 'methods' => WP_REST_Server::EDITABLE, 'callback' => 'dwt_listing_nearby_ads_get', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, )); } /*Active Ads*/ if (!function_exists('dwt_listing_nearby_ads_get')) { function dwt_listing_nearby_ads_get($request) { $json_data = $request->get_json_params(); $paged = (isset( $json_data['page_number'] ) ) ? $json_data['page_number'] : '1'; $userID = wp_get_current_user(); $adsData = dwt_listing_userAds('', '', '', $paged,'publish', 'near_me'); $arr['ads'] = $adsData['ads']; $arr['pagination'] = $adsData['pagination']; $arr['page_title'] = __( 'Near By ads','dwt-listing-api'); $arr['text'] = dwt_listing_user_ad_strings(); $arr['text']['ad_type'] = 'nearby'; $arr['text']['editable'] = '1'; $arr['text']['show_dropdown'] = '1'; $arr['profile'] = dwt_listing_basic_profile_data(); $message = (count($arr['ads'] ) == 0 ) ? __("No ad found", "dwt-listing-api") : ""; $response = array( 'success' => true, 'data' => $arr, 'message' => $message ); return $response; } } /*NearByAdsENds*/ add_action( 'rest_api_init', 'dwt_listing_profile_package_details_hook', 0 ); function dwt_listing_profile_package_details_hook() { register_rest_route( 'adforest/v1', '/profile/purchases/', array( 'methods' => WP_REST_Server::READABLE, 'callback' => 'dwt_listing_profile_package_details', 'permission_callback' => function () { return dwt_listing_basic_auth(); }, ) ); } if (!function_exists('dwt_listing_profile_package_details')) { function dwt_listing_profile_package_details() { $user_id = get_current_user_id(); $args = array( 'customer_id' => $user_id, ); $order_hostory = array(); $order_hostory[] = array( "order_number" => __('Order #','dwt-listing-api'), "order_name" => __('Package(s)','dwt-listing-api'), "order_status" => __('Status','dwt-listing-api'), "order_date" => __('Date','dwt-listing-api'), "order_total" => __('Order total','dwt-listing-api'), ); $orders = wc_get_orders( $args ); $message = ''; if( count( $orders ) > 0 ) { foreach( $orders as $order ) { $order_id = $order->get_id(); $items = $order->get_items(); $product_name = array(); foreach ( $items as $item ) { $product_name[] = $item->get_name(); } $product_names = implode(",", $product_name); $order_hostory[] = array( "order_number" => $order_id, "order_name" => $product_names, "order_status" => wc_get_order_status_name($order->get_status()), "order_date" => date_i18n(get_option('date_format'), strtotime($order->get_date_created()) ), "order_total" => $order->get_total(), ); } } else { $message = __('No Order Found','dwt-listing-api'); } $data['page_title'] = __('Packages History','dwt-listing-api'); $data['order_hostory'] = $order_hostory; return array( 'success' => true, 'data' => $data, 'message' => $message ); } }
[+]
..
[-] profile.php
[edit]
[-] listing-search.php
[edit]
[-] register.php
[edit]
[-] blog.php
[edit]
[-] reviews.php
[edit]
[-] login.php
[edit]
[+]
payments
[-] event-detail.php
[edit]
[-] author-listings.php
[edit]
[-] packages.php
[edit]
[-] categories.php
[edit]
[+]
packages
[-] events-search.php
[edit]
[-] fetch_data.php
[edit]
[-] home.php
[edit]
[-] listing-detail.php
[edit]
[+]
submit-listing
[+]
profile
[-] forget.php
[edit]
[-] settings.php
[edit]
[-] events.php
[edit]