{"path":"/public_html/wp-content/themes/listingpro/functions.php","name":"functions.php","size":249466,"extension":".php","modified":"2026-09-11T14:52:09.742605755Z","mode":420,"isDir":false,"isSymlink":false,"type":"text","content":"\u003c?php\n\n/**\n * Listingpro Functions.\n *\n */\n\nuse Elementor\\Plugin;\nuse Stripe\\Stripe;\nuse Stripe\\Subscription;\n\ndefine('THEME_PATH', get_template_directory());\ndefine('THEME_DIR', get_template_directory_uri());\ndefine('STYLESHEET_PATH', get_stylesheet_directory());\ndefine('STYLESHEET_DIR', get_stylesheet_directory_uri());\ndefine('CRIDIO_API_URL', 'https://license.listingprowp.com/wp-json/verifier/v1/');\ndefine('CRIDIO_FILES_URL', 'https://license.listingprowp.com/wp-content/plugins/lpverifier/core-files');\n\n\n/* ============== Theme Setup ============ */\n\nadd_shortcode('california_listings_paged', 'custom_california_listings_pagination');\n\n\n\nadd_action('after_setup_theme', 'listingpro_theme_setup');\nif (!function_exists('listingpro_theme_setup')) {\n\tfunction listingpro_theme_setup()\n\t{\n\n\t\t/* Text Domain */\n\t\t$domain = 'listingpro';\n\t\t$mofile = get_template_directory() . '/languages/' . determine_locale() . '.mo';\n\t\tif (file_exists($mofile)) {\n\t\t\tload_textdomain($domain, $mofile);\n\t\t}\n\t\t/* Theme supports */\n\n\t\tadd_editor_style();\n\t\tadd_theme_support('post-thumbnails');\n\t\tadd_theme_support(\"custom-header\");\n\t\tadd_theme_support(\"custom-background\");\n\t\tadd_theme_support('automatic-feed-links');\n\n\t\tremove_post_type_support('page', 'thumbnail');\n\n\t\t/*\n\t\t * Switch default core markup for search form, comment form, and comments\n\t\t * to output valid HTML5.\n\t\t */\n\t\tadd_theme_support(\n\t\t\t'html5',\n\t\t\tarray(\n\t\t\t\t'search-form',\n\t\t\t\t'comment-form',\n\t\t\t\t'comment-list'\n\t\t\t)\n\t\t);\n\n\t\t// We are using three menu locations.\n\t\tregister_nav_menus(array(\n\t\t\t'primary'         =\u003e esc_html__('Homepage Menu', 'listingpro'),\n\t\t\t'primary_inner'   =\u003e esc_html__('Inner Pages Menu', 'listingpro'),\n\t\t\t'top_menu'        =\u003e esc_html__('Top Bar Menu', 'listingpro'),\n\t\t\t'footer_menu' \t  =\u003e esc_html__('Footer Menu', 'listingpro'),\n\t\t\t'mobile_menu' \t  =\u003e esc_html__('Mobile Menu', 'listingpro'),\n\t\t\t'category_menu' \t  =\u003e esc_html__('Category Menu', 'listingpro'),\n\t\t));\n\n\t\tglobal $listingpro_options;\n\t\t$header_style   =   null;\n\t\t$header_style   =   lp_get_header_views();\n\n\t\tif (isset($listingpro_options['header_cats_partypro']) \u0026\u0026 $header_style == 'header_with_bigmenu') {\n\t\t\tregister_nav_menu('pp_cat_menu', __('Partypro Category Menu', 'listingpro'));\n\t\t}\n\n\t\t/* Image sizes */\n\t\tadd_image_size('listingpro-blog-grid', 372, 240, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-blog-grid2', 372, 400, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-blog-grid3', 672, 430, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-listing-grid', 272, 231, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-listing-gallery', 580, 408, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-list-thumb', 287, 190, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-author-thumb', 63, 63, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-gallery-thumb1', 458, 425, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-gallery-thumb2', 360, 198, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-gallery-thumb3', 263, 198, true); // (cropped)\t\t\n\t\tadd_image_size('listingpro-gallery-thumb4', 653, 199, true); // (cropped)\n\n\t\tadd_image_size('listingpro-detail_gallery', 383, 454, true); // (cropped)\n\n\t\tadd_image_size('listingpro-checkout-listing-thumb', 220, 80, true); // (cropped)\t\n\t\tadd_image_size('listingpro-review-gallery-thumb', 184, 135, true); // (cropped)\n\t\tadd_image_size('listingpro-thumb4', 272, 300, true); // (cropped)\n\n\t\t//for location\n\t\tadd_image_size('listingpro_location270_400', 270, 400, true); // (cropped)\n\t\tadd_image_size('listingpro_location570_455', 570, 455, true); // (cropped)\n\t\tadd_image_size('listingpro_location570_228', 570, 228, true); // (cropped)\n\t\tadd_image_size('listingpro_location270_197', 270, 197, true); // (cropped)\n\n\t\tadd_image_size('listingpro_cats270_213', 270, 213, true); // (cropped) \n\n\t\tadd_image_size('listingpro_cats270_150', 270, 150, true); // (cropped)\n\t\tadd_image_size('listingpro_liststyle181_172', 190, 146, true); // (cropped)\n\t\t// v2\n\t\tadd_image_size('lp-sidebar-thumb-v2', 84, 84, true);\n\n\t\tif (get_option('listingpro_activation_date') === false) {\n\t\t\t// Save the activation date to an option\n\t\t\tupdate_option('listingpro_activation_date', current_time('mysql'));\n\t\t}\n\t}\n}\n\nif (!isset($content_width)) {\n\t$content_width = 900;\n}\n/* ============== Dynamic options and Styling ============ */\nrequire_once THEME_PATH . '/include/dynamic-options.php';\n\n/* ============== Breadcrumb ============ */\nrequire_once THEME_PATH . '/templates/breadcrumb.php';\n\n/* ============== Blog Comments ============ */\nrequire_once THEME_PATH . '/templates/blog-comments.php';\n\n/* ============== Required Plugins ============ */\nrequire_once THEME_PATH . \"/include/plugins/install-plugin.php\";\n\n/* ============== icons ============ */\nrequire_once THEME_PATH . \"/include/icons.php\";\n\n/* ============== List confirmation ============ */\nrequire_once THEME_PATH . \"/include/list-confirmation.php\";\n\n/* ============== Login/Register ============ */\nrequire_once THEME_PATH . \"/include/login-register.php\";\n\n/* ============== Search Filter ============ */\nrequire_once THEME_PATH . \"/include/search-filter.php\";\n\n/* ============== Claim List ============ */\nrequire_once THEME_PATH . \"/include/single-ajax.php\";\n\n/* ============== Social Share ============ */\nrequire_once THEME_PATH . \"/include/social-share.php\";\n\n/* ============== Ratings ============ */\nrequire_once THEME_PATH . \"/include/reviews/ratings.php\";\n\n/* ============== Last Review ============ */\nrequire_once THEME_PATH . \"/include/reviews/last-review.php\";\n\n/* ============== Check Time status ============ */\nrequire_once THEME_PATH . \"/include/time-status.php\";\n\n/* ============== Banner Catss ============ */\nrequire_once THEME_PATH . \"/include/banner-cats.php\";\n\n/* ============== Fav Function ============ */\nrequire_once THEME_PATH . \"/include/favorite-function.php\";\n\n/* ============== Reviews Form ============ */\nrequire_once THEME_PATH . \"/include/reviews/reviews-form.php\";\n\n/* ============== all reviews ============ */\nrequire_once THEME_PATH . \"/include/reviews/all-reviews.php\";\n\n/* ============== review-submit ============ */\nrequire_once THEME_PATH . \"/include/reviews/review-submit.php\";\n\n/* ============== all reviews ============ */\nrequire_once THEME_PATH . \"/include/all-extra-fields.php\";\n\n/* ============== invoice function ============ */\nrequire_once THEME_PATH . \"/include/invoices/invoice-functions.php\";\n\nrequire_once THEME_PATH . \"/include/invoices/invoice-modal.php\";\n\n/* ============== setup wizard =============== */\nrequire_once THEME_PATH . \"/include/setup/envato_setup.php\";\n//importer\nrequire_once THEME_PATH . \"/include/setup/importer/init.php\";\n\n/* ============== listing data db save ============ */\nrequire_once THEME_PATH . \"/include/listingdata_db_save.php\";\n\n/* ============== listing home map  ============ */\nrequire_once THEME_PATH . \"/include/home_map.php\";\n\n/* ============== login based file  ============ */\nif (!is_user_logged_in()) {\n\trequire_once THEME_PATH . \"/include/lp-needlogin.php\";\n}\n\n/* ============== login based file  ============ */\nrequire_once THEME_PATH . \"/include/function-filter.php\";\n\n/* ============== ListingPro Style Load ============ */\nadd_action('wp_enqueue_scripts', 'listingpro_style');\nif (!function_exists('listingpro_style')) {\n\tfunction listingpro_style()\n\t{\n\n\t\twp_enqueue_style('bootstrap', THEME_DIR . '/assets/lib/bootstrap/css/bootstrap.min.css');\n\t\twp_enqueue_style('Magnific-Popup', THEME_DIR . '/assets/lib/Magnific-Popup-master/magnific-popup.css');\n\t\twp_enqueue_style('popup-component', THEME_DIR . '/assets/lib/popup/css/component.css');\n\t\twp_enqueue_style('Font-awesome', THEME_DIR . '/assets/lib/font-awesome/css/font-awesome.min.css');\n\t\twp_enqueue_style('Mmenu', THEME_DIR . '/assets/lib/jquerym.menu/css/jquery.mmenu.all.css');\n\t\twp_enqueue_style('MapBox', THEME_DIR . '/assets/css/mapbox.css');\n\t\twp_enqueue_style('Chosen', THEME_DIR . '/assets/lib/chosen/chosen.css');\n\t\twp_enqueue_style('bootstrap-datetimepicker-css', THEME_DIR . '/assets/css/bootstrap-datetimepicker.min.css');\n\n\t\tglobal $listingpro_options;\n\t\t$app_view_home  = isset($listingpro_options['app_view_home']) ? $listingpro_options['app_view_home'] : '';\n\t\tif (is_page($app_view_home) || is_singular('listing') || (is_front_page()) ||  is_tax('listing-category') || is_tax('features') || is_tax('location') || (is_search()  \u0026\u0026 isset($_GET['post_type'])  \u0026\u0026 $_GET['post_type'] == 'listing') || is_author()) {\n\t\t\twp_enqueue_style('Slick-css', THEME_DIR . '/assets/lib/slick/slick.css');\n\t\t\twp_enqueue_style('Slick-theme', THEME_DIR . '/assets/lib/slick/slick-theme.css');\n\t\t\twp_enqueue_style('css-prettyphoto', THEME_DIR . '/assets/css/prettyphoto.css');\n\t\t}\n\n\t\tif (!is_front_page()) {\n\t\t\twp_enqueue_style('jquery-ui', THEME_DIR . '/assets/css/jquery-ui.css');\n\t\t}\n\t\twp_enqueue_style('icon8', THEME_DIR . '/assets/lib/icon8/styles.min.css');\n\t\twp_enqueue_style('Color', THEME_DIR . '/assets/css/colors.css');\n\t\twp_enqueue_style('custom-font', THEME_DIR . '/assets/css/font.css');\n\t\twp_enqueue_style('fontawesome-all', THEME_DIR . '/assets/lib/fontawesome/css/all.css');\n\t\twp_enqueue_style('Main', THEME_DIR . '/assets/css/main.css');\n\t\twp_enqueue_style('Responsive', THEME_DIR . '/assets/css/responsive.css');\n\t\t/* by haroon */\n\t\twp_enqueue_style('select2', THEME_DIR . '/assets/css/select2.css');\n\t\t/* end by haroon */\n\t\t/* for location */\n\t\twp_enqueue_style('dynamiclocation', THEME_DIR . '/assets/css/city-autocomplete.css');\n\t\twp_enqueue_style('lp-body-overlay', THEME_DIR . '/assets/css/common.loading.css');\n\t\t/* end for location */\n\n\t\t//if(is_archive()){\n\t\twp_enqueue_style('bootstrapslider', THEME_DIR . '/assets/lib/bootstrap/css/bootstrap-slider.css');\n\t\t//}\n\n\t\twp_enqueue_style('mourisjs', THEME_DIR . '/assets/css/morris.css');\n\n\t\twp_enqueue_style('listingpro', STYLESHEET_DIR . '/style.css');\n\t\t$mobile_view = lp_theme_option('single_listing_mobile_view');\n\t\tif ($mobile_view == 'app_view2' \u0026\u0026 wp_is_mobile()) {\n\t\t\twp_enqueue_style('app-view2-styles', THEME_DIR . '/assets/css/app-view2.css');\n\t\t}\n\t\tif (is_rtl()) {\n\t\t\twp_enqueue_style('lp-rtl', THEME_DIR . '/assets/css/rtl.css');\n\t\t}\n\n\t\twp_register_style('lp-classic-blog-grid', THEME_DIR . '/assets/css/classic/classic-blog-grid.css');\n\t\twp_register_style('lp-classic-location-grid', THEME_DIR . '/assets/css/classic/classic-city-grid.css');\n\t\twp_register_style('lp-classic-listings-grid', THEME_DIR . '/assets/css/classic/classic-loop.css');\n\t\twp_register_style('lp-classic-footer', THEME_DIR . '/assets/css/classic/classic-footer.css');\n\t\twp_register_style('lp-classic-archive', THEME_DIR . '/assets/css/classic/classic-archive.css');\n\t\twp_register_style('lp-classic-promotional', THEME_DIR . '/assets/css/classic/classic-promotional.css');\n\t\twp_register_style('lp-classic-reviews', THEME_DIR . '/assets/css/classic/classic-reviews.css');\n\t\twp_register_style('lp-classic-call-to-action', THEME_DIR . '/assets/css/classic/classic-call-to-action.css');\n\t}\n}\n\n/* ============== ListingPro Script Load ============ */\n\nadd_action('wp_enqueue_scripts', 'listingpro_scripts');\nif (!function_exists('listingpro_scripts')) {\n\tfunction listingpro_scripts()\n\t{\n\n\n\t\tglobal $listingpro_options;\n\n\t\twp_enqueue_script('Mapbox', THEME_DIR . '/assets/js/mapbox.js', 'jquery', '', true);\n\t\twp_enqueue_script('Mapbox-leaflet', THEME_DIR . '/assets/js/leaflet.markercluster.js', 'jquery', '', true);\n\t\twp_enqueue_script('leaflet-google', THEME_DIR . '/assets/js/leafleft-google.js', 'jquery', '', true);\n\n\t\t//wp_enqueue_script('Build', THEME_DIR . '/assets/js/build.min.js', 'jquery', '', true);\n\n\t\twp_enqueue_script('Chosen', THEME_DIR . '/assets/lib/chosen/chosen.jquery.js', 'jquery', '', true);\n\n\t\twp_enqueue_script('bootstrap', THEME_DIR . '/assets/lib/bootstrap/js/bootstrap.min.js', 'jquery', '', true);\n\n\t\twp_enqueue_script('Mmenu', THEME_DIR . '/assets/lib/jquerym.menu/js/jquery.mmenu.min.all.js', 'jquery', '', true);\n\n\t\twp_enqueue_script('magnific-popup', THEME_DIR . '/assets/lib/Magnific-Popup-master/jquery.magnific-popup.min.js', 'jquery', '', true);\n\n\t\twp_enqueue_script('select2', THEME_DIR . '/assets/js/select2.full.min.js', 'jquery', '', true);\n\n\t\twp_enqueue_script('popup-classie', THEME_DIR . '/assets/lib/popup/js/classie.js', 'jquery', '', true);\n\n\t\twp_enqueue_script('modalEffects', THEME_DIR . '/assets/lib/popup/js/modalEffects.js', 'jquery', '', true);\n\t\twp_enqueue_script('2checkout', THEME_DIR . '/assets/js/2co.min.js', 'jquery', '', true);\n\t\twp_enqueue_script('bootstrap-moment', THEME_DIR . '/assets/js/moment.js', 'jquery', '', true);\n\t\twp_enqueue_script('bootstrap-datetimepicker', THEME_DIR . '/assets/js/bootstrap-datetimepicker.min.js', 'jquery', '', true);\n\n\t\tif (class_exists('Redux')) {\n\t\t\t$mapAPI = '';\n\t\t\t$mapAPI  = isset($listingpro_options['google_map_api']) ? $listingpro_options['google_map_api'] : '';\n\t\t\tif (empty($mapAPI)) {\n\t\t\t\t$mapAPI = 'AIzaSyDQIbsz2wFeL42Dp9KaL4o4cJKJu4r8Tvg';\n\t\t\t}\n\t\t\twp_enqueue_script('mapsjs', 'https://maps.googleapis.com/maps/api/js?key=' . $mapAPI . '\u0026libraries=places', 'jquery', '', false);\n\t\t}\n\t\tif (!is_front_page()) {\n\t\t\twp_enqueue_script('pagination', THEME_DIR . '/assets/js/pagination.js', 'jquery', '', true);\n\t\t}\n\t\t/* IF ie9 */\n\t\twp_enqueue_script('html5shim', 'https://html5shim.googlecode.com/svn/trunk/html5.js', array(), '1.0.0', true);\n\t\twp_script_add_data('html5shim', 'conditional', 'lt IE 9');\n\n\t\twp_enqueue_script('nicescroll', THEME_DIR . '/assets/js/jquery.nicescroll.min.js', 'jquery', '', true);\n\t\twp_enqueue_script('chosen-jquery', THEME_DIR . '/assets/js/chosen.jquery.min.js', 'jquery', '', true);\n\t\twp_enqueue_script('jquery-ui', THEME_DIR . '/assets/js/jquery-ui.js', 'jquery', '', true);\n\t\tif (is_page_template('template-dashboard.php')) {\n\t\t\twp_enqueue_script('bootstrap-rating', THEME_DIR . '/assets/js/bootstrap-rating.js', 'jquery', '', true);\n\t\t}\n\t\twp_enqueue_script('droppin', THEME_DIR . '/assets/js/drop-pin.js', 'jquery', '', true);\n\t\tif (is_singular('listing') || is_singular('events')) {\n\t\t\twp_enqueue_script('singlemap', THEME_DIR . '/assets/js/singlepostmap.js', 'jquery', '', true);\n\t\t}\n\t\tif (is_singular('listing')) {\n\t\t\twp_enqueue_script('socialshare', THEME_DIR . '/assets/js/social-share.js', 'jquery', '', true);\n\t\t\twp_enqueue_script('jquery-prettyPhoto', THEME_DIR . '/assets/js/jquery.prettyPhoto.js', 'jquery', '', true);\n\t\t\twp_enqueue_script('bootstrap-rating', THEME_DIR . '/assets/js/bootstrap-rating.js', 'jquery', '', true);\n\t\t\twp_enqueue_script('Slick', THEME_DIR . '/assets/lib/slick/slick.min.js', 'jquery', '', true);\n\t\t}\n\t\tif (is_author()) {\n\t\t\twp_enqueue_script('jquery-prettyPhoto', THEME_DIR . '/assets/js/jquery.prettyPhoto.js', 'jquery', '', true);\n\t\t}\n\t\t/* ==============start add by sajid ============ */\n\t\tglobal $listingpro_options;\n\t\t$app_view_home  = isset($listingpro_options['app_view_home']) ? $listingpro_options['app_view_home'] : '';\n\t\tif (is_page($app_view_home) || is_author() || is_tax('location') || (is_front_page()) || is_tax('listing-category') || is_tax('features') || (is_search()\n\t\t\t\u0026\u0026 isset($_GET['post_type'])\n\t\t\t\u0026\u0026 esc_html($_GET['post_type']) == 'listing'\n\t\t)) {\n\t\t\twp_enqueue_script('Slick', THEME_DIR . '/assets/lib/slick/slick.min.js', 'jquery', '', true);\n\t\t}\n\t\t/* ==============end add by sajid ============ */\n\t\twp_enqueue_script('dyn-location-js', THEME_DIR . '/assets/js/jquery.city-autocomplete.js', 'jquery', '', true);\n\t\t//if(is_archive()){\n\t\twp_enqueue_script('bootstrapsliderjs', THEME_DIR . '/assets/lib/bootstrap/js/bootstrap-slider.js', 'jquery', '', true);\n\t\t//}\n\n\n\t\twp_register_script('lp-icons-colors', THEME_DIR . '/assets/js/lp-iconcolor.js', 'jquery', '', true);\n\t\twp_enqueue_script('lp-icons-colors');\n\n\t\twp_register_script('lp-current-loc', THEME_DIR . '/assets/js/lp-gps.js', 'jquery', '', true);\n\t\twp_enqueue_script('lp-current-loc');\n\n\t\twp_enqueue_script('Pricing', THEME_DIR . '/assets/js/pricing.js', 'jquery', '', true);\n\n\t\twp_register_script('raphelmin', THEME_DIR . '/assets/js/raphael-min.js', 'jquery', '', false);\n\t\twp_enqueue_script('raphelmin');\n\n\t\twp_register_script('morisjs', THEME_DIR . '/assets/js/morris.js', 'jquery', '', false);\n\t\twp_enqueue_script('morisjs');\n\n\t\twp_enqueue_script('Main', THEME_DIR . '/assets/js/main.js', 'jquery', '', true);\n\n\t\t//wp_enqueue_script('fontawesome', 'https://kit.fontawesome.com/abdbf0f360.js', 'jquery', '', true);\n\n\t\tif (is_singular('post') \u0026\u0026 comments_open()) {\n\t\t\twp_enqueue_script('comment-reply');\n\t\t}\n\n\t\tif (is_rtl()) {\n\t\t\twp_enqueue_script('lp-rtl-js', THEME_DIR . '/assets/js/rtl.js', 'jquery', '', true);\n\t\t}\n\t}\n}\n\nadd_action('admin_enqueue_scripts', 'lp_pdffiles_include_action');\nadd_action('lp_pdf_enqueue_scripts', 'lp_pdffiles_include_action');\nif (!function_exists('lp_pdffiles_include_action')) {\n\tfunction lp_pdffiles_include_action()\n\t{\n\t\twp_register_script('lp-pdflib', THEME_DIR . '/assets/js/jspdf.min.js', 'jquery', '', true);\n\t\twp_register_script('lp-pdffunc', THEME_DIR . '/assets/js/pdf-function.js', 'jquery', '', true);\n\t\twp_enqueue_script('lp-pdflib');\n\t\twp_enqueue_script('lp-pdffunc');\n\t}\n}\n\n/* ============== ListingPro Stripe JS ============ */\nadd_filter('wp_enqueue_scripts', 'listingpro_stripeJsfile', 0);\nif (!function_exists('listingpro_stripeJsfile')) {\n\tfunction listingpro_stripeJsfile()\n\t{\n\n\t\twp_enqueue_script('stripejs', THEME_DIR . '/assets/js/checkout.js', 'jquery', '', false);\n\t}\n}\n\n/* ============== ListingPro Options ============ */\nadd_action('after_setup_theme', 'listingpro_include_redux_options');\nif (!function_exists('listingpro_include_redux_options')) {\n\tfunction listingpro_include_redux_options()\n\t{\n\t\tif (!isset($listingpro_options) \u0026\u0026 file_exists(dirname(__FILE__) . '/include/options-config.php')) {\n\t\t\trequire_once(dirname(__FILE__) . '/include/options-config.php');\n\t\t}\n\t}\n}\n\n/* ============== ListingPro Load media ============ */\nif (!function_exists('listingpro_load_media')) {\n\tfunction listingpro_load_media()\n\t{\n\t\twp_enqueue_media();\n\t}\n}\nadd_action('admin_enqueue_scripts', 'listingpro_load_media');\n\nif (!function_exists('listingpro_admin_css')) {\n\tfunction listingpro_admin_css()\n\t{\n\t\twp_enqueue_style('adminpages-css', THEME_DIR . '/assets/css/admin-style.css');\n\t}\n}\nadd_action('admin_enqueue_scripts', 'listingpro_admin_css');\n\n/* ============== ListingPro Author Contact meta ============ */\nif (!function_exists('listingpro_author_meta')) {\n\tfunction listingpro_author_meta($contactmethods)\n\t{\n\n\t\t// Add telefone\n\t\t$contactmethods['phone'] = 'Phone';\n\t\t// add address\n\t\t$contactmethods['address'] = 'Adress 1st Line';\n\t\t$contactmethods['address2'] = 'Adress 2nd Line';\n\t\t$contactmethods['city'] = 'City';\n\t\t$contactmethods['zipcode'] = 'Zip Code';\n\t\t$contactmethods['state'] = 'State';\n\t\t$contactmethods['country'] = 'Country*';\n\t\t// add Social\n\t\t$contactmethods['facebook'] = 'Facebook';\n\t\t$contactmethods['google'] = 'Google';\n\t\t$contactmethods['linkedin'] = 'Linkedin';\n\t\t$contactmethods['instagram'] = 'Instagram';\n\t\t$contactmethods['twitter'] = 'Twitter';\n\t\t$contactmethods['pinterest'] = 'Pinterest';\n\n\t\treturn $contactmethods;\n\t}\n\tadd_filter('user_contactmethods', 'listingpro_author_meta', 10, 1);\n}\n\n\n/* ============== ListingPro User avatar URL ============ */\n\nif (!function_exists('listingpro_get_avatar_url')) {\n\tfunction listingpro_get_avatar_url($author_id, $size)\n\t{\n\t\t$get_avatar = get_avatar($author_id, $size);\n\t\tpreg_match(\"/src='(.*?)'/i\", $get_avatar, $matches);\n\t\tif (!empty($matches)) {\n\t\t\tif (array_key_exists(\"1\", $matches)) {\n\t\t\t\treturn ($matches[1]);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* ============== ListingPro Author image ============ */\n\nif (!function_exists('listingpro_author_image')) {\n\n\tfunction listingpro_author_image()\n\t{\n\n\t\tif (is_user_logged_in()) {\n\n\t\t\t$current_user = wp_get_current_user();\n\n\t\t\t$author_avatar_url = get_user_meta($current_user-\u003eID, \"listingpro_author_img_url\", true);\n\n\t\t\tif (!empty($author_avatar_url)) {\n\n\t\t\t\t$avatar =  $author_avatar_url;\n\t\t\t} else {\n\n\t\t\t\t$avatar_url = listingpro_get_avatar_url($current_user-\u003eID, $size = '94');\n\t\t\t\t$avatar =  $avatar_url;\n\t\t\t}\n\t\t}\n\n\n\t\treturn $avatar;\n\t}\n}\n\n/* ============== ListingPro Single Author image ============ */\n\nif (!function_exists('listingpro_single_author_image')) {\n\n\tfunction listingpro_single_author_image()\n\t{\n\n\t\tif (is_single()) {\n\n\t\t\t$author_avatar_url = get_user_meta(get_the_author_meta('ID'), \"listingpro_author_img_url\", true);\n\n\t\t\tif (!empty($author_avatar_url)) {\n\n\t\t\t\t$avatar =  $author_avatar_url;\n\t\t\t} else {\n\n\t\t\t\t$avatar_url = listingpro_get_avatar_url(get_the_author_meta('ID'), $size = '94');\n\t\t\t\t$avatar =  $avatar_url;\n\t\t\t}\n\t\t}\n\n\n\t\treturn $avatar;\n\t}\n}\n\n/* ============== ListingPro Subscriber can upload media ============ */\n\nif (!function_exists('listingpro_vcSetAsTheme')) {\n\tadd_action('vc_before_init', 'listingpro_vcSetAsTheme');\n\tfunction listingpro_vcSetAsTheme()\n\t{\n\t\tvc_set_as_theme($disable_updater = false);\n\t}\n}\n\n/* ============== ListingPro Block admin acccess ============ */\nif (!function_exists('listingpro_block_admin_access')) {\n\n\tadd_action('init', 'listingpro_block_admin_access');\n\n\tfunction listingpro_block_admin_access()\n\t{\n\t\tif (is_user_logged_in()) {\n\n\n\n\t\t\tif (is_multisite()) {\n\n\t\t\t\tif (is_admin() \u0026\u0026 !current_user_can('administrator')  \u0026\u0026 isset($_GET['action']) != 'delete' \u0026\u0026 !(defined('DOING_AJAX') \u0026\u0026 DOING_AJAX)) {\n\t\t\t\t\twp_die(esc_html__(\"You don't have permission to access this page.\", \"listingpro\"));\n\t\t\t\t\texit;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\tif (is_admin() \u0026\u0026 current_user_can('subscriber')  \u0026\u0026 isset($_GET['action']) != 'delete' \u0026\u0026 !(defined('DOING_AJAX') \u0026\u0026 DOING_AJAX)) {\n\t\t\t\t\twp_die(esc_html__(\"You don't have permission to access this page.\", \"listingpro\"));\n\t\t\t\t\texit;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/* ============== ListingPro Media Uploader ============ */\n\nif (!function_exists('listingpro_add_media_upload_scripts')) {\n\n\tfunction listingpro_add_media_upload_scripts()\n\t{\n\t\tif (is_admin()) {\n\t\t\treturn;\n\t\t}\n\t\twp_enqueue_media();\n\t}\n\t//add_action('wp_enqueue_scripts', 'listingpro_add_media_upload_scripts');\n\n}\n\n\n/* ============== ListingPro Search Form ============ */\n\nif (!function_exists('listingpro_search_form')) {\n\n\tfunction listingpro_search_form()\n\t{\n\n\t\t$form = '\u003cform role=\"search\" method=\"get\" id=\"searchform\" action=\"' . esc_url(home_url('/')) . '\" \u003e\n\t\t\t\u003cdiv class=\"input\"\u003e\n\t\t\t\t\u003ci class=\"icon-search\"\u003e\u003c/i\u003e\u003cinput class=\"\" type=\"text\" value=\"' . get_search_query() . '\" name=\"s\" id=\"s\" placeholder=\"' . __('Type and hit enter', 'listingpro') . '\"\u003e\n\t\t\t\u003c/div\u003e\n\t\t\t\u003c/form\u003e';\n\n\t\treturn $form;\n\t}\n}\n\nadd_filter('get_search_form', 'listingpro_search_form');\n\n\n/* ============== ListingPro Favicon ============ */\n\nif (!function_exists('listingpro_favicon')) {\n\n\tfunction listingpro_favicon()\n\t{\n\t\tglobal $listingpro_options;\n\t\tif (!function_exists('has_site_icon') || !has_site_icon()) {\n\t\t\t$theme_favicon  = isset($listingpro_options['theme_favicon']) ? $listingpro_options['theme_favicon'] : '';\n\t\t\tif ($theme_favicon != '') {\n\n\t\t\t\techo '\u003clink rel=\"shortcut icon\" href=\"' . wp_kses_post($theme_favicon['url']) . '\"/\u003e';\n\t\t\t} else {\n\t\t\t\techo '\u003clink rel=\"shortcut icon\" href=\"' . THEME_DIR . '/assets/img/favicon.ico\"/\u003e';\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/* ============== ListingPro Top bar menu ============ */\n\nif (!function_exists('listingpro_top_bar_menu')) {\n\n\tfunction listingpro_top_bar_menu()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'top_menu',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'false',\n\t\t\t'menu_class'      =\u003e 'lp-topbar-menu',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e true,\n\t\t\t'fallback_cb'     =\u003e '',\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"%2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t);\n\t\tif (has_nav_menu('top_menu')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\n/* ============== ListingPro Primary menu ============ */\n\nif (!function_exists('listingpro_primary_menu')) {\n\n\tfunction listingpro_primary_menu()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'primary',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'div',\n\t\t\t'menu_class'      =\u003e '',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e false,\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"%2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t);\n\t\tif (has_nav_menu('primary')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\n\n/* ============== ListingPro Inner pages menu ============ */\n\nif (!function_exists('listingpro_inner_menu')) {\n\n\tfunction listingpro_inner_menu()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'primary_inner',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'div',\n\t\t\t'menu_class'      =\u003e '',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e false,\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"inner_menu %2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t);\n\t\tif (has_nav_menu('primary_inner')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\n/* ============== ListingPro Footer menu ============ */\n\nif (!function_exists('listingpro_footer_menu')) {\n\n\tfunction listingpro_footer_menu()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'footer_menu',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'false',\n\t\t\t'menu_class'      =\u003e 'footer-menu',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e true,\n\t\t\t'fallback_cb'     =\u003e '',\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"%2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t);\n\n\t\tif (has_nav_menu('footer_menu')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\n\n/* ============== ListingPro partypro category menu ============ */\n\nif (!function_exists('listingpro_pp_cat_menu')) {\n\n\tfunction listingpro_pp_cat_menu()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'pp_cat_menu',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'false',\n\t\t\t'menu_class'      =\u003e '',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e true,\n\t\t\t'fallback_cb'     =\u003e '',\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"%2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t\t'walker' =\u003e new Nav_Bigmenu_Walker()\n\t\t);\n\n\t\tif (has_nav_menu('pp_cat_menu')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\nfunction lp_wp_title($title, $sep)\n{\n\tglobal $paged, $page;\n\n\tif (is_feed()) {\n\t\treturn $title;\n\t}\n\n\t$title .= get_bloginfo('name');\n\n\t$site_description = get_bloginfo('description', 'display');\n\tif ($site_description \u0026\u0026 (is_home() || is_front_page())) {\n\t\t$title = \"$title $sep $site_description\";\n\t}\n\n\tif ($paged \u003e= 2 || $page \u003e= 2) {\n\t\t$title = \"$title $sep \" . sprintf(__('Page %s', 'listingpro'), max($paged, $page));\n\t}\n\n\tif (isset($_GET['s']) \u0026\u0026 isset($_GET['select']) \u0026\u0026 $_GET['select'] != '') {\n\t\t$siteTitle = get_bloginfo();\n\t\t$title =  esc_html__(\"Search Results For\", \"listingpro\") . ' \"' . $_GET['select'] . '\" - ' . $siteTitle;\n\t}\n\n\treturn $title;\n}\nadd_filter('wp_title', 'lp_wp_title', 10, 2);\n\nclass Nav_Bigmenu_Walker extends Walker_Nav_Menu\n{\n\n\tpublic function start_el(\u0026$output, $item, $depth = 0, $args = array(), $id = 0)\n\t{\n\t\tglobal $wp_query;\n\t\t$indent = ($depth) ? str_repeat(\"\\t\", $depth) : '';\n\n\t\t$class_names = $value = '';\n\n\t\t$classes = empty($item-\u003eclasses) ? array() : (array) $item-\u003eclasses;\n\t\t$classes[] = 'menu-item-' . $item-\u003eID;\n\t\tif ($depth == 0) {\n\t\t\t$classes[] = 'col-md-4';\n\t\t}\n\n\t\t$class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item, $args));\n\t\t$class_names = ' class=\"' . esc_attr($class_names) . '\"';\n\n\t\t$id = apply_filters('nav_menu_item_id', 'menu-item-' . $item-\u003eID, $item, $args);\n\t\t$id = strlen($id) ? ' id=\"' . esc_attr($id) . '\"' : '';\n\n\t\t$output .= $indent . '\u003cli' . $id . $value . $class_names . '\u003e';\n\n\t\t$attributes  = !empty($item-\u003eattr_title) ? ' title=\"'  . esc_attr($item-\u003eattr_title) . '\"' : '';\n\t\t$attributes .= !empty($item-\u003etarget)     ? ' target=\"' . esc_attr($item-\u003etarget) . '\"' : '';\n\t\t$attributes .= !empty($item-\u003exfn)        ? ' rel=\"'    . esc_attr($item-\u003exfn) . '\"' : '';\n\t\t$attributes .= !empty($item-\u003eurl)        ? ' href=\"'   . esc_attr($item-\u003eurl) . '\"' : '';\n\t\t$cat_icon   =   '';\n\t\tif ($item-\u003etype == 'taxonomy' \u0026\u0026 $item-\u003eobject == 'listing-category') {\n\t\t\t$cat_icon = listing_get_tax_meta($item-\u003eobject_id, 'category', 'image');\n\t\t}\n\t\t// Check our custom has_children property.\n\t\tif ($args-\u003ehas_children) {\n\t\t\t$attributes .= ' class=\"menu parent\"';\n\t\t}\n\n\t\t$item_output = $args-\u003ebefore;\n\t\t$item_output .= '\u003ca' . $attributes . '\u003e';\n\t\tif ($cat_icon != '' \u0026\u0026 $depth == 0) {\n\t\t\tif (hasFontAwesomeIconClass($cat_icon)) {\n\t\t\t\t$item_output .= '\u003ci class=\"icon icons-search-cat ' . $cat_icon . '\"\u003e\u003c/i\u003e';\n\t\t\t} else {\n\t\t\t\t$item_output .= '\u003cimg alt=\"image\" src=\"' . $cat_icon . '\" /\u003e';\n\t\t\t}\n\t\t}\n\t\t$item_output .= $args-\u003elink_before . apply_filters('the_title', $item-\u003etitle, $item-\u003eID) . $args-\u003elink_after;\n\t\t$item_output .= '\u003c/a\u003e';\n\t\t$item_output .= $args-\u003eafter;\n\n\t\t$output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);\n\t}\n\n\tpublic function display_element($element, \u0026$children_elements, $max_depth, $depth, $args, \u0026$output)\n\t{\n\t\t//new code 2.6.15\n\t\tif (empty($depth)) {\n\t\t\t$depth = 0;\n\t\t}\n\t\t//end new code 2.6.15\n\n\t\t$id_field = $this-\u003edb_fields['id'];\n\t\tif (is_object($args[0])) {\n\t\t\t$args[0]-\u003ehas_children = !empty($children_elements[$element-\u003e$id_field]);\n\t\t}\n\t\treturn parent::display_element($element, $children_elements, $max_depth, $depth, $args, $output);\n\t}\n}\n\n\n/* ==============start add by sajid ============ */\nif (!function_exists('listingpro_footer_menu_app')) {\n\n\tfunction listingpro_footer_menu_app()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'footer_menu',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'false',\n\t\t\t'menu_class'      =\u003e '',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e true,\n\t\t\t'fallback_cb'     =\u003e '',\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"%2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t);\n\n\t\tif (has_nav_menu('footer_menu')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\n/* ==============end add by sajid ============ */\n\n/* ============== ListingPro Mobile menu ============ */\n\nif (!function_exists('listingpro_mobile_menu')) {\n\n\tfunction listingpro_mobile_menu()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'mobile_menu',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'false',\n\t\t\t'menu_class'      =\u003e 'mobile-menu',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e true,\n\t\t\t'fallback_cb'     =\u003e '',\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"%2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t);\n\n\t\tif (has_nav_menu('mobile_menu')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\n/* ============== ListingPro Default sidebar ============ */\n\nif (!function_exists('listingpro_sidebar')) {\n\n\tfunction listingpro_sidebar()\n\t{\n\t\tglobal $listingpro_options;\n\t\t$footer_style = '';\n\t\tif (isset($listingpro_options['footer_style'])) {\n\t\t\t$footer_style = $listingpro_options['footer_style'];\n\t\t}\n\n\t\tregister_sidebar(array(\n\t\t\t'name' =\u003e 'Default sidebar',\n\t\t\t'id' =\u003e 'default-sidebar',\n\t\t\t'before_widget' =\u003e '\u003caside class=\"widget %2$s\" id=\"%1$s\"\u003e',\n\t\t\t'after_widget' =\u003e '\u003c/aside\u003e',\n\t\t\t'before_title' =\u003e '\u003cdiv class=\"imo-widget-title-container\"\u003e\u003ch2 class=\"widget-title\"\u003e',\n\t\t\t'after_title' =\u003e '\u003c/h2\u003e\u003c/div\u003e',\n\t\t));\n\t\tregister_sidebar(array(\n\t\t\t'name' =\u003e 'Listing Detail sidebar',\n\t\t\t'id' =\u003e 'listing_detail_sidebar',\n\t\t\t'before_widget' =\u003e '\u003cdiv class=\"widget-box viewed-listing %2$s\" id=\"%1$s\"\u003e',\n\t\t\t'after_widget' =\u003e '\u003c/div\u003e',\n\t\t\t'before_title' =\u003e '\u003ch2\u003e',\n\t\t\t'after_title' =\u003e '\u003c/h2\u003e',\n\t\t));\n\t\tregister_sidebar(array(\n\t\t\t'name' =\u003e 'Listing Archive sidebar',\n\t\t\t'id' =\u003e 'listing_archive_sidebar',\n\t\t\t'before_widget' =\u003e '\u003cdiv class=\"widget-box viewed-listing %2$s\" id=\"%1$s\"\u003e',\n\t\t\t'after_widget' =\u003e '\u003c/div\u003e',\n\t\t\t'before_title' =\u003e '\u003ch2\u003e',\n\t\t\t'after_title' =\u003e '\u003c/h2\u003e',\n\t\t));\n\t\t/* ============== shaoib start ============ */\n\n\t\t//if($footer_style == 'footer2'){\n\n\t\tglobal $listingpro_options;\n\t\tif (class_exists('Redux') \u0026\u0026 isset($listingpro_options) \u0026\u0026 !empty($listingpro_options)) {\n\t\t\tif (isset($listingpro_options) \u0026\u0026 !empty($listingpro_options)) {\n\t\t\t\t$grid = '';\n\t\t\t\t$fLayout = lp_theme_option('footer_layout');\n\t\t\t\t$grid = $fLayout != \"\" ? $fLayout : '2-2-2-2-2-2';\n\t\t\t\tif (!empty($grid)) {\n\t\t\t\t\t$i = 1;\n\t\t\t\t\tforeach (explode('-', $grid) as $g) {\n\t\t\t\t\t\tregister_sidebar(array(\n\t\t\t\t\t\t\t'name' =\u003e esc_html__(\"Footer sidebar \", \"listingpro\") . $i,\n\t\t\t\t\t\t\t'id' =\u003e \"footer-sidebar-$i\",\n\t\t\t\t\t\t\t'description' =\u003e esc_html__('The footer sidebar widget area', 'listingpro'),\n\t\t\t\t\t\t\t'before_widget' =\u003e '\u003caside class=\"widget widgets %2$s\" id=\"%1$s\"\u003e',\n\t\t\t\t\t\t\t'after_widget' =\u003e '\u003c/aside\u003e',\n\t\t\t\t\t\t\t'before_title' =\u003e '\u003cdiv class=\"widget-title\"\u003e\u003ch2\u003e',\n\t\t\t\t\t\t\t'after_title' =\u003e '\u003c/h2\u003e\u003c/div\u003e',\n\n\t\t\t\t\t\t));\n\t\t\t\t\t\t$i++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t/* ============== shoaib end ============ */\n\t}\n}\nadd_action('widgets_init', 'listingpro_sidebar');\n\n/* ============== ListingPro Primary Logo ============ */\n\nif (!function_exists('listingpro_primary_logo')) {\n\n\tfunction listingpro_primary_logo()\n\t{\n\n\t\tglobal $listingpro_options;\n\t\t$lp_logo = isset($listingpro_options['primary_logo']) ? $listingpro_options['primary_logo'] : '';\n\t\t$lp_logo = $lp_logo['url'];\n\t\tif (!empty($lp_logo)) {\n\t\t\techo '\u003cimg src=\"' . $lp_logo . '\" alt=\"image\" /\u003e';\n\t\t} else {\n\t\t\techo get_option('blogname');\n\t\t}\n\t}\n}\n\n\n/* ============== ListingPro Seconday Logo ============ */\n\nif (!function_exists('listingpro_secondary_logo')) {\n\n\tfunction listingpro_secondary_logo()\n\t{\n\n\t\tglobal $listingpro_options;\n\t\t$lp_logo2  = isset($listingpro_options['seconday_logo']) ? $listingpro_options['seconday_logo'] : '';\n\t\t$lp_logo2 = $lp_logo2['url'];\n\t\tif (!empty($lp_logo2)) {\n\t\t\techo '\u003cimg src=\"' . $lp_logo2 . '\" alt=\"image\" /\u003e';\n\t\t} else {\n\t\t\techo get_option('blogname');\n\t\t}\n\t}\n}\n\n/* ============== ListingPro URL Settings ============ */\n\nif (!function_exists('listingpro_url')) {\n\n\tfunction listingpro_url($link)\n\t{\n\t\tglobal $listingpro_options;\n\t\tinclude_once(ABSPATH . 'wp-admin/includes/plugin.php');\n\t\tif (class_exists('ListingproPlugin')) {\n\t\t\t$url = '';\n\t\t\tif ($link == 'add_listing_url_mode') {\n\t\t\t\t//$url = $listingpro_options[$link];\n\t\t\t\t$paidmode = $listingpro_options['enable_paid_submission'];\n\t\t\t\tif ($paidmode == \"per_listing\" || $paidmode == \"membership\") {\n\t\t\t\t\t$url = $listingpro_options['pricing-plan'];\n\t\t\t\t} else {\n\t\t\t\t\t$url = $listingpro_options['submit-listing'];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (isset($listingpro_options[$link])) {\n\t\t\t\t\t$url = $listingpro_options[$link];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* for wpml compatibility */\n\t\t\t// if (defined('ICL_LANGUAGE_CODE')) {\n\t\t\t// \t$url = $url . '?lang=' . ICL_LANGUAGE_CODE;\n\t\t\t// }\n\t\t\t$pageID = url_to_postid($url);\n\t\t\tif ($pageID) {\n\t\t\t\t$url = get_permalink($pageID);\n\t\t\t}\n\n\t\t\treturn $url;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n/* ============== ListingPro translation ============ */\n\nif (!function_exists('listingpro_translation')) {\n\n\tfunction listingpro_translation($word)\n\t{\n\n\n\t\treturn $word;\n\t}\n}\n\n/* ============== ListingPro filter page pagination ============ */\n\nif (!function_exists('listingpro_load_more_filter')) {\n\n\tfunction listingpro_load_more_filter($my_query, $pageno = null, $sKeyword = '')\n\t{\n\n\t\t$output = '';\n\t\t$pages = '';\n\t\t$pages = $my_query-\u003emax_num_pages;\n\t\t$totalpages = $pages;\n\t\t$ajax_pagin_classes =   'pagination lp-filter-pagination-ajx';\n\t\tif (is_author()) {\n\t\t\t$ajax_pagin_classes =   '';\n\t\t}\n\t\tif (!empty($pages) \u0026\u0026 $pages \u003e 1) {\n\t\t\t$output .= '\u003cdiv class=\"lp-pagination ' . $ajax_pagin_classes . '\"\u003e';\n\t\t\t$output .= '\u003cul class=\"page-numbers\"\u003e';\n\t\t\t$n = 1;\n\t\t\t$flagAt = 7;\n\t\t\t$flagAt2 = 7;\n\t\t\t$flagOn = 0;\n\t\t\twhile ($pages \u003e 0) {\n\n\t\t\t\tif (isset($pageno) \u0026\u0026 !empty($pageno)) {\n\n\t\t\t\t\tif (!empty($totalpages) \u0026\u0026 $totalpages \u003c 7) {\n\t\t\t\t\t\tif ($pageno == $n) {\n\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink current\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t}\n\t\t\t\t\t} elseif (!empty($totalpages) \u0026\u0026 $totalpages \u003e 6) {\n\t\t\t\t\t\t$flagOn = $pageno - 5;\n\t\t\t\t\t\t$flagOn2 = $pageno + 7;\n\t\t\t\t\t\tif ($pageno == $n) {\n\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink current\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif ($n \u003c= 4) {\n\t\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t\t} elseif ($n \u003e 4 \u0026\u0026 $flagAt2 == 7) {\n\t\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\"  class=\"page-numbers\"\u003e...\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t\t\t$flagAt2 = 1;\n\t\t\t\t\t\t\t} elseif ($n \u003e 4  \u0026\u0026 $n \u003e= $flagOn \u0026\u0026 $n \u003c $flagOn2) {\n\t\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t\t} elseif ($n == $totalpages) {\n\t\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" class=\"page-numbers\"\u003e...\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-skeyword=\"' . $sKeyword . '\" data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\n\t\t\t\t\tif ($n == 1) {\n\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-pageurl=\"' . $n . '\"  class=\"page-numbers  haspaglink current\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t} else if ($n \u003c 7) {\n\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t} else if ($n \u003e 7 \u0026\u0026 $pages \u003e 7 \u0026\u0026 $flagAt == 7) {\n\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan  class=\"page-numbers\"\u003e...\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t\t$flagAt = 1;\n\t\t\t\t\t} else if ($n \u003e 7 \u0026\u0026 $pages \u003c 7 \u0026\u0026 $flagAt == 1) {\n\t\t\t\t\t\t$output .= '\u003cli\u003e\u003cspan data-pageurl=\"' . $n . '\"  class=\"page-numbers haspaglink\"\u003e' . $n . '\u003c/span\u003e\u003c/li\u003e';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t$pages--;\n\t\t\t\t$n++;\n\t\t\t\t$output .= '\u003c/li\u003e';\n\t\t\t}\n\t\t\t$output .= '\u003c/ul\u003e';\n\t\t\t$output .= '\u003c/div\u003e';\n\t\t}\n\n\n\t\treturn $output;\n\t}\n}\n\n\n/* ============== ListingPro Infinite load ============ */\n\nif (!function_exists('listingpro_load_more')) {\n\n\tfunction listingpro_load_more($wp_query)\n\t{\n\t\t$pages = $wp_query-\u003emax_num_pages;\n\t\t$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;\n\n\t\tif (empty($pages)) {\n\t\t\t$pages = 1;\n\t\t}\n\n\t\tif (1 != $pages) {\n\n\t\t\t$big = 9999; // need an unlikely integer\n\t\t\techo \"\n\t\t\t\t\u003cdiv class='lp-pagination pagination lp-filter-pagination'\u003e\";\n\n\t\t\t$pagination = paginate_links(\n\t\t\t\tarray(\n\t\t\t\t\t'base' =\u003e str_replace($big, '%#%', esc_url(get_pagenum_link($big))),\n\t\t\t\t\t'end_size' =\u003e 3,\n\t\t\t\t\t'mid_size' =\u003e 6,\n\t\t\t\t\t'format' =\u003e '?paged=%#%',\n\t\t\t\t\t'current' =\u003e max(1, get_query_var('paged')),\n\t\t\t\t\t'total' =\u003e $wp_query-\u003emax_num_pages,\n\t\t\t\t\t'type' =\u003e 'list',\n\t\t\t\t\t'prev_text' =\u003e __('\u0026laquo;', 'listingpro'),\n\t\t\t\t\t'next_text' =\u003e __('\u0026raquo;', 'listingpro'),\n\t\t\t\t)\n\t\t\t);\n\t\t\techo wp_kses_post($pagination);\n\t\t\techo \"\u003c/div\u003e\";\n\t\t}\n\t}\n}\n\n\n/* ============== ListingPro Icon8 base64 Icons ============ */\n\nif (!function_exists('listingpro_icons')) {\n\n\tfunction listingpro_icons($icons)\n\t{\n\t\t$colors = new listingproIcons();\n\t\t$icon = '';\n\t\tif ($icons != '') {\n\t\t\t$iconsrc = $colors-\u003elistingpro_icon($icons);\n\t\t\t$icon = '\u003cimg class=\"icon icons8-' . $icons . '\" src=\"' . $iconsrc . '\" alt=\"' . $icons . '\"\u003e';\n\t\t\treturn $icon;\n\t\t} else {\n\t\t\treturn $icon;\n\t\t}\n\t}\n}\n\n/* ============== ListingPro Icon8 base64 Icons url ============ */\n\nif (!function_exists('listingpro_icons_url')) {\n\tfunction listingpro_icons_url($icons)\n\t{\n\t\t$colors = new listingproIcons();\n\t\t$icon = '';\n\t\tif ($icons != '') {\n\t\t\t$iconsrc = $colors-\u003elistingpro_icon($icons);\n\t\t\treturn $iconsrc;\n\t\t} else {\n\t\t\treturn $iconsrc;\n\t\t}\n\t}\n}\n\n\n/* ============== ListingPro Search Filter ============ */\n\nif (!function_exists('listingpro_searchFilter')) {\n\n\n\tfunction listingpro_searchFilter()\n\t{\n\t\tglobal $wp_post_types;\n\t\t$wp_post_types['page']-\u003eexclude_from_search = true;\n\t}\n\tadd_action('init', 'listingpro_searchFilter');\n}\n\n\n/* ============== ListingPro Price Dynesty Text============ */\n\nif (!function_exists('listingpro_price_dynesty_text')) {\n\tfunction listingpro_price_dynesty_text($postid)\n\t{\n\t\t$output = null;\n\t\tif (!empty($postid)) {\n\t\t\t$priceRange = listing_get_metabox_by_ID('price_status', $postid);\n\t\t\t//$listingptext = listing_get_metabox('list_price_text');\n\t\t\t$listingprice = listing_get_metabox_by_ID('list_price', $postid);\n\t\t\tif (!empty($priceRange) \u0026\u0026 !empty($listingprice)) {\n\t\t\t\t$output .= '\n\t\t\t\t\t\u003cspan class=\"element-price-range list-style-none\"\u003e';\n\t\t\t\t$dollars = '';\n\t\t\t\t$tip = '';\n\t\t\t\tif ($priceRange == 'notsay') {\n\t\t\t\t\t$dollars = '';\n\t\t\t\t\t$tip = '';\n\t\t\t\t} elseif ($priceRange == 'inexpensive') {\n\t\t\t\t\t$dollars = '1';\n\t\t\t\t\t$tip = esc_html__('Inexpensive', 'listingpro');\n\t\t\t\t} elseif ($priceRange == 'moderate') {\n\t\t\t\t\t$dollars = '2';\n\t\t\t\t\t$tip = esc_html__('Moderate', 'listingpro');\n\t\t\t\t} elseif ($priceRange == 'pricey') {\n\t\t\t\t\t$dollars = '3';\n\t\t\t\t\t$tip = esc_html__('Pricey', 'listingpro');\n\t\t\t\t} elseif ($priceRange == 'ultra_high_end') {\n\t\t\t\t\t$dollars = '4';\n\t\t\t\t\t$tip = esc_html__('Ultra High End', 'listingpro');\n\t\t\t\t}\n\t\t\t\tglobal $listingpro_options;\n\t\t\t\t$lp_priceSymbol  = isset($listingpro_options['listing_pricerange_symbol']) ? $listingpro_options['listing_pricerange_symbol'] : '';\n\t\t\t\tif ($priceRange != 'notsay') {\n\t\t\t\t\t$output .= '\u003cspan class=\"grayscale simptip-position-top simptip-movable\" data-tooltip=\"' . $tip . '\"\u003e';\n\t\t\t\t\tfor ($i = 0; $i \u003c $dollars; $i++) {\n\t\t\t\t\t\t$output .= $lp_priceSymbol;\n\t\t\t\t\t}\n\t\t\t\t\t$output .= '\u003c/span\u003e';\n\t\t\t\t}\n\t\t\t\t$output .= '\n\t\t\t\t\t\u003c/span\u003e';\n\t\t\t}\n\t\t}\n\t\treturn $output;\n\t}\n}\n\n/* ============== ListingPro Price Dynesty ============ */\n\nif (!function_exists('listingpro_price_dynesty')) {\n\tfunction listingpro_price_dynesty($postid)\n\t{\n\t\tif (!empty($postid)) {\n\t\t\t$priceRange = listing_get_metabox_by_ID('price_status', $postid);\n\t\t\t$listingpTo = listing_get_metabox('list_price_to');\n\t\t\t$listingprice = listing_get_metabox_by_ID('list_price', $postid);\n\t\t\tif (($priceRange != 'notsay' \u0026\u0026 !empty($priceRange)) || !empty($listingpTo) || !empty($listingprice)) {\n?\u003e\n\t\t\t\t\u003cdiv class=\"post-row price-range\"\u003e\n\t\t\t\t\t\u003cul class=\"list-style-none post-price-row line-height-16\"\u003e\n\t\t\t\t\t\t\u003c?php if ($priceRange != 'notsay' \u0026\u0026 !empty($priceRange)) { ?\u003e\n\t\t\t\t\t\t\t\u003cli class=\"grayscale-dollar\"\u003e\n\t\t\t\t\t\t\t\t\u003c?php\n\t\t\t\t\t\t\t\t$dollars = '';\n\t\t\t\t\t\t\t\t$tip = '';\n\t\t\t\t\t\t\t\tif ($priceRange == 'notsay') {\n\t\t\t\t\t\t\t\t\t$dollars = '';\n\t\t\t\t\t\t\t\t\t$tip = '';\n\t\t\t\t\t\t\t\t} elseif ($priceRange == 'inexpensive') {\n\t\t\t\t\t\t\t\t\t$dollars = '1';\n\t\t\t\t\t\t\t\t\t$tip = esc_html__('Inexpensive', 'listingpro');\n\t\t\t\t\t\t\t\t} elseif ($priceRange == 'moderate') {\n\t\t\t\t\t\t\t\t\t$dollars = '2';\n\t\t\t\t\t\t\t\t\t$tip = esc_html__('Moderate', 'listingpro');\n\t\t\t\t\t\t\t\t} elseif ($priceRange == 'pricey') {\n\t\t\t\t\t\t\t\t\t$dollars = '3';\n\t\t\t\t\t\t\t\t\t$tip = esc_html__('Pricey', 'listingpro');\n\t\t\t\t\t\t\t\t} elseif ($priceRange == 'ultra_high_end') {\n\t\t\t\t\t\t\t\t\t$dollars = '4';\n\t\t\t\t\t\t\t\t\t$tip = esc_html__('Ultra High End', 'listingpro');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tglobal $listingpro_options;\n\t\t\t\t\t\t\t\t$lp_priceSymbol  = isset($listingpro_options['listing_pricerange_symbol']) ? $listingpro_options['listing_pricerange_symbol'] : '';\n\n\n\t\t\t\t\t\t\t\techo '\u003cspan class=\"simptip-position-top simptip-movable\" data-tooltip=\"' . $tip . '\"\u003e';\n\t\t\t\t\t\t\t\techo '\u003cspan class=\"active\"\u003e';\n\t\t\t\t\t\t\t\tfor ($i = 0; $i \u003c $dollars; $i++) {\n\t\t\t\t\t\t\t\t\techo wp_kses_post($lp_priceSymbol);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\techo '\u003c/span\u003e';\n\n\t\t\t\t\t\t\t\techo '\u003cspan class=\"grayscale\"\u003e';\n\t\t\t\t\t\t\t\t$greyDollar = 4 - (float) $dollars;\n\t\t\t\t\t\t\t\tfor ($i = 1; $i \u003c= $greyDollar; $i++) {\n\t\t\t\t\t\t\t\t\techo wp_kses_post($lp_priceSymbol);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\techo '\u003c/span\u003e';\n\t\t\t\t\t\t\t\techo '\u003c/span\u003e';\n\n\t\t\t\t\t\t\t\t?\u003e\n\t\t\t\t\t\t\t\u003c/li\u003e\n\t\t\t\t\t\t\u003c?php\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!empty($listingpTo) || !empty($listingprice)) {\n\t\t\t\t\t\t?\u003e\n\t\t\t\t\t\t\t\u003cli\u003e\n\t\t\t\t\t\t\t\t\u003cspan class=\"post-rice\"\u003e\n\t\t\t\t\t\t\t\t\t\u003cspan class=\"text\"\u003e\n\t\t\t\t\t\t\t\t\t\t\u003c?php echo esc_html__('Price Range', 'listingpro'); ?\u003e\n\t\t\t\t\t\t\t\t\t\u003c/span\u003e\n\t\t\t\t\t\t\t\t\t\u003c?php\n\n\t\t\t\t\t\t\t\t\tif (!empty($listingprice)) {\n\t\t\t\t\t\t\t\t\t\techo esc_html($listingprice);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (!empty($listingpTo)) {\n\t\t\t\t\t\t\t\t\t\techo ' - ';\n\t\t\t\t\t\t\t\t\t\techo esc_html($listingpTo);\n\t\t\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t\t\t\t?\u003e\n\t\t\t\t\t\t\t\t\u003c/span\u003e\n\t\t\t\t\t\t\t\u003c/li\u003e\n\t\t\t\t\t\t\u003c?php\n\t\t\t\t\t\t}\n\t\t\t\t\t\t?\u003e\n\t\t\t\t\t\u003c/ul\u003e\n\t\t\t\t\u003c/div\u003e\n\t\t\u003c?php\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* ============== ListingPro email and  callbacks ============ */\nif (!function_exists('listingpro_mail_from')) {\n\tfunction listingpro_mail_from($old)\n\t{\n\n\t\t$mailFrom = null;\n\t\tif (class_exists('Redux')) {\n\t\t\tglobal $listingpro_options;\n\t\t\t$mailFrom = $listingpro_options['listingpro_general_email_address'];\n\t\t} else {\n\t\t\t$mailFrom = get_option('admin_email');\n\t\t}\n\t\treturn $mailFrom;\n\t}\n}\n\nif (!function_exists('listingpro_mail_from_name')) {\n\tfunction listingpro_mail_from_name($old)\n\t{\n\n\t\t$mailFromName = null;\n\t\tif (class_exists('Redux')) {\n\t\t\tglobal $listingpro_options;\n\t\t\t$mailFromName = $listingpro_options['listingpro_general_email_from'];\n\t\t} else {\n\t\t\t$mailFromName = get_option('blogname');\n\t\t}\n\t\treturn $mailFromName;\n\t}\n}\n\n/* ============== email html support ============ */\nif (!function_exists('listingpro_set_content_type')) {\n\tadd_filter('wp_mail_content_type', 'listingpro_set_content_type');\n\tfunction listingpro_set_content_type($content_type)\n\t{\n\t\treturn 'text/html';\n\t}\n}\n\n/* ==================textarea to editor============= */\n\nif (!function_exists('get_textarea_as_editor')) {\n\tfunction get_textarea_as_editor($editor_id, $editor_name, $pcontent)\n\t{\n\t\t$content = $pcontent;\n\t\t$settings = array(\n\t\t\t'wpautop' =\u003e true,\n\t\t\t'textarea_name' =\u003e $editor_name,\n\t\t\t'textarea_rows' =\u003e 8,\n\t\t\t'media_buttons' =\u003e false,\n\t\t\t'tinymce' =\u003e array(\n\t\t\t\t'theme_advanced_buttons1' =\u003e '',\n\t\t\t\t'theme_advanced_buttons2' =\u003e false,\n\t\t\t\t'theme_advanced_buttons3' =\u003e false,\n\t\t\t\t'theme_advanced_buttons4' =\u003e false,\n\t\t\t),\n\t\t\t'quicktags' =\u003e false,\n\t\t);\n\t\tob_start();\n\t\twp_editor($content, $editor_id, $settings);\n\t\t$output = ob_get_contents();\n\t\tob_end_clean();\n\t\tob_flush();\n\t\treturn $output;\n\t}\n}\n\n/* ================= button in editor=========== */\n\nadd_filter('tiny_mce_before_init', 'lp_format_TinyMCE');\nif (!function_exists('lp_format_TinyMCE')) {\n\tfunction lp_format_TinyMCE($in)\n\t{\n\t\tif (!is_admin()) {\n\t\t\t$in['toolbar'] = 'formatselect,|,bold,italic,underline,|,' .\n\t\t\t\t'bullist,numlist,blockquote,|,alignjustify' .\n\t\t\t\t',|,link,unlink,|' .\n\t\t\t\t',spellchecker,';\n\t\t\t$in['toolbar1'] = '';\n\t\t\t$in['toolbar2'] = '';\n\t\t\treturn $in;\n\t\t} else {\n\t\t\treturn $in;\n\t\t}\n\t}\n}\n\n/* ============== Listingpro term Exist ============ */\n\nif (!function_exists('listingpro_term_exist')) {\n\tfunction listingpro_term_exist($name, $taxonomy)\n\t{\n\t\t$term = term_exists($name, $taxonomy);\n\t\tif (!empty($term)) {\n\t\t\treturn $term;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t}\n}\n\n/* ============== Listingpro add new term ============ */\n\nif (!function_exists('listingpro_insert_term')) {\n\tfunction listingpro_insert_term($name, $taxonomy)\n\t{\n\t\tif (!taxonomy_exists($taxonomy)) {\n\t\t\treturn 0;\n\t\t} else {\n\t\t\t$term = term_exists($name, $taxonomy);\n\t\t\tif (!empty($term)) {\n\t\t\t\treturn 0;\n\t\t\t} else {\n\t\t\t\t$loc = wp_insert_term($name, $taxonomy);\n\t\t\t\tif (is_wp_error($loc)) {\n\t\t\t\t\treturn 0;\n\t\t\t\t} else {\n\t\t\t\t\treturn $loc;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\nif (!function_exists('listingpro_get_campaigns_listing_sidebar')) {\n\tfunction listingpro_get_campaigns_listing_sidebar($campaign_type, $IDSonly, $taxQuery = array(), $searchQuery = array(), $priceQuery = array(), $s = null, $noOfListings = null, $posts_in = null)\n\t{\n\t\t$Clistingid =  '';\n\t\tif (is_singular('listing')) {\n\t\t\tglobal $post;\n\t\t\t$Clistingid = $post-\u003eID;\n\t\t}\n\t\tglobal $listingpro_options;\n\t\t$listing_mobile_view = $listingpro_options['single_listing_mobile_view'];\n\t\t$adsType = array(\n\t\t\t'lp_random_ads',\n\t\t\t'lp_detail_page_ads',\n\t\t\t'lp_top_in_search_page_ads'\n\t\t);\n\t\tglobal $listingpro_options;\n\t\t$listing_style = '';\n\t\t$listing_style = $listingpro_options['listing_style'];\n\t\t$postNumber = '';\n\t\tif ($listing_style == '3' \u0026\u0026 !is_front_page()) {\n\t\t\tif (empty($noOfListings)) {\n\t\t\t\t$postNumber = 2;\n\t\t\t} else {\n\t\t\t\t$postNumber = $noOfListings;\n\t\t\t}\n\t\t} elseif ($listing_style == '4' \u0026\u0026 !is_front_page()) {\n\t\t\tif (empty($noOfListings)) {\n\t\t\t\t$postNumber = 2;\n\t\t\t} else {\n\t\t\t\t$postNumber = $noOfListings;\n\t\t\t}\n\t\t} else {\n\t\t\tif (empty($noOfListings)) {\n\t\t\t\t$postNumber = 3;\n\t\t\t} else {\n\t\t\t\t$postNumber = $noOfListings;\n\t\t\t}\n\t\t}\n\t\tif (!empty($campaign_type)) {\n\t\t\tif (in_array($campaign_type, $adsType, true)) {\n\t\t\t\t$TxQuery = array();\n\t\t\t\tif (!empty($taxQuery) \u0026\u0026 is_array($taxQuery)) {\n\t\t\t\t\t$TxQuery = $taxQuery;\n\t\t\t\t} elseif (!empty($searchQuery) \u0026\u0026 is_array($searchQuery)) {\n\t\t\t\t\t$TxQuery = $searchQuery;\n\t\t\t\t}\n\t\t\t\t$args_ads = array(\n\t\t\t\t\t'orderby' =\u003e 'rand',\n\t\t\t\t\t'post_type' =\u003e 'lp-ads',\n\t\t\t\t\t'post_status' =\u003e 'publish',\n\t\t\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t\t\t//\t\t\t\t\t\t'tax_query' =\u003e $TxQuery,\n\t\t\t\t\t'meta_query' =\u003e array(\n\t\t\t\t\t\t'relation' =\u003e 'AND',\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t'key'   =\u003e 'lp_listingpro_options',\n\t\t\t\t\t\t\t'value'  =\u003e 'lp_detail_page_ads',\n\t\t\t\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t//\t\t\t\t\t\t\t$priceQuery\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\t$tehe_query = new WP_Query($args_ads);\n\t\t\t\t$adsidsArray = array();\n\t\t\t\tif ($tehe_query-\u003ehave_posts()) {\n\t\t\t\t\twhile ($tehe_query-\u003ehave_posts()) {\n\t\t\t\t\t\t$tehe_query-\u003ethe_post();\n\t\t\t\t\t\t//$idsArray[] = get_the_ID();\n\t\t\t\t\t\t$listing_ad_id = listing_get_metabox_by_ID('ads_listing', get_the_ID());\n\t\t\t\t\t\t$status = get_post_meta($listing_ad_id, 'campaign_status')[0];\n\t\t\t\t\t\tif ($status === 'active' \u0026\u0026 $listing_ad_id != $Clistingid) {\n\t\t\t\t\t\t\t$adsidsArray[] = $listing_ad_id;\n\t\t\t\t\t\t}\n\t\t\t\t\t\twp_reset_postdata();\n\t\t\t\t\t\tif (count($adsidsArray) == $postNumber) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$args = array(\n\t\t\t\t\t'orderby' =\u003e 'rand',\n\t\t\t\t\t'post_type' =\u003e 'listing',\n\t\t\t\t\t'post_status' =\u003e 'publish',\n\t\t\t\t\t'post__not_in'\t=\u003e array($Clistingid),\n\t\t\t\t);\n\t\t\t\tif (count($adsidsArray) \u003e 0) {\n\t\t\t\t\t$args['post__in'] = $adsidsArray;\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$idsArray = array();\n\t\t\t\t$the_query = new WP_Query($args);\n\t\t\t\tif ($the_query-\u003ehave_posts()) {\n\t\t\t\t\twhile ($the_query-\u003ehave_posts()) {\n\t\t\t\t\t\t$the_query-\u003ethe_post();\n\t\t\t\t\t\t//$idsArray[] = get_the_ID();\n\t\t\t\t\t\tif (in_array(get_the_ID(), $adsidsArray)) {\n\t\t\t\t\t\t\tget_template_part('templates/details-page-ads');\n\t\t\t\t\t\t}\n\t\t\t\t\t\twp_reset_postdata();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* ============== Listingpro compaigns ============ */\nif (!function_exists('listingpro_get_campaigns_listing')) {\n\tfunction listingpro_get_campaigns_listing($campaign_type, $IDSonly, $taxQuery = array(), $searchQuery = array(), $priceQuery = array(), $s = null, $noOfListings = null, $posts_in = null)\n\t{\n\t\tglobal $lp_ad_ids;\n\t\t$Clistingid =   '';\n\t\tif (is_singular('listing')) {\n\t\t\tglobal $post;\n\t\t\t$Clistingid = $post-\u003eID;\n\t\t}\n\t\tglobal $listingpro_options;\n\t\t$listing_mobile_view = $listingpro_options['single_listing_mobile_view'];\n\n\t\t$adsType = array(\n\t\t\t'lp_random_ads',\n\t\t\t'lp_detail_page_ads',\n\t\t\t'lp_top_in_search_page_ads'\n\t\t);\n\n\t\tglobal $listingpro_options;\n\t\t$listing_style = '';\n\t\t$listing_style = $listingpro_options['listing_style'];\n\t\t$postNumber = '';\n\t\tif ($listing_style == '3' \u0026\u0026 !is_front_page()) {\n\t\t\tif (empty($noOfListings)) {\n\t\t\t\t$postNumber = 2;\n\t\t\t} else {\n\t\t\t\t$postNumber = $noOfListings;\n\t\t\t}\n\t\t} elseif ($listing_style == '4' \u0026\u0026 !is_front_page()) {\n\t\t\tif (empty($noOfListings)) {\n\t\t\t\t$postNumber = 2;\n\t\t\t} else {\n\t\t\t\t$postNumber = $noOfListings;\n\t\t\t}\n\t\t} else {\n\t\t\tif (empty($noOfListings)) {\n\t\t\t\t$postNumber = 3;\n\t\t\t} else {\n\t\t\t\t$postNumber = $noOfListings;\n\t\t\t}\n\t\t}\n\n\t\tif (is_front_page()) {\n\t\t\t$listing_campaign_status = array(\n\t\t\t\t'key'     =\u003e 'lp_random_ads',\n\t\t\t\t'value'   =\u003e 'active',\n\t\t\t\t'compare' =\u003e '=',\n\t\t\t);\n\t\t} else if (is_singular('listing')) {\n\t\t\t$listing_campaign_status = array(\n\t\t\t\t'key'     =\u003e 'lp_detail_page_ads',\n\t\t\t\t'value'   =\u003e 'active',\n\t\t\t\t'compare' =\u003e '=',\n\t\t\t);\n\t\t} else {\n\t\t\t$listing_campaign_status = array(\n\t\t\t\t'key'     =\u003e 'lp_top_in_search_page_ads',\n\t\t\t\t'value'   =\u003e 'active',\n\t\t\t\t'compare' =\u003e '=',\n\t\t\t);\n\t\t}\n\n\t\tif (!empty($campaign_type)) {\n\t\t\tif (in_array($campaign_type, $adsType, true)) {\n\n\t\t\t\t$TxQuery = array();\n\t\t\t\tif (!empty($taxQuery) \u0026\u0026 is_array($taxQuery)) {\n\t\t\t\t\t$TxQuery = $taxQuery;\n\t\t\t\t} elseif (!empty($searchQuery) \u0026\u0026 is_array($searchQuery)) {\n\t\t\t\t\t$TxQuery = $searchQuery;\n\t\t\t\t}\n\t\t\t\t$args = array(\n\t\t\t\t\t'orderby' =\u003e 'rand',\n\t\t\t\t\t'post_type' =\u003e 'listing',\n\t\t\t\t\t'post_status' =\u003e 'publish',\n\t\t\t\t\t'posts_per_page' =\u003e $postNumber,\n\t\t\t\t\t'post__not_in'\t=\u003e array($Clistingid),\n\t\t\t\t\t'tax_query' =\u003e $TxQuery,\n\t\t\t\t\t'meta_query' =\u003e array(\n\t\t\t\t\t\t'relation' =\u003e 'AND',\n\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t'key'     =\u003e 'campaign_status',\n\t\t\t\t\t\t\t'value'   =\u003e array('active'),\n\t\t\t\t\t\t\t'compare' =\u003e 'IN',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t$priceQuery,\n\t\t\t\t\t\t$listing_campaign_status\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t\tif (!empty($s)) {\n\t\t\t\t\t$args = array(\n\t\t\t\t\t\t'orderby' =\u003e 'rand',\n\t\t\t\t\t\t'post_type' =\u003e 'listing',\n\t\t\t\t\t\t'post_status' =\u003e 'publish',\n\t\t\t\t\t\t's' =\u003e $s,\n\t\t\t\t\t\t'posts_per_page' =\u003e $postNumber,\n\t\t\t\t\t\t'tax_query' =\u003e $TxQuery,\n\t\t\t\t\t\t'meta_query' =\u003e array(\n\t\t\t\t\t\t\t'relation' =\u003e 'AND',\n\t\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t\t'key'     =\u003e 'campaign_status',\n\t\t\t\t\t\t\t\t'value'   =\u003e array('active'),\n\t\t\t\t\t\t\t\t'compare' =\u003e 'IN',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t$priceQuery,\n\t\t\t\t\t\t\t$listing_campaign_status\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!empty($posts_in)) {\n\t\t\t\t\t$args['post__in'] = $posts_in;\n\t\t\t\t}\n\n\t\t\t\t$idsArray = array();\n\t\t\t\t$lp_ad_ids = array();\n\t\t\t\t$the_query = new WP_Query($args);\n\t\t\t\tif ($the_query-\u003ehave_posts()) {\n\t\t\t\t\twhile ($the_query-\u003ehave_posts()) {\n\t\t\t\t\t\t$the_query-\u003ethe_post();\n\t\t\t\t\t\t$lp_ad_ids[] =  get_the_ID();\n\t\t\t\t\t\tif ($IDSonly == true) {\n\t\t\t\t\t\t\t$idsArray[] =  get_the_ID();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (is_singular('listing')) {\n\t\t\t\t\t\t\t\tif ($listing_mobile_view == 'app_view' \u0026\u0026 wp_is_mobile()) {\n\t\t\t\t\t\t\t\t\techo  '\u003cdiv class=\"row app-view-ads lp-row-app\"\u003e';\n\t\t\t\t\t\t\t\t\tget_template_part('mobile/listing-loop-app-view');\n\t\t\t\t\t\t\t\t\techo '\u003c/div\u003e';\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tget_template_part('templates/details-page-ads');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} elseif ((is_page()  || is_home() || is_singular('post')) \u0026\u0026  (is_active_sidebar('default-sidebar') || is_active_sidebar('listing_archive_sidebar'))) {\n\t\t\t\t\t\t\t\tget_template_part('templates/details-page-ads');\n\t\t\t\t\t\t\t} elseif (is_singular('post')) {\n\t\t\t\t\t\t\t\tget_template_part('templates/details-page-ads');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$listing_mobile_view = isset($listingpro_options['single_listing_mobile_view']) ? $listingpro_options['single_listing_mobile_view'] : '';\n\t\t\t\t\t\t\t\tif ($listing_mobile_view == 'app_view' \u0026\u0026 wp_is_mobile()) {\n\t\t\t\t\t\t\t\t\tget_template_part('mobile/listing-loop-app-view');\n\t\t\t\t\t\t\t\t} elseif ($listing_mobile_view == 'app_view2' \u0026\u0026 wp_is_mobile()) {\n\t\t\t\t\t\t\t\t\tget_template_part('mobile/listing-loop-app-view-adds');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (isset($GLOBALS['sidebar_add_loop']) \u0026\u0026 $GLOBALS['sidebar_add_loop'] == 'yes') {\n\t\t\t\t\t\t\t\t\t\tget_template_part('templates/details-page-ads');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tget_template_part('listing-loop');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twp_reset_postdata();\n\t\t\t\t\t}\n\t\t\t\t\tif ($IDSonly == true) {\n\t\t\t\t\t\tif (!empty($idsArray)) {\n\t\t\t\t\t\t\treturn $idsArray;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* ============== Listingpro Sharing ============ */\nif (!function_exists('listingpro_sharing')) {\n\tfunction listingpro_sharing()\n\t{\n\t\t?\u003e\n\t\t\u003ca class=\"reviews-quantity\"\u003e\n\t\t\t\u003cspan class=\"reviews-stars\"\u003e\n\t\t\t\t\u003ci class=\"fa fa-share-alt\"\u003e\u003c/i\u003e\n\t\t\t\u003c/span\u003e\n\t\t\t\u003c?php echo esc_html__('Share', 'listingpro'); ?\u003e\n\t\t\u003c/a\u003e\n\t\t\u003cdiv class=\"md-overlay hide\"\u003e\u003c/div\u003e\n\t\t\u003cul class=\"social-icons post-socials smenu\"\u003e\n\t\t\t\u003cli\u003e\n\t\t\t\t\u003ca href=\"\u003c?php echo listingpro_social_sharing_buttons('facebook'); ?\u003e\" target=\"_blank\"\u003e\n\t\t\t\t\t\u003c!-- Facebook icon by Icons8 --\u003e\n\t\t\t\t\t\u003ci class=\"fa fa-facebook\"\u003e\u003c/i\u003e\n\t\t\t\t\u003c/a\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003e\n\t\t\t\t\u003ca href=\"\u003c?php echo listingpro_social_sharing_buttons('twitter'); ?\u003e\" target=\"_blank\"\u003e\n\t\t\t\t\t\u003c!-- twitter icon by Icons8 --\u003e\n\t\t\t\t\t\u003ci class=\"fa-brands fa-square-x-twitter\"\u003e\u003c/i\u003e\n\t\t\t\t\u003c/a\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003e\n\t\t\t\t\u003ca href=\"\u003c?php echo listingpro_social_sharing_buttons('linkedin'); ?\u003e\" target=\"_blank\"\u003e\n\t\t\t\t\t\u003c!-- linkedin icon by Icons8 --\u003e\n\t\t\t\t\t\u003ci class=\"fa fa-linkedin\"\u003e\u003c/i\u003e\n\t\t\t\t\u003c/a\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003e\n\t\t\t\t\u003ca href=\"\u003c?php echo listingpro_social_sharing_buttons('pinterest'); ?\u003e\" target=\"_blank\"\u003e\n\t\t\t\t\t\u003c!-- pinterest icon by Icons8 --\u003e\n\t\t\t\t\t\u003ci class=\"fa fa-pinterest\"\u003e\u003c/i\u003e\n\t\t\t\t\u003c/a\u003e\n\t\t\t\u003c/li\u003e\n\t\t\t\u003cli\u003e\n\t\t\t\t\u003ca href=\"\u003c?php echo listingpro_social_sharing_buttons('reddit'); ?\u003e\" target=\"_blank\"\u003e\n\t\t\t\t\t\u003c!-- reddit icon by Icons8 --\u003e\n\t\t\t\t\t\u003ci class=\"fa fa-reddit\"\u003e\u003c/i\u003e\n\t\t\t\t\u003c/a\u003e\n\t\t\t\u003c/li\u003e\n\t\t\u003c/ul\u003e\n\t\t\u003c?php\n\t}\n}\n\n/* Post Views */\n\nif (!function_exists('getPostViews')) {\n\tfunction getPostViews($postID)\n\t{\n\t\t$count_key = 'post_views_count';\n\t\t$count = get_post_meta($postID, $count_key, true);\n\t\tif ($count == '' || $count == '0') {\n\t\t\tdelete_post_meta($postID, $count_key);\n\t\t\tadd_post_meta($postID, $count_key, '0');\n\t\t\treturn esc_html__('0 View', 'listingpro');\n\t\t} else {\n\t\t\tif (!empty($count)) {\n\t\t\t\tif ($count == \"1\") {\n\t\t\t\t\treturn $count . esc_html__(' View', 'listingpro');\n\t\t\t\t} else {\n\t\t\t\t\treturn $count . esc_html__(' Views', 'listingpro');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn $count . esc_html__('0 View', 'listingpro');\n\t\t\t}\n\t\t}\n\t}\n}\n\n// function to count views.\nif (!function_exists('setPostViews')) {\n\tfunction setPostViews($postID)\n\t{\n\t\t$currID = get_current_user_id();\n\t\t$authorID = get_post_field('post_author', $postID);\n\t\tif ($authorID != $currID) {\n\t\t\t$count_key = 'post_views_count';\n\t\t\t$count = get_post_meta($postID, $count_key, true);\n\t\t\tif ($count == '') {\n\t\t\t\t$count = 0;\n\t\t\t\tdelete_post_meta($postID, $count_key);\n\t\t\t\tadd_post_meta($postID, $count_key, '0');\n\t\t\t} else {\n\t\t\t\t$count++;\n\t\t\t\tupdate_post_meta($postID, $count_key, $count);\n\t\t\t}\n\t\t} else {\n\n\t\t\t$count_key = 'post_views_count';\n\t\t\t$count = get_post_meta($postID, $count_key, true);\n\t\t\tif ($count == '' || empty($count)) {\n\t\t\t\t$count = 0;\n\t\t\t\tdelete_post_meta($postID, $count_key);\n\t\t\t\tadd_post_meta($postID, $count_key, '0');\n\t\t\t}\n\t\t}\n\t}\n}\n\n// function to get all post meta value by keys\nif (!function_exists('getMetaValuesByKey')) {\n\tfunction getMetaValuesByKey($key)\n\t{\n\t\tglobal $wpdb;\n\t\t$metaVal = $wpdb-\u003eget_col(\"SELECT meta_value\n\t\tFROM $wpdb-\u003epostmeta WHERE meta_key = '$key'\");\n\t\treturn $metaVal;\n\t}\n}\n\n// function to get total views\nif (!function_exists('getTotalPostsViews')) {\n\tfunction getTotalPostsViews()\n\t{\n\t\t$totalCount = 0;\n\t\t$totalArray = getMetaValuesByKey('post_views_count');\n\t\tif (!empty($totalArray) \u0026\u0026 is_array($totalArray)) {\n\t\t\tforeach ($totalArray as $count) {\n\t\t\t\t$totalCount = $totalCount + $count;\n\t\t\t}\n\t\t}\n\t\treturn $totalCount;\n\t}\n}\n\n// function to get author listing total views\nif (!function_exists('getAuthorPostsViews')) {\n\tfunction getAuthorPostsViews()\n\t{\n\t\t$count = 0;\n\t\t$current_user = wp_get_current_user();\n\t\t$user_id = $current_user-\u003eID;\n\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'listing',\n\t\t\t'author' =\u003e $user_id,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'posts_per_page' =\u003e -1\n\t\t);\n\t\t$the_query = new WP_Query($args);\n\t\tif ($the_query-\u003ehave_posts()) {\n\t\t\twhile ($the_query-\u003ehave_posts()) {\n\t\t\t\t$the_query-\u003ethe_post();\n\t\t\t\t$n = get_post_meta(get_the_ID(), 'post_views_count', true);\n\t\t\t\t$count = $count + (int)$n;\n\t\t\t}\n\t\t\twp_reset_postdata();\n\t\t}\n\t\treturn $count;\n\t}\n}\n\n// function to get author listing total reviews\nif (!function_exists('getAuthorTotalViews')) {\n\tfunction getAuthorTotalViews()\n\t{\n\t\t$count = 0;\n\t\t$review_ids = '';\n\t\t$result = array();\n\t\t$review_new = array();\n\t\t$current_user = wp_get_current_user();\n\t\t$user_id = $current_user-\u003eID;\n\t\t$review_ids = array();\n\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'listing',\n\t\t\t'author' =\u003e $user_id,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'posts_per_page' =\u003e -1\n\t\t);\n\t\t$the_query = new WP_Query($args);\n\t\tif ($the_query-\u003ehave_posts()) {\n\t\t\twhile ($the_query-\u003ehave_posts()) {\n\t\t\t\t$the_query-\u003ethe_post();\n\t\t\t\t$key = 'reviews_ids';\n\t\t\t\t$review_idss = listing_get_metabox_by_ID($key, get_the_ID());\n\n\t\t\t\tif (!empty($review_idss)) {\n\t\t\t\t\tif (strpos($review_idss, \",\") !== false) {\n\t\t\t\t\t\t$review_ids = explode(',', $review_idss);\n\t\t\t\t\t\t$result = array_merge($result, $review_ids);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$result[] = $review_idss;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\twp_reset_postdata();\n\t\t\t$count = $count + count($result);\n\t\t}\n\t\treturn $count;\n\t}\n}\n\n//function to get all reviews in array on author's posts\nif (!function_exists('getAllReviewsArray')) {\n\tfunction getAllReviewsArray($submitted = false)\n\t{\n\t\t$review_ids = '';\n\t\t$result = array();\n\t\t$review_new = array();\n\t\t$review_idss = '';\n\t\t$current_user = wp_get_current_user();\n\t\t$user_id = $current_user-\u003eID;\n\t\tif (!empty($submitted)) {\n\t\t\t/* submitted */\n\t\t\t$post_type = \"lp-reviews\";\n\t\t} else {\n\t\t\t/* received */\n\t\t\t$post_type = \"lp-reviews\";\n\t\t\t$result = array('0' =\u003e 0);\n\t\t\t$user_id = '';\n\t\t}\n\n\t\t$postid = array();\n\n\t\t$args = array(\n\t\t\t'post_type' =\u003e $post_type,\n\t\t\t'author' =\u003e $user_id,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'posts_per_page' =\u003e -1\n\t\t);\n\t\t$lp_the_query = null;\n\t\t$lp_the_query = new WP_Query($args);\n\t\tif ($lp_the_query-\u003ehave_posts()) {\n\t\t\twhile ($lp_the_query-\u003ehave_posts()) {\n\t\t\t\t$lp_the_query-\u003ethe_post();\n\n\t\t\t\tif (!empty($submitted)) {\n\t\t\t\t\t/* submitted */\n\t\t\t\t\t$result[get_the_ID()] = get_the_ID();\n\t\t\t\t} else {\n\t\t\t\t\t/* received */\n\n\t\t\t\t\t$listing_id = listing_get_metabox_by_ID('listing_id', get_the_ID());\n\t\t\t\t\tif (!empty($listing_id)) {\n\t\t\t\t\t\t$l_author_id = get_post_field('post_author', $listing_id);\n\t\t\t\t\t\tif ($l_author_id == get_current_user_id()) {\n\t\t\t\t\t\t\t$result[get_the_ID()] = get_the_ID();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$key = 'reviews_ids';\n\n\t\t\t\t\t$review_idss = listing_get_metabox_by_ID($key, get_the_ID());\n\n\t\t\t\t\tif (!empty($review_idss)) {\n\t\t\t\t\t\tif (strpos($review_idss, \",\") !== false) {\n\t\t\t\t\t\t\t$review_ids = explode(',', $review_idss);\n\t\t\t\t\t\t\t$result = array_merge($result, $review_ids);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$result[] = $review_idss;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\twp_reset_postdata();\n\t\t}\n\t\treturn $result;\n\t}\n}\n\n\n/*========================================get ads invoices list============================================*/\n//function to retreive invoices\nif (!function_exists('get_ads_invoices_list')) {\n\tfunction get_ads_invoices_list($userid, $method, $status)\n\t{\n\t\tglobal $wpdb;\n\t\t$prefix = '';\n\t\t$prefix = $wpdb-\u003eprefix;\n\t\t$table_name = $prefix . 'listing_campaigns';\n\n\t\tif ($wpdb-\u003eget_var(\"SHOW TABLES LIKE '$table_name'\") == $table_name) {\n\n\t\t\tif (empty($userid)  \u0026\u0026 !empty($method) \u0026\u0026 !empty($status) \u0026\u0026 is_admin()) {\n\t\t\t\t//return on admin side only\n\t\t\t\t$results = $wpdb-\u003eget_results(\n\t\t\t\t\t$wpdb-\u003eprepare(\"SELECT * FROM {$prefix}listing_campaigns WHERE payment_method=%s AND status=%s ORDER BY main_id DESC\", $method, $status)\n\t\t\t\t);\n\t\t\t\treturn $results;\n\t\t\t} else if (!empty($userid) \u0026\u0026 isset($userid) \u0026\u0026 !empty($status)) {\n\t\t\t\t//return for all users by id\n\n\t\t\t\t$results = $wpdb-\u003eget_results(\n\t\t\t\t\t$wpdb-\u003eprepare(\"SELECT * FROM {$prefix}listing_campaigns WHERE user_id=%d AND status=%s ORDER BY main_id DESC\", $userid, $status)\n\t\t\t\t);\n\t\t\t\treturn $results;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*==============================get listing invoices==================================*/\n//function to get invoices list\nif (!function_exists('get_invoices_list')) {\n\tfunction get_invoices_list($userid, $method, $status)\n\t{\n\t\tglobal $wpdb;\n\t\t$prefix = '';\n\t\t$prefix = $wpdb-\u003eprefix;\n\t\t$table_name = $prefix . 'listing_orders';\n\n\t\tif ($wpdb-\u003eget_var(\"SHOW TABLES LIKE '$table_name'\") == $table_name) {\n\n\t\t\tif (empty($userid)  \u0026\u0026 !empty($method) \u0026\u0026 !empty($status) \u0026\u0026 is_admin()) {\n\t\t\t\t//return on admin side\n\t\t\t\t$results = $wpdb-\u003eget_results(\n\t\t\t\t\t$wpdb-\u003eprepare(\"SELECT * FROM {$prefix}listing_orders WHERE payment_method=%s AND status=%s ORDER BY main_id DESC\", $method, $status)\n\t\t\t\t);\n\t\t\t\treturn $results;\n\t\t\t} else if (!empty($userid) \u0026\u0026 isset($userid) \u0026\u0026 !empty($status) \u0026\u0026 !is_admin()) {\n\t\t\t\t//return on front side\n\n\t\t\t\t$results = $wpdb-\u003eget_results(\n\t\t\t\t\t$wpdb-\u003eprepare(\"SELECT * FROM {$prefix}listing_orders WHERE user_id=%d AND status=%s ORDER BY main_id DESC\", $userid, $status)\n\t\t\t\t);\n\t\t\t\treturn $results;\n\t\t\t}\n\t\t\tif (!empty($userid) \u0026\u0026 isset($userid) \u0026\u0026 empty($status) \u0026\u0026 !is_admin()) {\n\t\t\t\t//return on front side\n\n\t\t\t\t$results = $wpdb-\u003eget_results(\n\t\t\t\t\t$wpdb-\u003eprepare(\"SELECT * FROM {$prefix}listing_orders WHERE user_id=%d AND (status=%s OR status=%s OR status=%s) ORDER BY main_id DESC\", $userid, 'pending', 'success', 'expired')\n\t\t\t\t);\n\t\t\t\treturn $results;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*==============================delete post action==================================*/\n// function to delete post action\nif (!function_exists('lp_delete_any_post')) {\n\tadd_action('before_delete_post', 'lp_delete_any_post');\n\tfunction lp_delete_any_post($postid)\n\t{\n\t\tglobal $post_type;\n\n\t\tif ($post_type == 'listing') {\n\t\t\t$listing_id = $postid;\n\t\t\t$campaignID = listing_get_metabox_by_ID('campaign_id', $listing_id);\n\t\t\t$get_reviews = listing_get_metabox_by_ID('reviews_ids', $listing_id);\n\n\t\t\twp_delete_post($campaignID);\n\t\t\tif (!empty($get_reviews)) {\n\t\t\t\t$reviewsArray = array();\n\t\t\t\tif (strpos($get_reviews, ',') !== false) {\n\t\t\t\t\t$reviewsArray = explode(\",\", $get_reviews);\n\t\t\t\t} else {\n\t\t\t\t\t$reviewsArray[] = $get_reviews;\n\t\t\t\t}\n\t\t\t\t$args = array(\n\t\t\t\t\t'posts_per_page'      =\u003e -1,\n\t\t\t\t\t'post__in'            =\u003e $reviewsArray,\n\t\t\t\t\t'post_type' =\u003e 'lp-reviews',\n\t\t\t\t);\n\t\t\t\t$query = new WP_Query($args);\n\t\t\t\tif ($query-\u003ehave_posts()) {\n\t\t\t\t\twhile ($query-\u003ehave_posts()) {\n\t\t\t\t\t\t$query-\u003ethe_post();\n\t\t\t\t\t\twp_delete_post(get_the_ID());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// else if($post_type == 'lp-reviews'){\n\n\t\t// \t$review_id = $postid;\n\t\t// \t$action = 'delete';\n\t\t// \t$listing_id = listing_get_metabox_by_ID('listing_id', $postid);\n\n\t\t// \tlistingpro_set_listing_ratings($review_id, $listing_id, '', $action);\n\n\t\t//     if(!empty($listing_id)){\n\t\t//         $total_reviewed = get_post_meta( $listing_id, 'listing_reviewed', true );\n\t\t//         if ( ! empty( $total_reviewed ) ) {\n\t\t//             $total_reviewed--;\n\t\t//             update_post_meta( $listing_id, 'listing_reviewed', $total_reviewed );\n\t\t//         }\n\t\t//     }\n\n\t\t// }\n\t\telse if ($post_type == 'lp-ads') {\n\t\t\t$listing_id = listing_get_metabox_by_ID('ads_listing', $postid);\n\t\t\t$ad_type = listing_get_metabox_by_ID('ad_type', $postid);\n\t\t\tif (!empty($ad_type) \u0026\u0026 is_array($ad_type)) {\n\t\t\t\tforeach ($ad_type as $type) {\n\t\t\t\t\tdelete_post_meta($listing_id, $type);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlisting_delete_metabox('campaign_id', $listing_id);\n\t\t\tdelete_post_meta($listing_id, 'campaign_status');\n\t\t}\n\t}\n}\n\n//=======================================================\n//\t\t\t\t\t\tPagination\n//=======================================================\nif (!function_exists('listingpro_pagination')) {\n\n\tfunction listingpro_pagination($wp_query = array())\n\t{\n\t\tif (empty($wp_query)) {\n\t\t\tglobal $wp_query;\n\t\t}\n\n\t\t$pages = $wp_query-\u003emax_num_pages;\n\t\t$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;\n\n\t\tif (empty($pages)) {\n\t\t\t$pages = 1;\n\t\t}\n\n\t\tif (1 != $pages) {\n\n\t\t\t$big = 9999; // need an unlikely integer\n\t\t\techo \"\n\t\t\t\u003cdiv class='lp-pagination pagination'\u003e\";\n\t\t\t$pagination = paginate_links(\n\t\t\t\tarray(\n\t\t\t\t\t'base' =\u003e str_replace($big, '%#%', esc_url(get_pagenum_link($big))),\n\t\t\t\t\t'end_size' =\u003e 3,\n\t\t\t\t\t'mid_size' =\u003e 6,\n\t\t\t\t\t'format' =\u003e '?paged=%#%',\n\t\t\t\t\t'current' =\u003e max(1, get_query_var('paged')),\n\t\t\t\t\t'total' =\u003e $wp_query-\u003emax_num_pages,\n\t\t\t\t\t'type' =\u003e 'list',\n\t\t\t\t\t'prev_text' =\u003e __('\u0026laquo;', 'listingpro'),\n\t\t\t\t\t'next_text' =\u003e __('\u0026raquo;', 'listingpro'),\n\t\t\t\t)\n\t\t\t);\n\t\t\techo wp_kses_post($pagination);\n\t\t\techo \"\u003c/div\u003e\";\n\t\t}\n\t}\n}\n\n//=======================================================\n//\t\t\t\t\t\tLogin Screen\n//=======================================================\nif (!function_exists('listingpro_login_screen')) {\n\tfunction listingpro_login_screen()\n\t{\n\t\twp_enqueue_style('listable-custom-login', get_template_directory_uri() . '/assets/css/login-page.css');\n\t\twp_enqueue_style('Font-awesome', THEME_DIR . '/assets/lib/font-awesome/css/font-awesome.min.css');\n\t}\n\n\tadd_action('login_enqueue_scripts', 'listingpro_login_screen');\n}\n/*====================================================================================*/\n\n/*====================================================================================*/\n/* calculate average rate for listing */\nif (!function_exists('lp_cal_listing_rate')) {\n\tfunction lp_cal_listing_rate($listing_id, $post_type = 'listing', $is_reviewcall = false)\n\t{\n\n\t\tglobal $listingpro_options;\n\t\t$reviewEnabled  = isset($listingpro_options['lp_review_switch']) ? $listingpro_options['lp_review_switch'] : '';\n\t\tif ($post_type == 'lp_review') {\n\t\t\t$rating = listing_get_metabox_by_ID('rating', $listing_id);\n\t\t} else {\n\t\t\t$rating = get_post_meta($listing_id, 'listing_rate', true);\n\t\t}\n\t\t$rating = apply_filters('lp_rating_number_format', $rating);\n\t\t$ratingRes = '';\n\t\tif (!empty($rating) \u0026\u0026 $rating \u003e 0) {\n\t\t\tif ($rating \u003c 1) {\n\t\t\t\t$ratingRes = '\u003cspan class=\"rate lp-rate-worst\"\u003e' . $rating . '\u003csup\u003e/ 5\u003c/sup\u003e\u003c/span\u003e';\n\t\t\t} else if ($rating \u003e= 1 \u0026\u0026 $rating \u003c 2) {\n\t\t\t\t$ratingRes = '\u003cspan class=\"rate lp-rate-bad\"\u003e' . $rating . '\u003csup\u003e/ 5\u003c/sup\u003e\u003c/span\u003e';\n\t\t\t} else if ($rating \u003e= 2 \u0026\u0026 $rating \u003c 3.5) {\n\t\t\t\t$ratingRes = '\u003cspan class=\"rate lp-rate-satisfactory\"\u003e' . $rating . '\u003csup\u003e/ 5\u003c/sup\u003e\u003c/span\u003e';\n\t\t\t} else if ($rating \u003e= 3.5 \u0026\u0026 $rating \u003c= 5) {\n\t\t\t\t$ratingRes = '\u003cspan class=\"rate lp-rate-good\"\u003e' . $rating . '\u003csup\u003e/ 5\u003c/sup\u003e\u003c/span\u003e';\n\t\t\t}\n\t\t} else {\n\t\t\tif (class_exists('ListingReviews')) {\n\t\t\t\tif (is_singular('listing')) {\n\n\t\t\t\t\tif ($is_reviewcall == true) {\n\t\t\t\t\t\t$ratingRes = '';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (get_post_status($listing_id) != 'publish') {\n\t\t\t\t\t\t\t$ratingRes = '\u003cspan class=\"no-review\"\u003e' . esc_html__(\"Rating only enabled on published listing\", \"listingpro\") . '\u003c/span\u003e';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif ($reviewEnabled == \"1\") {\n\t\t\t\t\t\t\t\t$ratingRes = '\u003cspan class=\"no-review\"\u003e' . esc_html__(\"Be the first one to rate!\", \"listingpro\") . '\u003c/span\u003e';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t//$ratingRes = '\u003cspan class=\"no-review\"\u003e'.esc_html__(\"0 Review\", \"listingpro\").'\u003c/span\u003e';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn $ratingRes;\n\t}\n}\n\n\n/* =============================================== cron-job for renew listing==================================== */\nadd_action('wp', 'lp_renew_listing_subcription');\nif (!function_exists('lp_renew_listing_subcription')) {\n\tfunction lp_renew_listing_subcription()\n\t{\n\t\twp_clear_scheduled_hook('lp_daily_renew_listing_subcription');\n\t\tif (!wp_next_scheduled('lp_daily_renew_listings_subcription')) {\n\t\t\t$timestamp = strtotime('23:30:00');\n\t\t\twp_schedule_event($timestamp, 'daily', 'lp_daily_renew_listings_subcription');\n\t\t}\n\t}\n}\nadd_action('lp_daily_renew_listings_subcription', 'lp_renew_this_listing');\nif (!function_exists('lp_renew_this_listing')) {\n\tfunction lp_renew_this_listing()\n\t{\n\t\tglobal $wpdb, $listingpro_options;\n\t\t$listingpro_options = get_option('listingpro_options');\n\t\tinclude_once(LISTINGPRO_PLUGIN_PATH . \"inc/stripe/stripe-php/init.php\");\n\t\t$strip_sk = $listingpro_options['stripe_secrit_key'];\n\t\tStripe::setApiKey($strip_sk);\n\t\t$users = get_users(array('fields' =\u003e array('ID')));\n\t\tforeach ($users as $user_id) {\n\t\t\t$user_id = $user_id-\u003eID;\n\t\t\t$user_obj = get_user_by('id', $user_id);\n\t\t\t$user_login = $user_obj-\u003euser_login;\n\t\t\t$userSubscriptions = '';\n\t\t\t$userSubscriptions = get_user_meta($user_id, 'listingpro_user_sbscr', true);\n\t\t\tif (!empty($userSubscriptions) \u0026\u0026 count($userSubscriptions) \u003e 0) {\n\t\t\t\t$subscription_exist = true;\n\t\t\t\t$n = 1;\n\t\t\t\tforeach ($userSubscriptions as $key =\u003e $subscription) {\n\t\t\t\t\t$subscr_id = $subscription['subscr_id'];\n\t\t\t\t\t$taxStatus = '';\n\t\t\t\t\tif (strpos($subscr_id, 'sub_') !== false \u0026\u0026 !isset($subscription['method'])) {\n\t\t\t\t\t\t/* stripe */\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t$plan_id = $subscription['plan_id'];\n\t\t\t\t\t\t\t$subscr_id = $subscription['subscr_id'];\n\t\t\t\t\t\t\t$listing_id = $subscription['listing_id'];\n\t\t\t\t\t\t\t$subscrObj = Subscription::retrieve($subscr_id);\n\n\t\t\t\t\t\t\t$LpgetStatusListing = get_post_status($listing_id);\n\t\t\t\t\t\t\tif (empty($LpgetStatusListing)) {\n\t\t\t\t\t\t\t\t// expire subscription if listing is deleted\n\t\t\t\t\t\t\t\t$subscrObj-\u003ecancel();\n\t\t\t\t\t\t\t\tunset($userSubscriptions[$key]);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif ($subscrObj-\u003estatus == 'canceled') {\n\t\t\t\t\t\t\t\t\tunset($userSubscriptions[$key]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$subscrID = $subscrObj-\u003eid;\n\n\t\t\t\t\t\t\t$plan_time = get_post_meta($plan_id, 'plan_time', true);\n\t\t\t\t\t\t\t$plan_time = (int)$plan_time;\n\n\t\t\t\t\t\t\t$isActive = true;\n\t\t\t\t\t\t\t$isCharged = true;\n\t\t\t\t\t\t\t$isValid = true;\n\t\t\t\t\t\t\t$Curdifernce = null;\n\n\t\t\t\t\t\t\tif (!empty($subscrObj)) {\n\n\t\t\t\t\t\t\t\t$subStatus = $subscrObj-\u003eplan-\u003eactive;\n\t\t\t\t\t\t\t\t$subEnds = $subscrObj-\u003ecurrent_period_end;\n\n\t\t\t\t\t\t\t\tif (!empty($subStatus)) {\n\t\t\t\t\t\t\t\t\tif (date('Y-m-d') == date('Y-m-d', $subEnds)) {\n\t\t\t\t\t\t\t\t\t\t// is active and today is renewal day\n\t\t\t\t\t\t\t\t\t\t$lpCurrentTime = current_time('mysql');\n\t\t\t\t\t\t\t\t\t\t$my_listing = array('ID' =\u003e $listing_id, 'post_date' =\u003e $lpCurrentTime, 'post_date_gmt' =\u003e get_gmt_from_date($lpCurrentTime), 'post_status' =\u003e 'publish');\n\t\t\t\t\t\t\t\t\t\twp_update_post($my_listing);\n\n\t\t\t\t\t\t\t\t\t\t$table = 'listing_orders';\n\n\t\t\t\t\t\t\t\t\t\t$wherecond = 'post_id=\"' . $listing_id . '\" AND status = \"success\" AND summary=\"recurring\"';\n\t\t\t\t\t\t\t\t\t\t$recurringData = lp_get_data_from_db('listing_orders', '*', $wherecond);\n\t\t\t\t\t\t\t\t\t\tif (!empty($recurringData)) {\n\t\t\t\t\t\t\t\t\t\t\t$main_id = '';\n\t\t\t\t\t\t\t\t\t\t\tforeach ($recurringData as $data) {\n\t\t\t\t\t\t\t\t\t\t\t\t$main_id = $data-\u003emain_id;\n\t\t\t\t\t\t\t\t\t\t\t\t$date = date(get_option('date_format'));\n\t\t\t\t\t\t\t\t\t\t\t\t$data = array('date' =\u003e $date);\n\t\t\t\t\t\t\t\t\t\t\t\t$where = array('main_id' =\u003e $main_id);\n\t\t\t\t\t\t\t\t\t\t\t\tlp_update_data_in_db($table, $data, $where);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// not active\n\t\t\t\t\t\t\t\t\t$my_listing = array('ID' =\u003e $listing_id, 'post_status' =\u003e 'expired');\n\t\t\t\t\t\t\t\t\twp_update_post($my_listing);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (Exception $e) {\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t/* paypal */\n\t\t\t\t\t\t$subscrObj = lp_retreive_recurring_profile($subscr_id);\n\t\t\t\t\t\t$plan_id = $subscription['plan_id'];\n\t\t\t\t\t\t$listing_id = $subscription['listing_id'];\n\t\t\t\t\t\t$LpgetStatusListing = get_post_status($listing_id);\n\t\t\t\t\t\tif (empty($LpgetStatusListing)) {\n\t\t\t\t\t\t\t// expire subscription if listing is deleted\n\t\t\t\t\t\t\tlp_cancel_recurring_profile($subscr_id);\n\t\t\t\t\t\t\tunset($userSubscriptions[$key]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$plan_time = get_post_meta($plan_id, 'plan_time', true);\n\t\t\t\t\t\t$plan_time = (int)$plan_time;\n\t\t\t\t\t\t$isActive = true;\n\t\t\t\t\t\t$isCharged = true;\n\t\t\t\t\t\t$isValid = true;\n\t\t\t\t\t\t$Curdifernce = null;\n\t\t\t\t\t\tif (!empty($subscrObj)) {\n\t\t\t\t\t\t\t$subStatus = $subscrObj['STATUS'];\n\t\t\t\t\t\t\t$subEnds = strtotime($subscrObj['LASTPAYMENTDATE']);\n\t\t\t\t\t\t\tif (!empty($subStatus)) {\n\t\t\t\t\t\t\t\tif (date('Y-m-d') == date('Y-m-d', $subEnds)) {\n\t\t\t\t\t\t\t\t\t// is active and today is renewal day\n\t\t\t\t\t\t\t\t\t$lpCurrentTime = current_time('mysql');\n\t\t\t\t\t\t\t\t\t$my_listing = array('ID' =\u003e $listing_id, 'post_date' =\u003e $lpCurrentTime, 'post_date_gmt' =\u003e get_gmt_from_date($lpCurrentTime), 'post_status' =\u003e 'publish');\n\t\t\t\t\t\t\t\t\twp_update_post($my_listing);\n\t\t\t\t\t\t\t\t\t$table = 'listing_orders';\n\t\t\t\t\t\t\t\t\t$wherecond = 'post_id=\"' . $listing_id . '\" AND status = \"success\" AND summary=\"recurring\"';\n\t\t\t\t\t\t\t\t\t$recurringData = lp_get_data_from_db('listing_orders', '*', $wherecond);\n\t\t\t\t\t\t\t\t\tif (!empty($recurringData)) {\n\t\t\t\t\t\t\t\t\t\t$main_id = '';\n\t\t\t\t\t\t\t\t\t\tforeach ($recurringData as $data) {\n\t\t\t\t\t\t\t\t\t\t\t$main_id = $data-\u003emain_id;\n\t\t\t\t\t\t\t\t\t\t\t$date = date(get_option('date_format'));\n\t\t\t\t\t\t\t\t\t\t\t$data = array('date' =\u003e $date);\n\t\t\t\t\t\t\t\t\t\t\t$where = array('main_id' =\u003e $main_id);\n\t\t\t\t\t\t\t\t\t\t\tlp_update_data_in_db($table, $data, $where);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// not active\n\t\t\t\t\t\t\t\t$my_listing = array('ID' =\u003e $listing_id, 'post_status' =\u003e 'expired');\n\t\t\t\t\t\t\t\twp_update_post($my_listing);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!empty($userSubscriptions)) {\n\t\t\t\t\tupdate_user_meta($user_id, 'listingpro_user_sbscr', $userSubscriptions);\n\t\t\t\t} else {\n\t\t\t\t\tdelete_user_meta($user_id, 'listingpro_user_sbscr');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* =============================================== cron-job for listing==================================== */\nadd_action('wp', 'lp_expire_listings');\nif (!function_exists('lp_expire_listings')) {\n\tfunction lp_expire_listings()\n\t{\n\t\twp_clear_scheduled_hook('lp_daily_cron_listing');\n\t\tif (!wp_next_scheduled('lp_daily_cron_listings')) {\n\t\t\t$timestamp = strtotime('23:30:00');\n\t\t\twp_schedule_event($timestamp, 'daily', 'lp_daily_cron_listings');\n\t\t}\n\t}\n}\nadd_action('lp_daily_cron_listings', 'lp_expire_this_listing');\nif (!function_exists('lp_expire_this_listing')) {\n\tfunction lp_expire_this_listing()\n\t{\n\t\tglobal $wpdb, $listingpro_options;\n\n\t\t$listingpro_options = get_option('listingpro_options');\n\n\t\t$dbprefix = $wpdb-\u003eprefix;\n\t\t$uid = get_current_user_id();\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'listing',\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'posts_per_page' =\u003e 1000,\n\t\t\t'meta_query' =\u003e array(\n\t\t\t\t'key' =\u003e 'lp_listingpro_options',\n\t\t\t\t'value' =\u003e 'lp_purchase_days',\n\t\t\t\t'compare' =\u003e 'LIKE'\n\t\t\t),\n\t\t);\n\n\t\t$wp_query = null;\n\t\t$wp_query = new WP_Query($args);\n\n\t\tif ($wp_query-\u003ehave_posts()) {\n\t\t\twhile ($wp_query-\u003ehave_posts()) : $wp_query-\u003ethe_post();\n\t\t\t\t$listing_id = get_the_ID();\n\t\t\t\t$checkIfRecurriong = lp_listing_has_subscriptn($listing_id);\n\t\t\t\t$plan_id = listing_get_metabox_by_ID('Plan_id', $listing_id);\n\t\t\t\t$plan_price = listing_get_metabox_by_ID('plan_price', $listing_id);\n\n\t\t\t\t/* attach plan to expiry listing if on from theme option */\n\t\t\t\t$planAttach = lp_theme_option('lp_assignplanexpirybutton');\n\t\t\t\t$nplanid = '';\n\t\t\t\tif ($planAttach == \"enable\") {\n\t\t\t\t\t$nplanid = lp_theme_option('lp_plan_after_expire');\n\t\t\t\t}\n\n\t\t\t\tif (!empty($plan_id)) {\n\t\t\t\t\t$plan_duration  = listing_get_metabox_by_ID('lp_purchase_days', $listing_id);\n\n\t\t\t\t\tif (!empty($plan_duration) \u0026\u0026 empty($checkIfRecurriong)) {\n\t\t\t\t\t\t$sql = \"UPDATE {$wpdb-\u003eposts} SET `post_status` = 'expired' WHERE (ID = '$listing_id' AND `post_type` = 'listing' AND `post_status` = 'publish')\tAND DATEDIFF(NOW(), `post_date`) \u003e= %d\";\n\t\t\t\t\t\t$plan_duration = (int) $plan_duration;\n\t\t\t\t\t\t$res = $wpdb-\u003equery($wpdb-\u003eprepare($sql, $plan_duration));\n\t\t\t\t\t\tif ($res != false) {\n\t\t\t\t\t\t\tif (!empty($nplanid)) {\n\t\t\t\t\t\t\t\t//assign plan\n\t\t\t\t\t\t\t\t$time = current_time('mysql');\n\t\t\t\t\t\t\t\tlisting_set_metabox('Plan_id', $nplanid, $listing_id);\n\t\t\t\t\t\t\t\t$plan_time = get_post_meta($nplanid, 'plan_time', true);\n\t\t\t\t\t\t\t\tlisting_set_metabox('lp_purchase_days', $plan_time, $listing_id);\n\t\t\t\t\t\t\t\t$this_listing = array(\n\t\t\t\t\t\t\t\t\t'ID'           =\u003e $listing_id,\n\t\t\t\t\t\t\t\t\t'post_status'   =\u003e 'publish',\n\t\t\t\t\t\t\t\t\t'post_date'     =\u003e $time,\n\t\t\t\t\t\t\t\t\t'post_date_gmt' =\u003e get_gmt_from_date($time)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\twp_update_post($this_listing);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!empty($plan_price) \u0026\u0026 is_numeric($plan_price)) {\n\t\t\t\t\t\t\t\t/* update in db table */\n\t\t\t\t\t\t\t\t$update_data = array('status' =\u003e 'in progress');\n\t\t\t\t\t\t\t\t$where = array('post_id' =\u003e $listing_id);\n\t\t\t\t\t\t\t\t$update_format = array('%s');\n\t\t\t\t\t\t\t\t$wpdb-\u003eupdate($dbprefix . 'listing_orders', $update_data, $where, $update_format);\n\t\t\t\t\t\t\t\t/* update in db table */\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$campaign_status = get_post_meta($listing_id, 'campaign_status', true);\n\t\t\t\t\t\t\tif (!empty($campaign_status)) {\n\t\t\t\t\t\t\t\tdelete_post_meta($listing_id, 'campaign_status');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$adID = listing_get_metabox_by_ID('campaign_id', $listing_id);\n\t\t\t\t\t\t\tif (!empty($adID)) {\n\t\t\t\t\t\t\t\twp_delete_post($adID, true);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$post_author_id = get_post_field('post_author', $listing_id);\n\t\t\t\t\t\t\t$user = get_user_by('id', $post_author_id);\n\t\t\t\t\t\t\t$useremail = $user-\u003euser_email;\n\t\t\t\t\t\t\t$user_name = $user-\u003euser_login;\n\n\t\t\t\t\t\t\t$website_url = site_url();\n\t\t\t\t\t\t\t$website_name = get_option('blogname');\n\t\t\t\t\t\t\t$listing_title = get_the_title($listing_id);\n\t\t\t\t\t\t\t$listing_url = get_the_permalink($listing_id);\n\t\t\t\t\t\t\t/* email to user */\n\t\t\t\t\t\t\t$headers[] = 'Content-Type: text/html; charset=UTF-8';\n\n\t\t\t\t\t\t\t$u_mail_subject_a = '';\n\t\t\t\t\t\t\t$u_mail_body_a = '';\n\t\t\t\t\t\t\t$u_mail_subject  = isset($listingpro_options['listingpro_subject_listing_expired']) ? $listingpro_options['listingpro_subject_listing_expired'] : '';\n\t\t\t\t\t\t\t$u_mail_body  = isset($listingpro_options['listingpro_listing_expired']) ? $listingpro_options['listingpro_listing_expired'] : '';\n\n\t\t\t\t\t\t\t$u_mail_subject_a = lp_sprintf2(\"$u_mail_subject\", array(\n\t\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t\t'listing_url' =\u003e \"$listing_url\",\n\t\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\",\n\t\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t));\n\n\t\t\t\t\t\t\t$u_mail_body_a = lp_sprintf2(\"$u_mail_body\", array(\n\t\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t\t'listing_url' =\u003e \"$listing_url\",\n\t\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\"\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\tlp_mail_headers_append();\n\t\t\t\t\t\t\tLP_send_mail($useremail, $u_mail_subject_a, $u_mail_body_a, $headers);\n\t\t\t\t\t\t\tlp_mail_headers_remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\tendwhile;\n\t\t}\n\t}\n}\n\n\n/* =============================================== if lisitng has subscription========================= */\n\nif (!function_exists('lp_listing_has_subscriptn')) {\n\tfunction lp_listing_has_subscriptn($listingid)\n\t{\n\n\t\t$resultCHeck = false;\n\t\t$users = get_users(array('fields' =\u003e array('ID')));\n\t\tforeach ($users as $user_ids) {\n\t\t\t$user_id = $user_ids-\u003eID;\n\t\t\t$userSubscriptions = get_user_meta($user_id, 'listingpro_user_sbscr', true);\n\n\t\t\tif (!empty($userSubscriptions)) {\n\t\t\t\tforeach ($userSubscriptions as $subscription) {\n\n\t\t\t\t\t$listing_id = $subscription['listing_id'];\n\t\t\t\t\tif ($listingid == $listing_id) {\n\t\t\t\t\t\t$resultCHeck = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn $resultCHeck;\n\t}\n}\n\n\n/* =============================================== cron-job for recurring email ==================================== */\n\nadd_action('wp', 'lp_payment_cron_alert_email');\nif (!function_exists('lp_payment_cron_alert_email')) {\n\tfunction lp_payment_cron_alert_email()\n\t{\n\t\twp_clear_scheduled_hook('lp_payments_cron_alets');\n\t\tif (!wp_next_scheduled('lp_payment_cron_alets')) {\n\t\t\t$timestamp = strtotime('23:30:00');\n\t\t\twp_schedule_event($timestamp, 'daily', 'lp_payment_cron_alets');\n\t\t}\n\t}\n}\nadd_action('lp_payment_cron_alets', 'lp_notify_payment_recurring');\n\nif (!function_exists('lp_notify_payment_recurring')) {\n\tfunction lp_notify_payment_recurring()\n\t{\n\t\tglobal $wpdb;\n\t\t$listingpro_options = get_option('listingpro_options');\n\t\t$lp_nofify;\n\t\tif (isset($listingpro_options['lp_recurring_notification_before'])) {\n\t\t\t$lp_nofify = $listingpro_options['lp_recurring_notification_before'];\n\t\t\t$lp_nofify = trim($lp_nofify);\n\t\t\t$lp_nofify = (int)$lp_nofify;\n\t\t} else {\n\t\t\t$lp_nofify = 2;\n\t\t}\n\t\t$wherecond = 'status = \"success\" AND summary=\"recurring\"';\n\t\t$recurringData = lp_get_data_from_db('listing_orders', '*', $wherecond);\n\t\tif (!empty($recurringData)) {\n\t\t\tforeach ($recurringData as $data) {\n\t\t\t\t$plan_id = $data-\u003eplan_id;\n\t\t\t\t$plan_id = trim($plan_id);\n\t\t\t\t$listing_id = $data-\u003epost_id;\n\t\t\t\t$listing_id = trim($listing_id);\n\t\t\t\t$user_id = $data-\u003euser_id;\n\t\t\t\t$user_id = trim($user_id);\n\n\t\t\t\t$plan_title = get_the_title($plan_id);\n\t\t\t\t$listing_title = get_the_title($listing_id);\n\n\t\t\t\t$plan_price = get_post_meta($plan_id, 'plan_price', true);\n\t\t\t\t$plan_time = get_post_meta($plan_id, 'plan_time', true);\n\n\t\t\t\tif (is_numeric($plan_time)) {\n\t\t\t\t\t$currentTime = date(\"Y-m-d\");\n\t\t\t\t\t$publishedTime = get_the_time('Y-m-d', $listing_id);\n\t\t\t\t\t$currentTime = date_create($currentTime);\n\t\t\t\t\t$publishedTime = date_create($publishedTime);\n\t\t\t\t\t$interval = date_diff($currentTime, $publishedTime);\n\t\t\t\t\t/*2 days before plan end*/\n\t\t\t\t\t$plan_duration = $plan_time;\n\t\t\t\t\t$plan_time = (int)$plan_time - $lp_nofify;\n\t\t\t\t\t$daysDiff = $interval-\u003edays;\n\t\t\t\t\tif ($daysDiff == $plan_time) {\n\n\t\t\t\t\t\t$author_obj = get_user_by('id', $user_id);\n\t\t\t\t\t\t$author_email = $author_obj-\u003euser_email;\n\n\t\t\t\t\t\t$website_url = site_url();\n\t\t\t\t\t\t$website_name = get_option('blogname');\n\t\t\t\t\t\t$user_name = $author_obj-\u003euser_login;\n\n\t\t\t\t\t\t$headers[] = 'Content-Type: text/html; charset=UTF-8';\n\n\t\t\t\t\t\t/* user email */\n\t\t\t\t\t\t$subject  = isset($listingpro_options['listingpro_subject_recurring_payment']) ? $listingpro_options['listingpro_subject_recurring_payment'] : '';\n\t\t\t\t\t\t$mail_content  = isset($listingpro_options['listingpro_content_recurring_payment']) ? $listingpro_options['listingpro_content_recurring_payment'] : '';\n\n\t\t\t\t\t\t$formated_mail_content = lp_sprintf2(\"$mail_content\", array(\n\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\",\n\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t'plan_title' =\u003e \"$plan_title\",\n\t\t\t\t\t\t\t'plan_price' =\u003e \"$plan_price\",\n\t\t\t\t\t\t\t'plan_duration' =\u003e \"$plan_duration\",\n\t\t\t\t\t\t\t'notifybefore' =\u003e \"$lp_nofify\"\n\t\t\t\t\t\t));\n\t\t\t\t\t\tlp_mail_headers_append();\n\t\t\t\t\t\tLP_send_mail($author_email, $subject, $formated_mail_content, $headers);\n\t\t\t\t\t\tlp_mail_headers_remove();\n\n\t\t\t\t\t\t/* admin email */\n\t\t\t\t\t\t$admin_email = get_option('admin_email');\n\n\t\t\t\t\t\t$subjectadmin  = isset($listingpro_options['listingpro_subject_recurring_payment_admin']) ? $listingpro_options['listingpro_subject_recurring_payment_admin'] : '';\n\t\t\t\t\t\t$mail_content_admin  = isset($listingpro_options['listingpro_content_recurring_payment_admin']) ? $listingpro_options['listingpro_content_recurring_payment_admin'] : '';;\n\n\t\t\t\t\t\t$formated_mail_content_admin = lp_sprintf2(\"$mail_content_admin\", array(\n\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\",\n\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t'plan_title' =\u003e \"$plan_title\",\n\t\t\t\t\t\t\t'plan_price' =\u003e \"$plan_price\",\n\t\t\t\t\t\t\t'plan_duration' =\u003e \"$plan_duration\",\n\t\t\t\t\t\t\t'notifybefore' =\u003e \"$lp_nofify\"\n\t\t\t\t\t\t));\n\t\t\t\t\t\tlp_mail_headers_append();\n\t\t\t\t\t\tLP_send_mail($admin_email, $subjectadmin, $formated_mail_content_admin, $headers);\n\t\t\t\t\t\tlp_mail_headers_remove();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* =============================================== getClosestTimezone ==================================== */\n\nif (!function_exists('getClosestTimezone')) {\n\tfunction getClosestTimezone($lat, $lng)\n\t{\n\t\tif (!empty($lat) \u0026\u0026 !empty($lng)) {\n\t\t\t$diffs = array();\n\t\t\tforeach (DateTimeZone::listIdentifiers() as $timezoneID) {\n\t\t\t\t$timezone = new DateTimeZone($timezoneID);\n\t\t\t\t$location = $timezone-\u003egetLocation();\n\t\t\t\t$tLat = $location['latitude'];\n\t\t\t\t$tLng = $location['longitude'];\n\t\t\t\t$diffLat = abs($lat - $tLat);\n\t\t\t\t$diffLng = abs($lng - $tLng);\n\t\t\t\t$diff = $diffLat + $diffLng;\n\t\t\t\t$diffs[$timezoneID] = $diff;\n\t\t\t}\n\n\t\t\t$timezone = array_keys($diffs, min($diffs));\n\t\t\t$timestamp = time();\n\t\t\tdate_default_timezone_set($timezone[0]);\n\t\t\t$zones_GMT = date('O', $timestamp) / 100;\n\t\t\treturn $zones_GMT;\n\t\t}\n\t}\n}\n\n/* js for invoice print */\nif (!function_exists('lp_call_invoice_print_preview')) {\n\tfunction lp_call_invoice_print_preview()\n\t{\n\t\twp_enqueue_script('lp-print-invoice', THEME_DIR . '/assets/js/jQuery.print.js', 'jquery', '', true);\n\t}\n}\nadd_action('lp_enqueue_print_script', 'lp_call_invoice_print_preview');\n\n/* check for receptcha */\nif (!function_exists('lp_check_receptcha')) {\n\tfunction lp_check_receptcha($type)\n\t{\n\n\t\tglobal $listingpro_options;\n\t\tif (isset($listingpro_options['lp_recaptcha_switch'])) {\n\t\t\tif ($listingpro_options['lp_recaptcha_switch'] == 1) {\n\n\t\t\t\tif (isset($listingpro_options[\"$type\"])) {\n\t\t\t\t\tif ($listingpro_options[\"$type\"] == 1) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n/* check if package has purchased and has credit */\nif (!function_exists('lp_check_package_has_credit')) {\n\tfunction lp_check_package_has_credit($plan_id)\n\t{\n\t\tglobal $listingpro_options, $wpdb;\n\t\t$dbprefix = '';\n\t\t$dbprefix = $wpdb-\u003eprefix;\n\t\t$user_ID = get_current_user_id();\n\t\t$plan_type = '';\n\t\t$plan_type = get_post_meta($plan_id, 'plan_package_type', true);\n\t\t$planPrice = get_post_meta($plan_id, 'plan_price', true);\n\t\tif (!empty($plan_type) \u0026\u0026 $plan_type == \"Package\") {\n\t\t\t$results = $wpdb-\u003eget_results(\"SELECT * FROM \" . $dbprefix . \"listing_orders WHERE user_id ='$user_ID' AND plan_id='$plan_id' AND status = 'success' AND plan_type='$plan_type'\");\n\t\t\tif (!empty($results) \u0026\u0026 count($results) \u003e 0 \u0026\u0026 !empty($planPrice)) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n\n/* get used listing in package*/\nif (!function_exists('lp_get_used_listing_in_package')) {\n\tfunction lp_get_used_listing_in_package($plan_id)\n\t{\n\t\tglobal $listingpro_options, $wpdb;\n\t\t$used = 0;\n\t\t$dbprefix = '';\n\t\t$dbprefix = $wpdb-\u003eprefix;\n\t\t$user_ID = get_current_user_id();\n\t\t$plan_type = get_post_meta($plan_id, 'plan_package_type', true);\n\t\tif (!empty($plan_type) \u0026\u0026 $plan_type == \"Package\") {\n\t\t\t$results = $wpdb-\u003eget_results(\"SELECT * FROM \" . $dbprefix . \"listing_orders WHERE user_id ='$user_ID' AND plan_Id='$plan_id' AND plan_type='$plan_type' AND status = 'success'\");\n\t\t\tif (!empty($results) \u0026\u0026 is_array($results)) {\n\t\t\t\tforeach ($results as $info) {\n\t\t\t\t\t$used = $info-\u003eused;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn $used;\n\t}\n}\n\n/* check if listing is purchased and pending*/\nif (!function_exists('lp_if_listing_in_purchased_package')) {\n\tfunction lp_if_listing_in_purchased_package($plan_id, $listing_id)\n\t{\n\t\tglobal $wpdb;\n\t\t$postsIds = '';\n\t\t$postsIdsArray = array();\n\t\t$dbprefix = '';\n\t\t$dbprefix = $wpdb-\u003eprefix;\n\t\t$user_ID = get_current_user_id();\n\t\t$plan_type = get_post_meta($plan_id, 'plan_package_type', true);\n\t\tif (!empty($plan_type) \u0026\u0026 $plan_type == \"Package\") {\n\t\t\t$results = $wpdb-\u003eget_results(\"SELECT * FROM \" . $dbprefix . \"listing_orders WHERE user_id ='$user_ID' AND plan_Id='$plan_id' AND plan_type='$plan_type' AND (status = 'success' OR status = 'expired')\");\n\t\t\tif (!empty($results) \u0026\u0026 count($results) \u003e 0) {\n\t\t\t\tforeach ($results as $info) {\n\t\t\t\t\t$postsIds .= $info-\u003epost_id;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (!empty($postsIds)) {\n\t\t\t$postsIdsArray = explode(\",\", $postsIds);\n\t\t\tif (in_array($listing_id, $postsIdsArray)) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n\n/* package update credit */\nif (!function_exists('lp_update_credit_package')) {\n\tfunction lp_update_credit_package($listing_id, $plan_id = false)\n\t{\n\t\tglobal $listingpro_options, $wpdb;\n\t\t$listing_ids = '';\n\t\t$used = 0;\n\t\t$returnVal = false;\n\t\t$dbprefix = '';\n\t\t$dbprefix = $wpdb-\u003eprefix;\n\t\t$user_ID = get_current_user_id();\n\t\tif (empty($plan_id)) {\n\t\t\t$plan_id = listing_get_metabox_by_ID('Plan_id', $listing_id);\n\t\t}\n\t\t$plan_type = get_post_meta($plan_id, 'plan_package_type', true);\n\t\t$posts_allowed_in_plan = get_post_meta($plan_id, 'plan_text', true);\n\t\tif (!empty($plan_type) \u0026\u0026 $plan_type == \"Package\") {\n\t\t\t$packageHasCredit = lp_check_package_has_credit($plan_id);\n\t\t\tif (!empty($packageHasCredit) \u0026\u0026 $packageHasCredit == \"1\") {\n\n\t\t\t\t$results = $wpdb-\u003eget_results(\"SELECT * FROM \" . $dbprefix . \"listing_orders WHERE user_id ='$user_ID' AND plan_Id='$plan_id' AND plan_type='$plan_type' AND status = 'success'\");\n\t\t\t\tif (!empty($results) \u0026\u0026 count($results) \u003e 0) {\n\t\t\t\t\tforeach ($results as $info) {\n\t\t\t\t\t\t$used = $info-\u003eused;\n\t\t\t\t\t\t$listing_ids = $info-\u003epost_id;\n\t\t\t\t\t}\n\t\t\t\t\tif (!empty($listing_ids)) {\n\t\t\t\t\t\t$listing_ids = $listing_ids . ',' . $listing_id;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$listing_ids = $listing_id;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($used \u003c $posts_allowed_in_plan) {\n\t\t\t\t\t\t$used++;\n\t\t\t\t\t\t$update_data = array('post_id' =\u003e $listing_ids, 'used' =\u003e $used);\n\t\t\t\t\t\t$where = array('user_id' =\u003e $user_ID, 'plan_id' =\u003e $plan_id, 'plan_type' =\u003e $plan_type, 'status' =\u003e 'success');\n\t\t\t\t\t\t$update_format = array('%s', '%s');\n\t\t\t\t\t\t$wpdb-\u003eupdate($dbprefix . 'listing_orders', $update_data, $where, $update_format);\n\t\t\t\t\t\t$returnVal = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($used == $posts_allowed_in_plan) {\n\t\t\t\t\t\t$update_data = array();\n\t\t\t\t\t\t$update_data = array('status' =\u003e 'expired');\n\t\t\t\t\t\t$where = array('user_id' =\u003e $user_ID, 'plan_id' =\u003e $plan_id, 'plan_type' =\u003e $plan_type, 'status' =\u003e 'success');\n\t\t\t\t\t\t$update_format = array('%s');\n\t\t\t\t\t\t$wpdb-\u003eupdate($dbprefix . 'listing_orders', $update_data, $where, $update_format);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn $returnVal;\n\t}\n}\n\n/* change plan button */\nif (!function_exists('listingpro_change_plan_button')) {\n\tfunction listingpro_change_plan_button($post, $listing_id = '')\n\t{\n\t\tglobal $listingpro_options;\n\t\t$buttonEnabled  = isset($listingpro_options['lp_listing_change_plan_option']) ? $listingpro_options['lp_listing_change_plan_option'] : '';\n\t\tif ($buttonEnabled == \"enable\") {\n\t\t\t$currency = listingpro_currency_sign();\n\t\t\t$buttonCode = '';\n\t\t\t$havePlan = \"no\";\n\t\t\t$planPrice = '';\n\t\t\t$listing_status = '';\n\t\t\tif (empty($listing_id)) {\n\t\t\t\t$listing_id = $post-\u003eID;\n\t\t\t\t$listing_status =  get_post_status($listing_id);\n\t\t\t\t$plan_id = listing_get_metabox_by_ID('Plan_id', $listing_id);\n\t\t\t\t$planTitle = '';\n\t\t\t\tif (!empty($plan_id)) {\n\t\t\t\t\t$planTitle = get_the_title($plan_id);\n\t\t\t\t\t$planPrice = get_post_meta($plan_id, 'plan_price', true);\n\t\t\t\t\tif (!empty($planPrice)) {\n\t\t\t\t\t\t$planPrice = $currency . $planPrice;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$planPrice = esc_html__('Free', 'listingpro');\n\t\t\t\t\t}\n\t\t\t\t\t$planPrice .= '/\u003csmall\u003e' . get_post_meta($plan_id, 'plan_package_type', true) . '\u003c/small\u003e';\n\t\t\t\t\t$havePlan = \"yes\";\n\t\t\t\t} else {\n\t\t\t\t\t$planTitle = esc_html__('No Plan Assigned Yet', 'listingpro');\n\t\t\t\t}\n\t\t\t\t$buttonCode = '\u003ca href=\"#\" class=\"lp-review-btn btn-second-hover text-center lp-change-plan-btn\" data-toggle=\"modal\" data-target=\"#modal-packages\" data-listingstatus=\"' . $listing_status . '\" data-planprice=\"' . $planPrice . '\"  data-haveplan=\"' . $havePlan . '\" data-plantitle = \"' . $planTitle . '\" data-listingid=\"' . $listing_id . '\" title=\"change\"\u003e\u003ci class=\"fa fa-paper-plane\" aria-hidden=\"true\"\u003e\u003c/i\u003e' . esc_html__('Change Plan', 'listingpro') . '\u003c/a\u003e';\n\t\t\t} else {\n\t\t\t\t$listing_id = $post-\u003eID;\n\t\t\t\t$listing_status =  get_post_status($listing_id);\n\t\t\t\t$plan_id = listing_get_metabox_by_ID('Plan_id', $listing_id);\n\t\t\t\t$planTitle = '';\n\t\t\t\tif (!empty($plan_id)) {\n\t\t\t\t\t$planPrice = get_post_meta($plan_id, 'plan_price', true);\n\t\t\t\t\tif (!empty($planPrice)) {\n\t\t\t\t\t\t$planPrice = $currency . $planPrice;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$planPrice = esc_html__('Free', 'listingpro');\n\t\t\t\t\t}\n\t\t\t\t\t$planTitle = get_the_title($plan_id);\n\t\t\t\t\t$planpkgtype = '';\n\t\t\t\t\t$plantype = get_post_meta($plan_id, 'plan_package_type', true);\n\t\t\t\t\tif ($plantype == \"Package\") {\n\t\t\t\t\t\t$planpkgtype = esc_html__('Package', 'listingpro');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$planpkgtype = esc_html__('Pay Per Listing', 'listingpro');\n\t\t\t\t\t}\n\t\t\t\t\t$planPrice .= '/\u003csmall\u003e' . $planpkgtype . '\u003c/small\u003e';\n\t\t\t\t\t$havePlan = \"yes\";\n\t\t\t\t} else {\n\t\t\t\t\t$planTitle = esc_html__('No Plan Assigned Yet', 'listingpro');\n\t\t\t\t}\n\t\t\t\t$buttonCode = '\u003ca href=\"#\" class=\"lp-review-btn btn-second-hover text-center lp-change-plan-btn\" data-toggle=\"modal\" data-target=\"#modal-packages\" data-listingstatus=\"' . $listing_status . '\"  data-planprice=\"' . $planPrice . '\"  data-haveplan=\"' . $havePlan . '\" data-plantitle = \"' . $planTitle . '\" data-listingid=\"' . $listing_id . '\" title=\"change\"\u003e\u003ci class=\"fa fa-paper-plane\" aria-hidden=\"true\"\u003e\u003c/i\u003e' . esc_html__('Change Plan', 'listingpro') . '\u003c/a\u003e';\n\t\t\t}\n\n\n\t\t\tglobal $listingpro_options;\n\t\t\t$paidmode  = isset($listingpro_options['enable_paid_submission']) ? $listingpro_options['enable_paid_submission'] : '';\n\t\t\tif (!empty($paidmode) \u0026\u0026 $paidmode == \"yes\") {\n\t\t\t\treturn $buttonCode;\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* listingpro get payments status of listing */\nif (!function_exists('lp_get_payment_status_column')) {\n\tfunction lp_get_payment_status_column($listing_id)\n\t{\n\t\tglobal $wpdb;\n\t\t$returnStatus = '';\n\t\t$table_name = $wpdb-\u003eprefix . 'listing_orders';\n\t\tif ($wpdb-\u003eget_var(\"SHOW TABLES LIKE '$table_name'\") == $table_name) {\n\t\t\t$field_name = 'status';\n\t\t\t$prepared_statement = $wpdb-\u003eprepare(\"SELECT {$field_name} FROM {$table_name} WHERE  post_id = %d\", $listing_id);\n\t\t\t$values = $wpdb-\u003eget_col($prepared_statement);\n\t\t\t$discounted = get_post_meta($listing_id, 'discounted', true);\n\t\t\tif (!empty($values)) {\n\t\t\t\tif ($values[0] == \"success\" \u0026\u0026 $discounted == '') {\n\t\t\t\t\t$returnStatus = esc_html__('Success', 'listingpro');\n\t\t\t\t} else if ($discounted == 'yes') {\n\t\t\t\t\t$returnStatus = esc_html__('Success (100% Discounted)', 'listingpro');\n\t\t\t\t} else {\n\t\t\t\t\t$plan_id = listing_get_metabox_by_ID('Plan_id', $listing_id);\n\t\t\t\t\tif (!empty($plan_id)) {\n\t\t\t\t\t\t$plan_price = get_post_meta($plan_id, 'plan_price', true);\n\t\t\t\t\t\tif (!empty($plan_price)) {\n\t\t\t\t\t\t\t$returnStatus = esc_html__('Pending', 'listingpro');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$returnStatus = esc_html__('Free', 'listingpro');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$returnStatus = esc_html__('Free', 'listingpro');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$returnStatus = esc_html__('Free', 'listingpro');\n\t\t\t}\n\t\t}\n\t\treturn $returnStatus;\n\t}\n}\n\n/* listingpro get payments status of listing by id */\nif (!function_exists('lp_get_payment_status_by_ID')) {\n\tfunction lp_get_payment_status_by_ID($listing_id)\n\t{\n\t\tglobal $wpdb;\n\t\t$returnStatus = '';\n\t\t$table_name = $wpdb-\u003eprefix . 'listing_orders';\n\t\tif ($wpdb-\u003eget_var(\"SHOW TABLES LIKE '$table_name'\") == $table_name) {\n\t\t\t$field_name = 'status';\n\t\t\t$prepared_statement = $wpdb-\u003eprepare(\"SELECT {$field_name} FROM {$table_name} WHERE  post_id = %d\", $listing_id);\n\t\t\t$values = $wpdb-\u003eget_col($prepared_statement);\n\t\t\tif (!empty($values)) {\n\t\t\t\tif ($values[0] == \"success\") {\n\t\t\t\t\t$returnStatus = 'success';\n\t\t\t\t} else {\n\t\t\t\t\t$plan_id = listing_get_metabox_by_ID('Plan_id', $listing_id);\n\t\t\t\t\tif (!empty($plan_id)) {\n\t\t\t\t\t\t$plan_price = get_post_meta($plan_id, 'plan_price', true);\n\t\t\t\t\t\tif (!empty($plan_price)) {\n\t\t\t\t\t\t\t$returnStatus = 'pending';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$returnStatus = 'free';\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$returnStatus = 'free';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$returnStatus = 'free';\n\t\t\t}\n\t\t}\n\t\treturn $returnStatus;\n\t}\n}\n\n\n/* lp count user campaign by id */\nif (!function_exists('lp_count_user_campaigns')) {\n\tfunction lp_count_user_campaigns($userid)\n\t{\n\t\t$count = 0;\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'lp-ads',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t'post_status' =\u003e 'publish'\n\t\t);\n\t\t$the_query = new WP_Query($args);\n\t\tif ($the_query-\u003ehave_posts()) {\n\t\t\twhile ($the_query-\u003ehave_posts()) {\n\t\t\t\t$the_query-\u003ethe_post();\n\t\t\t\t$listingID = listing_get_metabox_by_ID('ads_listing', get_the_ID());\n\t\t\t\t$listing_author = get_post_field('post_author', $listingID);\n\t\t\t\tif ($userid == $listing_author) {\n\t\t\t\t\t$count++;\n\t\t\t\t}\n\t\t\t}\n\t\t\twp_reset_postdata();\n\t\t}\n\t\treturn ($count) ? $count : 0;\n\t}\n}\n\n/* count no.of post by user id */\nif (!function_exists('count_user_posts_by_status')) {\n\tfunction count_user_posts_by_status($post_type = 'listing', $post_status = 'publish', $user_id = 0, $userListing = false)\n\t{\n\t\tglobal $wpdb;\n\t\t$count = 0;\n\t\t$where = \"WHERE post_type = '$post_type' AND post_status = '$post_status' AND post_author = '$user_id'\";\n\t\t$count = $wpdb-\u003eget_var(\"SELECT COUNT(*) FROM $wpdb-\u003eposts $where\");\n\t\treturn apply_filters('get_usernumposts', $count, $user_id, $post_type, true);\n\t}\n}\n\n\nif (!function_exists('reviews_sum_against_author_listings')) {\n\tfunction reviews_sum_against_author_listings($author, $listing_status)\n\t{\n\t\tif (empty($author)) {\n\t\t\treturn $counter =   0;\n\t\t} else {\n\t\t\tif (empty($listing_status)) {\n\t\t\t\t$listing_status =   'publish';\n\t\t\t}\n\t\t\t$args = array(\n\t\t\t\t'post_type' =\u003e 'listing',\n\t\t\t\t'post_status' =\u003e $listing_status,\n\t\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t\t'author' =\u003e $author,\n\t\t\t);\n\n\t\t\t$my_query = null;\n\t\t\t$my_query = new WP_Query($args);\n\t\t\t$count_reviews  =   array();\n\t\t\tif ($my_query-\u003ehave_posts()) : while ($my_query-\u003ehave_posts()) : $my_query-\u003ethe_post();\n\t\t\t\t\tglobal $post;\n\t\t\t\t\t$review_idss = listing_get_metabox_by_ID('reviews_ids', $post-\u003eID);\n\t\t\t\t\tif (!empty($review_idss)) {\n\t\t\t\t\t\t$review_ids = explode(\",\", $review_idss);\n\t\t\t\t\t\t$count_reviews[]  =   count($review_ids);\n\t\t\t\t\t}\n\t\t\t\tendwhile;\n\t\t\t\twp_reset_postdata();\n\t\t\tendif;\n\t\t\treturn array_sum($count_reviews);\n\t\t}\n\t}\n}\n\n/* check user reviews by user id and listing id */\nif (!function_exists('lp_check_user_reviews_for_listing')) {\n\tfunction lp_check_user_reviews_for_listing($uid, $listing_id)\n\t{\n\t\t$returnVal = false;\n\t\tif (!empty($uid) \u0026\u0026 !empty($listing_id)) {\n\n\t\t\t$args = array(\n\t\t\t\t'post_type'  =\u003e 'lp-reviews',\n\t\t\t\t'post_status'\t=\u003e 'publish',\n\t\t\t\t'author' =\u003e $uid,\n\t\t\t\t'posts_per_page' =\u003e -1,\n\n\t\t\t);\n\t\t\t$query = new WP_Query($args);\n\t\t\tif ($query-\u003ehave_posts()) {\n\t\t\t\twhile ($query-\u003ehave_posts()) {\n\t\t\t\t\t$query-\u003ethe_post();\n\t\t\t\t\t$listingid = listing_get_metabox_by_ID('listing_id', get_the_ID());\n\t\t\t\t\tif ($listingid == $listing_id) {\n\t\t\t\t\t\t$returnVal = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\twp_reset_postdata();\n\t\t\t}\n\t\t} else {\n\t\t\t$returnVal = false;\n\t\t}\n\t\treturn $returnVal;\n\t}\n}\n\n/* adding new user meta for new subscription */\nif (!function_exists('lp_add_new_susbcription_meta')) {\n\tfunction lp_add_new_susbcription_meta($new_susbcription)\n\t{\n\t\tif (!empty($new_susbcription)) {\n\t\t\t$uid = get_current_user_id();\n\t\t\t$existing_subsc = get_user_meta($uid, 'listingpro_user_sbscr', true);\n\t\t\tif (!empty($existing_subsc)) {\n\t\t\t\tarray_push($existing_subsc, $new_susbcription);\n\t\t\t\tupdate_user_meta($uid, 'listingpro_user_sbscr', $existing_subsc);\n\t\t\t} else {\n\t\t\t\t$new_subsc[] = $new_susbcription;\n\t\t\t\tupdate_user_meta($uid, 'listingpro_user_sbscr', $new_subsc);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* cancel subscription from stripe */\nif (!function_exists('lp_cancel_stripe_subscription')) {\n\tfunction lp_cancel_stripe_subscription($listing_id, $plan_id)\n\t{\n\t\tif (!empty($plan_id) \u0026\u0026 !empty($listing_id)) {\n\t\t\tglobal $listingpro_options;\n\t\t\tinclude_once(LISTINGPRO_PLUGIN_PATH . \"inc/stripe/stripe-php/init.php\");\n\t\t\t$secritKey = $listingpro_options['stripe_secrit_key'];\n\t\t\tStripe::setApiKey(\"$secritKey\");\n\n\t\t\t$uid = get_current_user_id();\n\t\t\t$userSubscriptions = get_user_meta($uid, 'listingpro_user_sbscr', true);\n\t\t\tif (!empty($userSubscriptions)) {\n\t\t\t\tforeach ($userSubscriptions as $key =\u003e $subscriptions) {\n\t\t\t\t\t$subc_listing_id = $subscriptions['listing_id'];\n\t\t\t\t\t$subc_plan_id = $subscriptions['plan_id'];\n\t\t\t\t\t$subc_id = $subscriptions['subscr_id'];\n\t\t\t\t\tif (($subc_listing_id == $listing_id) \u0026\u0026 ($subc_plan_id == $plan_id)) {\n\t\t\t\t\t\tif (strpos($subc_id, 'sub_') !== false) {\n\t\t\t\t\t\t\t/* stripe */\n\t\t\t\t\t\t\t$subscription = Subscription::retrieve($subc_id);\n\t\t\t\t\t\t\t$subscription-\u003ecancel();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t/* paypal */\n\t\t\t\t\t\t\tlp_cancel_recurring_profile($subc_id);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tunset($userSubscriptions[$key]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* update metabox */\n\t\t\tif (!empty($userSubscriptions)) {\n\t\t\t\tupdate_user_meta($uid, 'listingpro_user_sbscr', $userSubscriptions);\n\t\t\t} else {\n\t\t\t\tdelete_user_meta($uid, 'listingpro_user_sbscr');\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/* get distance between co-ordinates */\nif (!function_exists('GetDrivingDistance')) {\n\n\tfunction GetDrivingDistance($latitudeFrom, $latitudeTo, $longitudeFrom, $longitudeTo, $unit)\n\t{\n\n\t\t$latitudeFrom   = (float) $latitudeFrom;\n\t\t$latitudeTo     = (float) $latitudeTo;\n\t\t$longitudeFrom  = (float) $longitudeFrom;\n\t\t$longitudeTo    = (float) $longitudeTo;\n\t\t$unit = strtoupper($unit);\n\t\t$theta = $longitudeFrom - $longitudeTo;\n\t\t$dist = sin(deg2rad($latitudeFrom)) * sin(deg2rad($latitudeTo)) +  cos(deg2rad($latitudeFrom)) * cos(deg2rad($latitudeTo)) * cos(deg2rad($theta));\n\t\t$dist = acos($dist);\n\t\t$dist = rad2deg($dist);\n\t\t$miles = $dist * 60 * 1.1515;\n\t\tif ($unit == \"KM\") {\n\t\t\t$distance = ($miles * 1.609344);\n\t\t\t$dist = round($distance, 1);\n\t\t\treturn array('distance' =\u003e $dist);\n\t\t} else {\n\t\t\t$dist = round($miles, 1);\n\t\t\treturn array('distance' =\u003e $dist);\n\t\t}\n\t}\n}\n\n/*====first change function as follow ======\n/* get lat and long from address and set for listing */\nif (!function_exists('lp_get_lat_long_from_address')) {\n\tfunction lp_get_lat_long_from_address($address, $listing_id)\n\t{\n\t\t$exLat = listing_get_metabox_by_ID('latitude', $listing_id);\n\t\t$exLong = listing_get_metabox_by_ID('longitude', $listing_id);\n\t\t$mapkey = lp_theme_option('google_map_api');\n\t\tif (empty($exLat) \u0026\u0026 empty($exLong)) {\n\t\t\tif (!empty($address) \u0026\u0026 !empty($listing_id)) {\n\t\t\t\t$address = urlencode($address);\n\n\t\t\t\t$url     = \"https://maps.googleapis.com/maps/api/geocode/json?address=\" . $address . \"\u0026key=\" . $mapkey;\n\t\t\t\tglobal $wp_filesystem;\n\t\t\t\tif (empty($wp_filesystem)) {\n\t\t\t\t\trequire_once(ABSPATH . '/wp-admin/includes/file.php');\n\t\t\t\t\tWP_Filesystem();\n\t\t\t\t}\n\t\t\t\t$resp    = json_decode($wp_filesystem-\u003eget_contents($url), true);\n\n\t\t\t\tif ($resp['status'] === 'OK') {\n\t\t\t\t\t$formatted_address = ($resp['results'][0]['formatted_address']) ? $resp['results'][0]['formatted_address'] : '';\n\t\t\t\t\t$lat = ($resp['results'][0]['geometry']['location']['lat']) ? $resp['results'][0]['geometry']['location']['lat'] : '';\n\t\t\t\t\t$long = ($resp['results'][0]['geometry']['location']['lng']) ? $resp['results'][0]['geometry']['location']['lng'] : '';\n\n\t\t\t\t\tif (!empty($lat) \u0026\u0026 !empty($long)) {\n\t\t\t\t\t\tlisting_set_metabox('latitude', $lat, $listing_id);\n\t\t\t\t\t\tlisting_set_metabox('longitude', $long, $listing_id);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* hide activatio notice vc */\nadd_action('admin_head', 'lp_hide_vc_notification_css');\nif (!function_exists('lp_hide_vc_notification_css')) {\n\tfunction lp_hide_vc_notification_css()\n\t{\n\t\techo '\u003cstyle\u003e#vc_license-activation-notice { display: none !important; }\u003c/style\u003e';\n\t}\n}\n\n/* ==============start add by sajid ============ */\nadd_filter('body_class', 'listing_view_class');\nif (!function_exists('listing_view_class')) {\n\tfunction listing_view_class($classes)\n\t{\n\t\tglobal $listingpro_options;\n\t\t$listing_mobile_view  = isset($listingpro_options['single_listing_mobile_view']) ? $listingpro_options['single_listing_mobile_view'] : '';\n\t\tif (($listing_mobile_view == 'app_view' || $listing_mobile_view == 'app_view2') \u0026\u0026 wp_is_mobile()) {\n\t\t\t$classes[]  =   'listing-app-view';\n\t\t}\n\t\tif ($listing_mobile_view == 'app_view2' \u0026\u0026 wp_is_mobile()) {\n\t\t\t$classes[]  =   'listing-app-view-new';\n\t\t}\n\t\t$app_view_home  = isset($listingpro_options['app_view_home']) ? $listingpro_options['app_view_home'] : '';\n\t\tif (is_page($app_view_home) \u0026\u0026 ($listing_mobile_view == 'app_view' || $listing_mobile_view == 'app_view2') \u0026\u0026 wp_is_mobile()) {\n\t\t\t$classes[]  =   'app-view-home';\n\t\t}\n\t\t$listing_skeleton  = isset($listingpro_options['listing_views']) ? $listingpro_options['listing_views'] : '';\n\t\t$classes[]  =   'listing-skeleton-view-' . $listing_skeleton;\n\t\treturn $classes;\n\t}\n}\n\n/* ========listingpro_footer_menu_app======== */\n\nif (!function_exists('listingpro_footer_menu_app')) {\n\tfunction listingpro_footer_menu_app()\n\t{\n\t\t$defaults = array(\n\t\t\t'theme_location'  =\u003e 'footer_menu',\n\t\t\t'menu'            =\u003e '',\n\t\t\t'container'       =\u003e 'false',\n\t\t\t'menu_class'      =\u003e '',\n\t\t\t'menu_id'         =\u003e '',\n\t\t\t'echo'            =\u003e true,\n\t\t\t'fallback_cb'     =\u003e '',\n\t\t\t'items_wrap'      =\u003e '\u003cul id=\"%1$s\" class=\"%2$s\"\u003e%3$s\u003c/ul\u003e',\n\t\t);\n\n\t\tif (has_nav_menu('footer_menu')) {\n\t\t\treturn wp_nav_menu($defaults);\n\t\t}\n\t}\n}\n\n/* ==============end add by sajid ============ */\n\n\n\n/* ==============lp get free fields ============ */\nif (!function_exists('listingpro_get_term_openfields')) {\n\tfunction listingpro_get_term_openfields($onbackend = false)\n\t{\n\n\n\t\t$lpAllCatIds = array();\n\t\t$lp_catterms = get_terms(array(\n\t\t\t'taxonomy' =\u003e 'listing-category',\n\t\t\t'hide_empty' =\u003e false,\n\t\t));\n\n\t\tif (!empty($lp_catterms)) {\n\t\t\tforeach ($lp_catterms as $term) {\n\t\t\t\tarray_push($lpAllCatIds, $term-\u003eterm_id);\n\t\t\t}\n\t\t}\n\n\n\t\t$output = null;\n\t\t$fieldIDs = array();\n\n\t\t$texQuery = array(\n\t\t\t'key' =\u003e 'lp_listingpro_options',\n\t\t\t'value' =\u003e $lpAllCatIds,\n\t\t\t'compare' =\u003e 'NOT IN'\n\t\t);\n\n\n\n\t\t$argss = array(\n\t\t\t'post_type'  =\u003e 'form-fields',\n\t\t\t'posts_per_page'  =\u003e -1,\n\t\t\t'meta_query' =\u003e array(\n\t\t\t\t$texQuery\n\t\t\t)\n\t\t);\n\t\t$the_queryy = null;\n\t\t$the_queryy = new WP_Query($argss);\n\t\tif ($the_queryy-\u003ehave_posts()) {\n\t\t\twhile ($the_queryy-\u003ehave_posts()) {\n\t\t\t\t$the_queryy-\u003ethe_post();\n\t\t\t\t$fID = get_the_ID();\n\t\t\t\t$yesString = 'Yes';\n\t\t\t\t$exclusiveCheck = listing_get_metabox_by_ID('exclusive_field', $fID);\n\t\t\t\tif (!empty($exclusiveCheck) \u0026\u0026 $exclusiveCheck == $yesString) {\n\t\t\t\t\tarray_push($fieldIDs, get_the_ID());\n\t\t\t\t}\n\t\t\t\twp_reset_postdata();\n\t\t\t}\n\t\t}\n\t\tif ($onbackend == false) {\n\t\t\t$output = listingpro_field_type($fieldIDs);\n\t\t} else {\n\t\t\t$output = $fieldIDs;\n\t\t}\n\n\n\t\treturn $output;\n\t}\n}\n/* ============== /// ============ */\n\n/* ==============  get post count of taxonomy term============ */\nif (!function_exists('lp_count_postcount_taxonomy_term_byID')) {\n\tfunction lp_count_postcount_taxonomy_term_byID($post_type, $taxonomy, $termid)\n\t{\n\t\t$postcounts = 0;\n\t\t$termObj = get_term_by('id', $termid, \"$taxonomy\");\n\t\tif (!is_wp_error($termObj)) {\n\t\t\t$postcounts = $termObj-\u003ecount;\n\t\t}\n\t\t$include_child = false;\n\t\tif (lp_theme_option('lp_children_in_tax') != \"no\") {\n\t\t\t$include_child = true;\n\t\t}\n\t\t$args = array(\n\t\t\t'post_type' =\u003e $post_type,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'tax_query' =\u003e array(\n\t\t\t\tarray(\n\t\t\t\t\t'taxonomy' =\u003e $taxonomy,\n\t\t\t\t\t'field' =\u003e 'id',\n\t\t\t\t\t'terms' =\u003e $termid,\n\t\t\t\t\t'include_children' =\u003e $include_child,\n\t\t\t\t)\n\t\t\t),\n\t\t);\n\t\t$the_query = new WP_Query($args);\n\t\t$count = $the_query-\u003efound_posts;\n\t\t$postcounts = $count;\n\n\t\treturn $postcounts;\n\t}\n}\n\n/* ============== is favourite or not only ============ */\nif (!function_exists('listingpro_is_favourite_new')) {\n\tfunction listingpro_is_favourite_new($postid)\n\t{\n\t\t$return = null;\n\t\tif (is_user_logged_in()) {\n\t\t\t$uid = get_current_user_id();\n\t\t\t$favposts = get_user_meta($uid, 'lp_saved_user_posts', true);\n\t\t\tif (!is_array($favposts)) {\n\t\t\t\t$favposts   =   (array) $favposts;\n\t\t\t}\n\t\t\tif (in_array($postid, $favposts)) {\n\t\t\t\t$return =   'yes';\n\t\t\t}\n\t\t} else {\n\t\t\t$favposts = (isset($_COOKIE['newco'])) ? explode(',', (string) $_COOKIE['newco']) : array();\n\t\t\t$favposts = array_map('absint', $favposts); // Clean cookie input, it's user input!\n\t\t\t$return =   'no';\n\t\t\tif (in_array($postid, $favposts)) {\n\t\t\t\t$return =   'yes';\n\t\t\t}\n\t\t}\n\t\treturn $return;\n\t}\n}\n\n/* ============== for mail sprintfto function============= */\nif (!function_exists('lp_sprintf2')) {\n\tfunction lp_sprintf2($str = '', $vars = array(), $char = '%')\n\t{\n\t\tif (!$str) {\n\t\t\treturn '';\n\t\t}\n\t\tif (count($vars) \u003e 0) {\n\t\t\tforeach ($vars as $k =\u003e $v) {\n\t\t\t\t$str = str_replace($char . $k, $v, $str);\n\t\t\t}\n\t\t}\n\n\t\treturn $str;\n\t}\n}\n\n/* ============== default featured image for listing ============= */\nif (!function_exists('lp_default_featured_image_listing')) {\n\tfunction lp_default_featured_image_listing()\n\t{\n\t\tglobal $listingpro_options;\n\t\t$deafaultFeatImg = '';\n\t\t//if( isset($listingpro_options['lp_def_featured_image']) \u0026\u0026 !empty($listingpro_options['lp_def_featured_image']) ){\n\n\t\t//$deafaultFeatImgID = $listingpro_options['lp_def_featured_image']['id'];\n\t\t$deafaultFeatImgID = lp_theme_option_id('lp_def_featured_image');\n\t\tif (!empty($deafaultFeatImgID)) {\n\t\t\t$deafaultFeatImg = wp_get_attachment_image_src($deafaultFeatImgID, 'full', true);\n\t\t\t$deafaultFeatImg = $deafaultFeatImg[0];\n\t\t} else {\n\t\t\t$deafaultFeatImg = lp_theme_option_url('lp_def_featured_image');\n\t\t}\n\t\t//}\n\t\treturn $deafaultFeatImg;\n\t}\n}\n\n/* ============== custom actions listingpro ============= */\nif (!function_exists('lp_add_current_requests_query_args')) {\n\tadd_filter('post_type_link', 'lp_add_current_requests_query_args', 90, 2);\n\tfunction lp_add_current_requests_query_args($permalink, $post)\n\t{\n\t\tglobal $lp_ad_ids;\n\t\tif (wp_doing_ajax()) {\n\t\t\tif (isset($_REQUEST['action']) \u0026\u0026 $_REQUEST['action'] == 'ajax_search_tags') {\n\t\t\t\tif (isset($post) \u0026\u0026 $post-\u003epost_type == 'listing') {\n\t\t\t\t\tif (!empty($lp_ad_ids)) {\n\t\t\t\t\t\tif (is_array($lp_ad_ids) \u0026\u0026 in_array($post-\u003eID, $lp_ad_ids)) {\n\t\t\t\t\t\t\treturn lp_add_current_requests_query_args_cb($permalink, $post, 'search_page');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn $permalink;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $permalink;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn $permalink;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn $permalink;\n\t\t\t}\n\t\t} else if (is_admin()) {\n\t\t\treturn $permalink;\n\t\t} else {\n\t\t\tif (isset($post) \u0026\u0026 $post-\u003epost_type == 'listing') {\n\n\t\t\t\tif (is_front_page()) {\n\t\t\t\t\treturn lp_add_current_requests_query_args_cb($permalink, $post, 'home_page');\n\t\t\t\t} else if (is_archive() || (isset($_GET['s']) \u0026\u0026 $_GET['s'] == 'home')) {\n\t\t\t\t\tif (!empty($lp_ad_ids)) {\n\t\t\t\t\t\tif (isset($lp_ad_ids) \u0026\u0026 in_array($post-\u003eID, $lp_ad_ids)) {\n\t\t\t\t\t\t\treturn lp_add_current_requests_query_args_cb($permalink, $post, 'search_page');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn $permalink;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $permalink;\n\t\t\t\t\t}\n\t\t\t\t} else if (is_single()) {\n\t\t\t\t\treturn lp_add_current_requests_query_args_cb($permalink, $post, 'detail_page');\n\t\t\t\t} else {\n\t\t\t\t\treturn lp_add_current_requests_query_args_cb($permalink, $post, 'home_page');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn $permalink;\n\t\t\t}\n\t\t}\n\t}\n}\n\nif (!function_exists('lp_add_current_requests_query_args_cb')) {\n\tfunction lp_add_current_requests_query_args_cb($permalink, $post, $lp_ad_type = '')\n\t{\n\n\t\t$current_id             = get_current_user_id();\n\t\t$default_typeofcampaign = lp_theme_option('listingpro_ads_campaign_style');\n\t\t$adID                   = listing_get_metabox_by_ID('campaign_id', $post-\u003eID);\n\t\t$typeofcampaign         = listing_get_metabox_by_ID('ads_mode', $adID);\n\t\t$listindUserID          = get_post_field('post_author', $post-\u003eID);\n\n\t\tif (isset($typeofcampaign) \u0026\u0026 !empty($typeofcampaign)) {\n\t\t\t$typeofcampaign = 'ads' . $typeofcampaign;\n\t\t} else {\n\t\t\t$typeofcampaign = $default_typeofcampaign;\n\t\t}\n\n\t\t$front_page_adStatus   = get_post_meta($post-\u003eID, 'lp_random_ads', true);\n\t\t$search_page_adStatus  = get_post_meta($post-\u003eID, 'lp_top_in_search_page_ads', true);\n\t\t$detail_page_adStatus  = get_post_meta($post-\u003eID, 'lp_detail_page_ads', true);\n\t\t$campaign_status       = get_post_meta($post-\u003eID, 'campaign_status', true);\n\n\t\tif ($campaign_status == 'active' \u0026\u0026 $typeofcampaign == 'adsperclick' \u0026\u0026 $listindUserID != $current_id) {\n\t\t\tif ($lp_ad_type == 'home_page' \u0026\u0026 $front_page_adStatus == 'active') {\n\t\t\t\treturn esc_url(add_query_arg(array('ad_type' =\u003e 'lp_random_ads_pc'), $permalink));\n\t\t\t} else if ($lp_ad_type == 'search_page' \u0026\u0026 $search_page_adStatus == 'active') {\n\t\t\t\treturn esc_url(add_query_arg(array('ad_type' =\u003e 'lp_top_in_search_page_ads_pc'), $permalink));\n\t\t\t} else if ($lp_ad_type == 'detail_page' \u0026\u0026 $detail_page_adStatus == 'active') {\n\t\t\t\treturn esc_url(add_query_arg(array('ad_type' =\u003e 'lp_detail_page_ads_pc'), $permalink));\n\t\t\t} else {\n\t\t\t\treturn $permalink;\n\t\t\t}\n\t\t} else {\n\t\t\treturn $permalink;\n\t\t}\n\t}\n}\n\nif (!function_exists('lp_count_clicks_for_listing_ads')) {\n\tadd_action('template_redirect', 'lp_count_clicks_for_listing_ads');\n\tfunction lp_count_clicks_for_listing_ads($listing_id = '')\n\t{\n\t\tif (isset($_GET['ad_type']) \u0026\u0026 $_GET['ad_type'] != '') {\n\t\t\tglobal $wp, $post;\n\t\t\t$listing_id = $post-\u003eID;\n\t\t\t$listingStatus = get_post_status($listing_id);\n\t\t\t$cid           = get_current_user_id();\n\t\t\t$listindUserID = get_post_field('post_author', $listing_id);\n\n\t\t\tif ($listingStatus == \"expired\" \u0026\u0026 $listindUserID != $cid) {\n\t\t\t\twp_redirect(home_url());\n\t\t\t\texit;\n\t\t\t}\n\n\t\t\t$adID = listing_get_metabox_by_ID('campaign_id', $listing_id);\n\t\t\tlp_count_clicks_for_campaigns($listing_id, $adID, $_GET['ad_type'], esc_url(home_url($wp-\u003erequest)));\n\t\t}\n\t}\n}\n\n//add_action( 'template_redirect', 'listingpro_redirect_to_homepage' );\nif (!function_exists('listingpro_redirect_to_homepage')) {\n\tfunction listingpro_redirect_to_homepage()\n\t{\n\t\tglobal $post;\n\n\t\tif (is_singular('listing')) {\n\t\t\t$cpostID = $post-\u003eID;\n\t\t\t$adID = listing_get_metabox_by_ID('campaign_id', $cpostID);\n\t\t\t$typeofcampaign = listing_get_metabox_by_ID('ads_mode', $adID);\n\t\t\tif (empty($typeofcampaign)) {\n\t\t\t\t$typeofcampaign = lp_theme_option('listingpro_ads_campaign_style');\n\t\t\t} else {\n\t\t\t\t$typeofcampaign = 'ads' . $typeofcampaign;\n\t\t\t}\n\t\t\tif ($typeofcampaign == \"adsperclick\") {\n\t\t\t\t$refrer = wp_get_referer();\n\t\t\t\tlistingpro_get_listing_referer($refrer, $adID);\n\t\t\t}\n\t\t}\n\n\n\t\tif (is_singular('listing')) {\n\t\t\tif (!empty($cpostID)) {\n\t\t\t\t$listingStatus = get_post_status($cpostID);\n\t\t\t\t$cid = get_current_user_id();\n\t\t\t\t$listindUserID = get_post_field('post_author', $post-\u003eID);\n\t\t\t\tif ($listingStatus == \"expired\" \u0026\u0026 $listindUserID != $cid) {\n\t\t\t\t\twp_redirect(home_url());\n\t\t\t\t\texit;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* ============ get image alt of featured image from post id ======= */\nif (!function_exists('lp_get_the_post_thumbnail_alt')) {\n\tfunction lp_get_the_post_thumbnail_alt($post_id)\n\t{\n\t\treturn get_post_meta(get_post_thumbnail_id($post_id), '_wp_attachment_image_alt', true);\n\t}\n}\n\n\n\nadd_image_size('listingpro_cats270_150', 270, 150, true); // (cropped)\n/* ============== Version2 Functions ============ */\nrequire_once THEME_PATH . \"/include/functions-new.php\";\n\n/* ======================================= */\n/* by dev for 2.0 */\n\nif (!function_exists('lp_theme_option')) {\n\tfunction lp_theme_option($optionID)\n\t{\n\t\tglobal $listingpro_options;\n\t\tif (isset($listingpro_options[\"$optionID\"])) {\n\t\t\t$optionValue = $listingpro_options[\"$optionID\"];\n\t\t\treturn $optionValue;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\nif (!function_exists('lp_paid_mode_status')) {\n\tfunction lp_paid_mode_status()\n\t{\n\t\tglobal $listingpro_options;\n\t\t$enable_paid_submission = lp_theme_option('enable_paid_submission');\n\t\tif ($enable_paid_submission == 'yes') {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\nif (!function_exists('lp_get_parent_cats_array')) {\n\tfunction lp_get_parent_cats_array($onlyhavPlans = true)\n\t{\n\n\t\t$parentCatsArray = array();\n\t\t$parentCatTerms = get_terms('listing-category', array('parent' =\u003e 0, 'hide_empty' =\u003e false));\n\t\tif (!empty($parentCatTerms)) {\n\t\t\tforeach ($parentCatTerms as $catTerm) {\n\t\t\t\t$cat_id = $catTerm-\u003eterm_id;\n\t\t\t\tif ($onlyhavPlans == true) {\n\t\t\t\t\t$lp_attached_plans = get_term_meta($cat_id, 'lp_attached_plans', true);\n\t\t\t\t\tif (!empty($lp_attached_plans)) {\n\t\t\t\t\t\t$parentCatsArray[$cat_id] = $catTerm-\u003ename;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$parentCatsArray[$cat_id] = $catTerm-\u003ename;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn $parentCatsArray;\n\t}\n}\n\n\nif (!function_exists('lp_get_all_cats_array')) {\n\tfunction lp_get_all_cats_array($onlyhavPlans = true)\n\t{\n\n\t\t$parentCatsArray = array();\n\t\t$parentCatTerms = get_terms('listing-category', array('hide_empty' =\u003e false));\n\t\tif (!empty($parentCatTerms)) {\n\t\t\tforeach ($parentCatTerms as $catTerm) {\n\t\t\t\t$cat_id = $catTerm-\u003eterm_id;\n\t\t\t\tif ($onlyhavPlans == true) {\n\t\t\t\t\t$lp_attached_plans = get_term_meta($cat_id, 'lp_attached_plans', true);\n\t\t\t\t\tif (!empty($lp_attached_plans)) {\n\t\t\t\t\t\t$parentCatsArray[$cat_id] = $catTerm-\u003ename;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$parentCatsArray[$cat_id] = $catTerm-\u003ename;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn $parentCatsArray;\n\t}\n}\n\nif (!function_exists('lp_get_child_cats_of_parent')) {\n\tfunction lp_get_child_cats_of_parent($term_id, $taxonomy)\n\t{\n\t\t$childTermArray = array();\n\t\t$argsTermChild = array(\n\t\t\t'order' =\u003e 'ASC',\n\t\t\t'hide_empty' =\u003e false,\n\t\t\t'hierarchical' =\u003e false,\n\t\t\t'parent' =\u003e $term_id,\n\n\t\t);\n\t\t$childTerms = get_terms($taxonomy, $argsTermChild);\n\t\tif (!empty($childTerms) \u0026\u0026 !is_wp_error($childTerms)) {\n\t\t\tforeach ($childTerms as $singleChldTerm) {\n\t\t\t\t$childTermArray[$singleChldTerm-\u003eterm_id] = $singleChldTerm-\u003ename;\n\t\t\t}\n\t\t}\n\t\treturn $childTermArray;\n\t}\n}\n\nif (!function_exists('lp_get_term_field_by')) {\n\tfunction lp_get_term_field_by($term_param, $compare_by, $taxonomy, $returnField)\n\t{\n\t\t$returnFieldValue = '';\n\t\t$termData = get_term_by($compare_by, $term_param, $taxonomy);\n\t\tif (!empty($termData) \u0026\u0026 !is_wp_error($termData)) {\n\t\t\tif (!empty($returnField)) {\n\t\t\t\t$returnFieldValue = $termData-\u003e$returnField;\n\t\t\t}\n\t\t}\n\t\treturn $returnFieldValue;\n\t}\n}\n\n/* ajax for plans */\nadd_action('wp_ajax_listingpro_select_plan_by_cat', 'listingpro_select_plan_by_cat');\nadd_action('wp_ajax_nopriv_listingpro_select_plan_by_cat', 'listingpro_select_plan_by_cat');\nif (!function_exists('listingpro_select_plan_by_cat')) {\n\tfunction listingpro_select_plan_by_cat()\n\t{\n\t\t$catTermid = sanitize_text_field($_POST['term_id']);\n\t\t$pricing_style_views = sanitize_text_field($_POST['currentStyle']);\n\t\t$durationType = sanitize_text_field(stripcslashes($_POST['duration_type']));\n\n\t\t$durationArray = array();\n\n\n\t\t$planforArray = array();\n\t\t$plans_by_cat = lp_theme_option('listingpro_plans_cats');\n\t\tif ($plans_by_cat == 'yes') {\n\t\t\t$planforArray = array(\n\t\t\t\t'key' =\u003e 'plan_usge_for',\n\t\t\t\t'value' =\u003e 'default',\n\t\t\t\t'compare' =\u003e 'NOT LIKE',\n\t\t\t);\n\t\t}\n\n\n\t\t$allowed_statuses = array('horizontal_view_1', 'horizontal_view_2', 'vertical_view_1', 'vertical_view_2', 'vertical_view_3', 'vertical_view_4', 'vertical_view_5', 'vertical_view_6', 'vertical_view_7', 'vertical_view_8', 'vertical_view_9', 'claim_plans');\n\t\t$isMontlyFilter = false;\n\t\t/* for switcher */\n\t\t$args = null;\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'price_plan',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'meta_query' =\u003e array(\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'lp_selected_cats',\n\t\t\t\t\t'value' =\u003e ':\"' . $catTermid . '\"',\n\t\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\t\t$cat_Plan_Query = null;\n\t\t$cat_Plan_Query = new WP_Query($args);\n\t\tif ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\twhile ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\t\t$cat_Plan_Query-\u003ethe_post();\n\t\t\t\t$durationtype = get_post_meta(get_the_ID(), 'plan_duration_type', true);\n\t\t\t\tif ($durationtype == \"monthly\" || $durationtype == \"yearly\") {\n\t\t\t\t\t$isMontlyFilter = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t/* end for switcher */\n\n\n\t\tif (!empty($durationType)) {\n\t\t\t$durationArray = array(\n\t\t\t\t'key' =\u003e 'plan_duration_type',\n\t\t\t\t'value' =\u003e $durationType,\n\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t);\n\t\t}\n\n\n\n\n\t\tif (!empty($catTermid)) {\n\t\t\t/* code goes here */\n\t\t\t$output = null;\n\t\t\t$args = null;\n\t\t\t$args = array(\n\t\t\t\t'post_type' =\u003e 'price_plan',\n\t\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t\t'post_status' =\u003e 'publish',\n\t\t\t\t'meta_query' =\u003e array(\n\t\t\t\t\t'relation' =\u003e 'AND',\n\t\t\t\t\tarray(\n\t\t\t\t\t\t'key' =\u003e 'lp_selected_cats',\n\t\t\t\t\t\t'value' =\u003e $catTermid,\n\t\t\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t\t\t),\n\t\t\t\t\t$durationArray,\n\t\t\t\t\t$planforArray,\n\t\t\t\t),\n\t\t\t);\n\n\n\t\t\t$cat_Plan_Query = null;\n\t\t\t$gridNumber = 0;\n\t\t\t$cat_Plan_Query = new WP_Query($args);\n\t\t\t$count = $cat_Plan_Query-\u003efound_posts;\n\t\t\t$GLOBALS['plans_count'] = $count;\n\t\t\tif ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\t\twhile ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\t\t\t$cat_Plan_Query-\u003ethe_post();\n\t\t\t\t\t$durationtype = get_post_meta(get_the_ID(), 'plan_duration_type', true);\n\t\t\t\t\t$gridNumber++;\n\n\t\t\t\t\tif (in_array($pricing_style_views, $allowed_statuses, true)) {\n\t\t\t\t\t\tob_start();\n\t\t\t\t\t\tinclude(LISTINGPRO_PLUGIN_PATH . \"templates/pricing/loop/\" . $pricing_style_views . '.php');\n\t\t\t\t\t\t$output .= ob_get_contents();\n\t\t\t\t\t\tob_end_clean();\n\t\t\t\t\t\tob_flush();\n\t\t\t\t\t}\n\t\t\t\t\tif ($gridNumber % 3 == 0) {\n\t\t\t\t\t\t$output .= '\u003cdiv class=\"clearfix\"\u003e\u003c/div\u003e';\n\t\t\t\t\t}\n\t\t\t\t} //END WHILE\n\t\t\t\twp_reset_postdata();\n\t\t\t\t$returnData = array('response' =\u003e 'success', 'plans' =\u003e $output, 'switcher' =\u003e $isMontlyFilter);\n\t\t\t} else {\n\t\t\t\t$returnData = array('response' =\u003e 'success', 'plans' =\u003e esc_html__('Sorry! There is no plan associated with the category', 'listingpro'), 'switcher' =\u003e $isMontlyFilter);\n\t\t\t}\n\t\t}\n\n\t\tdie(json_encode($returnData));\n\t}\n}\n\n\n/* ajax for general plans */\nadd_action('wp_ajax_listingpro_select_general_plans', 'listingpro_select_general_plans');\nadd_action('wp_ajax_nopriv_listingpro_select_general_plans', 'listingpro_select_general_plans');\nif (!function_exists('listingpro_select_general_plans')) {\n\tfunction listingpro_select_general_plans()\n\t{\n\t\t/* code goes here */\n\t\t$metaQueryArray['relation'] = 'OR';\n\t\t$durationType = sanitize_text_field($_POST['duration_type']);\n\t\t$pricing_style_views = sanitize_file_name($_POST['currentStyle']);\n\t\t$lp_plans_cats = lp_theme_option('listingpro_plans_cats');\n\t\tif ($lp_plans_cats == 'yes') {\n\t\t\t$metaQueryArray['relation'] = 'AND';\n\t\t}\n\t\t$allowed_statuses = array('horizontal_view_1', 'horizontal_view_2', 'vertical_view_1', 'vertical_view_2', 'vertical_view_3', 'vertical_view_4', 'vertical_view_5', 'vertical_view_6', 'vertical_view_7', 'vertical_view_8', 'vertical_view_9', 'claim_plans');\n\t\t$durArrray = array();\n\t\tif (!empty($durationType)) {\n\t\t\t$metaQueryArray[] = array(\n\t\t\t\t'key' =\u003e 'plan_duration_type',\n\t\t\t\t'value' =\u003e $durationType,\n\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t);\n\t\t}\n\n\t\t$outputt = null;\n\t\t$args = null;\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'price_plan',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'meta_query' =\u003e array(\n\t\t\t\t$metaQueryArray,\n\t\t\t),\n\t\t);\n\n\n\t\t$cat_Plan_Query = null;\n\t\t$gridNumber = 0;\n\t\t$cat_Plan_Query = new WP_Query($args);\n\t\t$count = $cat_Plan_Query-\u003efound_posts;\n\t\t$GLOBALS['plans_count'] = $count;\n\t\tif ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\twhile ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\t\t$cat_Plan_Query-\u003ethe_post();\n\t\t\t\t$planfor = get_post_meta(get_the_ID(), 'plan_usge_for', true);\n\t\t\t\t//New update 2.6.10\n\t\t\t\t$planforclaim = listing_get_metabox_by_ID('plan_for', get_the_ID());\n\t\t\t\tif ($planforclaim != 'claimonly') {\n\t\t\t\t\tif (empty($planfor) || $planfor == 'default') {\n\t\t\t\t\t\tif (in_array($pricing_style_views, $allowed_statuses, true)) {\n\t\t\t\t\t\t\tob_start();\n\t\t\t\t\t\t\tinclude(LISTINGPRO_PLUGIN_PATH . \"templates/pricing/loop/\" . $pricing_style_views . '.php');\n\t\t\t\t\t\t\t$outputt .= ob_get_contents();\n\t\t\t\t\t\t\tob_end_clean();\n\t\t\t\t\t\t\tob_flush();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//End New update 2.6.10\n\t\t\t} //END WHILE\n\t\t\twp_reset_postdata();\n\t\t\t$returnData = array('response' =\u003e 'success', 'plans' =\u003e $outputt);\n\t\t} else {\n\t\t\t$returnData = array('response' =\u003e 'success', 'plans' =\u003e esc_html__('Sorry! There is no general plan', 'listingpro'));\n\t\t}\n\n\t\tdie(json_encode($returnData));\n\t}\n}\n\n\n\n/* ============= function for paid claim form================ */\nif (!function_exists('lp_paid_claim_email_form')) {\n\tfunction lp_paid_claim_email_form()\n\t{\n\t\t$returnData = array();\n\t\tif (!check_ajax_referer('lp_admin_nonce_action', '_ajax_nonce', false)) {\n\t\t\t$returnData = array(\n\t\t\t\t'status'  =\u003e 'error',\n\t\t\t\t'message' =\u003e 'Invalid nonce'\n\t\t\t);\n\t\t\texit(json_encode($returnData));\n\t\t}\n\n\t\tif (!current_user_can('edit_posts')) {\n\t\t\t$returnData = array(\n\t\t\t\t'status'  =\u003e 'error',\n\t\t\t\t'message' =\u003e 'You do not have permission to edit posts.'\n\t\t\t);\n\t\t\texit(json_encode($returnData));\n\t\t}\n\n\t\tglobal $wp_rewrite;\n\t\t$htmlData = '';\n\t\t$checkoutURl = lp_theme_option('payment-checkout');\n\t\t$checkoutURl = get_permalink($checkoutURl);\n\t\t$listing_id = sanitize_text_field($_POST['listing_id']);\n\t\t$author_id = get_post_field('post_author', $listing_id);\n\t\t$author_obj = get_user_by('id', $author_id);\n\t\t$author_email = $author_obj-\u003euser_email;\n\t\t$claim_type = sanitize_text_field($_POST['claim_type']);\n\t\t$claim_plan = sanitize_text_field($_POST['claim_plan']);\n\t\t$claimer = sanitize_text_field($_POST['claimer']);\n\n\t\t$claimer_obj = get_user_by('id', $claimer);\n\t\t$claimer_email = $claimer_obj-\u003euser_email;\n\t\t$claimed_post = get_the_title($listing_id);\n\n\n\t\t$claim_post_ID = sanitize_text_field($_POST['claim_post_ID']);\n\t\tif ($wp_rewrite-\u003epermalink_structure == '') {\n\t\t\t$checkoutURl .= \"\u0026listing_id=$listing_id\u0026claim_plan=$claim_plan\u0026user_id=$claimer\u0026claim_post=$claim_post_ID\";\n\t\t} else {\n\t\t\t$checkoutURl .= \"?listing_id=$listing_id\u0026claim_plan=$claim_plan\u0026user_id=$claimer\u0026claim_post=$claim_post_ID\";\n\t\t}\n\n\t\t/* encodeing url */\n\t\tif (!empty($checkoutURl)) {\n\t\t\t//$checkoutURl = urlencode($checkoutURl);\n\t\t\t//$checkoutURl = urldecode($checkoutURl);//need to be remove this line after test\n\t\t}\n\n\t\t$paidClaimData = esc_html__('To get Claim for listing, click of following link', 'listingpro') . '\u003cbr /\u003e';\n\t\t//$paidClaimData .= \"\u003ca href='$checkoutURl' target='_blank'\u003e\".esc_html__('Click Here', 'listingpro').\"\u003c/a\u003e\";\n\t\t$paidClaimData .= $checkoutURl;\n\n\t\tif (!empty($claim_type) \u0026\u0026 $claim_type == \"paidclaims\") {\n\t\t\t$htmlData = '\u003ctr id=\"lp_claim_email\"\u003e\u003cth\u003e\u003clabel\u003e' . esc_html__('Load Claim Email', 'listingpro') . '\u003c/label\u003e\u003c/th\u003e\u003ctd\u003e';\n\t\t\t$htmlData .= '\u003cinput type=\"email\" id=\"to_claimer_email\" name=\"to_claimer_email\" placeholder=\"' . esc_attr__('john@gmail.com', 'listingpro') . '\" value=\"' . esc_attr($claimer_email) . '\"\u003e';\n\t\t\t$htmlData .= '\u003cinput type=\"hidden\" id=\"claimer_id\" name=\"claimer_id\" value=\"' . esc_attr($claimer) . '\"\u003e';\n\t\t\t$htmlData .= '\u003cbr /\u003e';\n\t\t\t$htmlData .= '\u003cinput type=\"text\" value=\"' . esc_attr($claimed_post) . '\" id=\"email_subject\" name=\"email_subject\" placeholder=\"' . esc_html__('Claim For Listing', 'listingpro') . '\"\u003e';\n\t\t\t$htmlData .= '\u003cbr /\u003e';\n\t\t\t$htmlData .= '\u003ctextarea class=\"lp_claim_email\" name=\"lp_claim_email\"\u003e' . esc_attr($paidClaimData) . '\u003c/textarea\u003e';\n\t\t\t$htmlData .= '\u003cbr /\u003e';\n\t\t\t$htmlData .= '\u003cbutton type=\"submit\" class=\"lp_trigger_paidclaim_email\"\u003e' . esc_html__('Send Link to email', 'listingpro') . '\u003c/button\u003e';\n\t\t\t$htmlData .= '\u003ci style=\"display:none\" class=\"lp-listing-spingg fa-li fa fa-spinner fa-spin\"\u003e\u003c/i\u003e';\n\t\t\t$htmlData .= '\u003c/td\u003e\u003c/tr\u003e';\n\t\t}\n\t\texit(json_encode($returnData = array('status' =\u003e 'success', 'htmlData' =\u003e $htmlData)));\n\t}\n}\n\nadd_action('wp_ajax_lp_paid_claim_email_form', 'lp_paid_claim_email_form');\n\n/* ======================send email for paid claim================== */\nif (!function_exists('lp_paid_claim_email_send')) {\n\tfunction lp_paid_claim_email_send()\n\t{\n\t\t$returnData = array();\n\t\t$claimer_id = sanitize_text_field($_POST['claimer_id']);\n\t\t$to = '';\n\n\t\tif (isset($_POST['to_claimer_email'])) {\n\t\t\t$to = sanitize_email($_POST['to_claimer_email']);\n\t\t} else {\n\t\t\t$author_obj = get_user_by('id', $claimer_id);\n\t\t\t$to = $author_obj-\u003euser_email;\n\t\t}\n\t\t/* save in user meta */\n\t\tupdate_user_meta($claimer_id, 'email_for_claim', $to);\n\t\t$subject = sanitize_text_field($_POST['email_subject']);\n\t\t$body = sanitize_text_field($_POST['lp_claim_email']);\n\t\t$headers = array('Content-Type: text/html; charset=UTF-8');\n\t\tlp_mail_headers_append();\n\t\t$emailStatus = LP_send_mail($to, $subject, $body, $headers);\n\t\tlp_mail_headers_remove();\n\t\tif (!empty($emailStatus)) {\n\t\t\t$statusMsg = esc_html__('Email has sent', 'listingpro');\n\t\t\t$returnData = array(\n\t\t\t\t'status' =\u003e 'success',\n\t\t\t\t'msg' =\u003e $statusMsg\n\t\t\t);\n\t\t} else {\n\t\t\t$statusMsg = esc_html__('Problem in email sending', 'listingpro');\n\t\t\t$returnData = array(\n\t\t\t\t'status' =\u003e 'error',\n\t\t\t\t'msg' =\u003e $statusMsg\n\t\t\t);\n\t\t}\n\n\t\texit(json_encode($returnData));\n\t}\n}\nadd_action('wp_ajax_lp_paid_claim_email_send', 'lp_paid_claim_email_send');\n\n/* ======================get filter addtional function ================== */\nif (!function_exists('lp_get_extrafields_filter')) {\n\tfunction lp_get_extrafields_filter($fieltType = false, $catid = null, $countreturn = false)\n\t{\n\t\t$returnArray = array();\n\t\t$singleField = array();\n\t\tif (!empty($fieltType)) {\n\t\t\t$singleField = array($fieltType);\n\t\t} else {\n\t\t\t$singleField = array('check', 'checkbox', 'checkboxes', 'radio', 'select');\n\t\t}\n\t\tforeach ($singleField as $fieltType) {\n\t\t\t$args = array(\n\t\t\t\t'post_type' =\u003e 'form-fields',\n\t\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t\t'post_status' =\u003e 'publish',\n\t\t\t\t'meta_query' =\u003e array(\n\t\t\t\t\t'relation' =\u003e 'AND',\n\t\t\t\t\tarray(\n\t\t\t\t\t\t'key' =\u003e 'lp_field_filter_type',\n\t\t\t\t\t\t'value' =\u003e \"$fieltType\",\n\t\t\t\t\t\t'compare' =\u003e '='\n\t\t\t\t\t),\n\t\t\t\t\tarray(\n\t\t\t\t\t\t'key' =\u003e 'lp_listingpro_options',\n\t\t\t\t\t\t'value' =\u003e 'displaytofilt',\n\t\t\t\t\t\t'compare' =\u003e 'LIKE'\n\t\t\t\t\t),\n\n\t\t\t\t),\n\t\t\t);\n\n\t\t\t$addition_fields_Query = new WP_Query($args);\n\t\t\tif ($addition_fields_Query-\u003ehave_posts()) {\n\t\t\t\twhile ($addition_fields_Query-\u003ehave_posts()) {\n\t\t\t\t\t$addition_fields_Query-\u003ethe_post();\n\t\t\t\t\t$isExclusive = listing_get_metabox_by_ID('exclusive_field',  get_the_ID());\n\n\t\t\t\t\tif ($isExclusive == \"Yes\") {\n\t\t\t\t\t\t$returnArray[get_the_ID()] = get_the_title();\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$catsids = listing_get_metabox_by_ID('field-cat',  get_the_ID());\n\t\t\t\t\t\tif (!empty($catsids)) {\n\t\t\t\t\t\t\tif (!empty($catid)) {\n\t\t\t\t\t\t\t\tif (in_array($catid, $catsids)) {\n\t\t\t\t\t\t\t\t\t$returnArray[get_the_ID()] = get_the_title();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t//$returnArray[get_the_ID()] = get_the_title();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\twp_reset_postdata();\n\t\t\t}\n\t\t}\n\t\tif (!empty($countreturn)) {\n\t\t\treturn count($returnArray);\n\t\t} else {\n\t\t\treturn $returnArray;\n\t\t}\n\t}\n}\n\n/* ======================ajax post type search autocompelte ================== */\nif (!function_exists('lp_ja_ajax_search_posttype')) {\n\tfunction lp_ja_ajax_search_posttype()\n\t{\n\t\t$query_args =   array(\n\t\t\t'post_type'     =\u003e sanitize_text_field(stripslashes($_POST['posttype'])),\n\t\t\t'post_status'   =\u003e 'publish',\n\t\t\t'posts_per_page' =\u003e 10,\n\t\t\t's'             =\u003e sanitize_text_field(stripslashes($_POST['search'])),\n\t\t);\n\t\tif (isset($_REQUEST) \u0026\u0026 $_POST['uniqueForEvents'] == 'yes') {\n\t\t\t$query_args['meta_query']   =   array(\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'event_id',\n\t\t\t\t\t'compare' =\u003e 'NOT EXISTS'\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t$results = new WP_Query($query_args);\n\t\t$items = null;\n\t\t$items .= '\u003cul id=\"listing-list\"\u003e';\n\t\tif (!empty($results-\u003eposts)) {\n\t\t\tforeach ($results-\u003eposts as $result) {\n\t\t\t\t$items .= '\u003cli onClick=\"selectListing(' . $result-\u003eID . ')\"\u003e' . $result-\u003epost_title . '\u003c/li\u003e';\n\t\t\t}\n\t\t} else {\n\t\t}\n\t\t$items .= '\u003c/ul\u003e';\n\t\twp_send_json_success($items);\n\t}\n}\nadd_action('wp_ajax_search_posttype', 'lp_ja_ajax_search_posttype');\nadd_action('wp_ajax_nopriv_search_posttype', 'lp_ja_ajax_search_posttype');\n\n/* ======================ajax pricing plan by month year ================== */\nif (!function_exists('lp_filter_pricing_plans')) {\n\tfunction lp_filter_pricing_plans()\n\t{\n\n\t\t$catId = '';\n\t\t$planUsage = '';\n\t\t$catTaxArray = array();\n\t\t$catTax2Array = array();\n\n\t\tif (isset($_POST['planUsage'])) {\n\t\t\t$planUsage = sanitize_text_field(stripslashes($_POST['planUsage']));\n\t\t}\n\n\t\tif (isset($_POST['cat_id'])) {\n\t\t\t$catId = sanitize_text_field(stripslashes($_POST['cat_id']));\n\t\t\tif (!empty($catId)) {\n\t\t\t\t$catTaxArray = array(\n\t\t\t\t\t'key' =\u003e 'lp_selected_cats',\n\t\t\t\t\t'value' =\u003e $catId,\n\t\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\n\t\t$durationType = sanitize_text_field(stripslashes($_POST['duration_type']));\n\t\t$relationParm = 'AND';\n\t\tif (empty($durationType) \u0026\u0026 empty($catTaxArray)) {\n\t\t\t$relationParm = 'OR';\n\t\t}\n\n\n\t\t$pricing_style_views = sanitize_file_name($_POST['currentStyle']);\n\t\t$allowed_statuses = array('horizontal_view_1', 'horizontal_view_2', 'vertical_view_1', 'vertical_view_2', 'vertical_view_3', 'vertical_view_4', 'vertical_view_5', 'vertical_view_6', 'vertical_view_7', 'vertical_view_8', 'vertical_view_9', 'claim_plans');\n\t\t$returnData = null;\n\t\t/* code goes here */\n\t\t$output = null;\n\t\t$args = null;\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'price_plan',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'meta_query' =\u003e array(\n\t\t\t\t'relation' =\u003e $relationParm,\n\t\t\t\t$catTaxArray,\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'plan_duration_type',\n\t\t\t\t\t'value' =\u003e $durationType,\n\t\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t\t),\n\t\t\t\t$catTax2Array,\n\n\t\t\t),\n\t\t);\n\n\t\t$cat_Plan_Query = null;\n\t\t$output = null;\n\t\t$gridNumber = 0;\n\t\t$cat_Plan_Query = new WP_Query($args);\n\t\t$count = $cat_Plan_Query-\u003efound_posts;\n\t\t$GLOBALS['plans_count'] = $count;\n\t\tif ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\twhile ($cat_Plan_Query-\u003ehave_posts()) {\n\t\t\t\t$cat_Plan_Query-\u003ethe_post();\n\t\t\t\t$showplan = true;\n\t\t\t\t$forListings = listing_get_metabox_by_ID('plan_for', get_the_ID());\n\n\t\t\t\t$planfor = get_post_meta(get_the_ID(), 'plan_usge_for', true);\n\t\t\t\tif (isset($_POST['cat_id'])) {\n\t\t\t\t\tif (!empty($_POST['cat_id'])) {\n\t\t\t\t\t\tif (!empty($planUsage)) {\n\t\t\t\t\t\t\tif ($planUsage != $forListings) {\n\t\t\t\t\t\t\t\t$showplan = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!empty($forListings)) {\n\t\t\t\t\t\t\tif ($planUsage != $forListings) {\n\t\t\t\t\t\t\t\t$showplan = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ($showplan == true \u0026\u0026 !empty($planfor)) {\n\t\t\t\t\t\t\tif ($planfor == 'default') {\n\t\t\t\t\t\t\t\t$showplan = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$showplan = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif ($forListings == 'listingandclaim' || $forListings == 'listingonly') {\n\t\t\t\t\t$showplan   =   true;\n\t\t\t\t}\n\t\t\t\tif (!empty($showplan)) {\n\t\t\t\t\tif (in_array($pricing_style_views, $allowed_statuses, true)) {\n\t\t\t\t\t\tob_start();\n\t\t\t\t\t\tinclude(LISTINGPRO_PLUGIN_PATH . \"templates/pricing/loop/\" . $pricing_style_views . '.php');\n\t\t\t\t\t\t$output .= ob_get_contents();\n\t\t\t\t\t\tob_end_clean();\n\t\t\t\t\t\tob_flush();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} //END WHILE\n\t\t\twp_reset_postdata();\n\t\t\tif (!empty($output)) {\n\t\t\t\t$returnData = array('response' =\u003e 'success', 'plans' =\u003e $output);\n\t\t\t} else {\n\t\t\t\t$returnData = array('response' =\u003e 'success', 'plans' =\u003e esc_html__('Sorry! There is no plan associated with the category', 'listingpro'));\n\t\t\t}\n\t\t} else {\n\t\t\t$returnData = array('response' =\u003e 'success', 'plans' =\u003e esc_html__('Sorry! There is no plan associated with the category', 'listingpro'));\n\t\t}\n\n\t\texit(json_encode($returnData));\n\t\t//wp_send_json_success( $returnData );\n\t}\n}\nadd_action('wp_ajax_filter_pricingplan', 'lp_filter_pricing_plans');\nadd_action('wp_ajax_nopriv_filter_pricingplan', 'lp_filter_pricing_plans');\n\n\n\n/*---------------------------Fontawesome Icons For Pricing -----------------------*/\n\nif (!function_exists('listingpro_fontawesome_icon')) {\n\n\tfunction listingpro_fontawesome_icon($icon)\n\t{\n\t\t$output = '';\n\t\tif ($icon == 'checked') {\n\t\t\t$output = '\u003ci class=\"awesome_plan_icon_check fa fa-check-circle\"\u003e\u003c/i\u003e';\n\t\t} elseif ($icon == 'unchecked') {\n\t\t\t$output = '\u003ci class=\"awesome_plan_icon_cross fa fa-times-circle\"\u003e\u003c/i\u003e';\n\t\t}\n\t\treturn $output;\n\t}\n}\n\n/* ******************For coupon code*********************** */\n\nif (!function_exists('lp_generate_coupon_code')) {\n\tfunction lp_generate_coupon_code()\n\t{\n\t\t$chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\t\t$res = \"\";\n\t\tfor ($i = 0; $i \u003c 10; $i++) {\n\t\t\t$res .= $chars[mt_rand(0, strlen($chars) - 1)];\n\t\t}\n\t\treturn $res;\n\t}\n}\n/* ******************For business hours translated*********************** */\n\nif (!function_exists('lp_get_translated_day')) {\n\tfunction lp_get_translated_day($dayName)\n\t{\n\t\treturn $dayName;\n\t}\n}\n\nif (!function_exists('lp_get_days_of_week')) {\n\tfunction lp_get_days_of_week($currentDate)\n\t{\n\t\t$weekArray = array();\n\t\t$currentDayStr = strtotime($currentDate);\n\t\t$currentDay = date(\"l\", strtotime($currentDate));\n\t\t$StartDate = '';\n\t\t//$currentDay = 'Monday';\n\t\tswitch ($currentDay) {\n\n\t\t\tcase ('Monday'):\n\t\t\t\t$StartDate = strtotime($currentDate);\n\t\t\t\tbreak;\n\n\t\t\tcase ('Tuesday'):\n\t\t\t\t$StartDate = strtotime($currentDate . \"-1 day\");\n\t\t\t\tbreak;\n\n\t\t\tcase ('Wednesday'):\n\t\t\t\t$StartDate = strtotime($currentDate . \"-2 day\");\n\t\t\t\tbreak;\n\n\t\t\tcase ('Thursday'):\n\t\t\t\t$StartDate = strtotime($currentDate . \"-3 day\");\n\t\t\t\tbreak;\n\n\t\t\tcase ('Friday'):\n\t\t\t\t$StartDate = strtotime($currentDate . \"-4 day\");\n\t\t\t\tbreak;\n\n\t\t\tcase ('Saturday'):\n\t\t\t\t$StartDate = strtotime($currentDate . \"-5 day\");\n\t\t\t\tbreak;\n\n\t\t\tcase ('Sunday'):\n\t\t\t\t$StartDate = strtotime($currentDate . \"-6 day\");\n\t\t\t\tbreak;\n\n\t\t\tcase ('Sunday'):\n\t\t\t\t$StartDate = strtotime($currentDate . \"-7 day\");\n\t\t\t\tbreak;\n\t\t}\n\n\t\t$start_date = date(get_option('date_format'), $StartDate);\n\t\t$weekArray = array(\n\t\t\t$StartDate,\n\t\t\tstrtotime($start_date . \"+1 day\"),\n\t\t\tstrtotime($start_date . \"+2 day\"),\n\t\t\tstrtotime($start_date . \"+3 day\"),\n\t\t\tstrtotime($start_date . \"+4 day\"),\n\t\t\tstrtotime($start_date . \"+5 day\"),\n\t\t\tstrtotime($start_date . \"+6 day\")\n\t\t);\n\t\treturn $weekArray;\n\t}\n}\n\n/* ================================days of month ===================== */\n\nif (!function_exists('lp_get_days_of_month')) {\n\tfunction lp_get_days_of_month($month, $year)\n\t{\n\t\t$num = cal_days_in_month(CAL_GREGORIAN, $month, $year);\n\t\t$dates_month = array();\n\n\t\tfor ($i = 1; $i \u003c= $num; $i++) {\n\t\t\t$mktime = mktime(0, 0, 0, $month, $i, $year);\n\t\t\t$date = date(\"Y-m-d\", $mktime);\n\t\t\t$date = strtotime($date);\n\t\t\t$dates_month[$i] = $date;\n\t\t}\n\n\t\treturn $dates_month;\n\t}\n}\n\n/* ========================= months of year =============================== */\nif (!function_exists('lp_get_all_months')) {\n\tfunction lp_get_all_months()\n\t{\n\t\t$months = array(1 =\u003e 'January', 2 =\u003e 'February', 3 =\u003e 'March', 4 =\u003e 'April', 5 =\u003e 'May', 6 =\u003e 'June', 7 =\u003e 'July', 8 =\u003e 'August', 9 =\u003e 'September', 10 =\u003e 'October', 11 =\u003e 'November', 12 =\u003e 'December');\n\t\treturn $months;\n\t}\n}\n\n\n/* ========================= lp set stats for chart =============================== */\nif (!function_exists('lp_set_this_stats_for_chart')) {\n\tfunction lp_set_this_stats_for_chart($authorID, $listing_id, $type)\n\t{\n\t\tif ($type == \"view\") {\n\t\t\t$table = \"listing_stats_views\";\n\t\t} elseif ($type == \"reviews\") {\n\t\t\t$table = \"listing_stats_reviews\";\n\t\t} elseif ($type == \"leads\") {\n\t\t\t$table = \"listing_stats_leads\";\n\t\t}\n\t\t$lpTodayTime = date(get_option('date_format'));\n\t\t$lpTodayTime = strtotime($lpTodayTime);\n\n\t\t/* main function */\n\t\tlp_create_stats_table_views();\n\t\tlp_create_stats_table_reviews();\n\t\tlp_create_stats_table_leads();\n\t\t$listing_title = get_the_title($listing_id);\n\t\t$allCounts = '';\n\t\t/* check if already have */\n\t\t$ndatDta = array();\n\t\t//$ndatDta2 = array();\n\t\t$condition = \"listing_id='$listing_id' AND action_type='$type'\";\n\t\t$ifDataExist = lp_get_data_from_db($table, '*', $condition);\n\t\tif (!empty($ifDataExist)) {\n\t\t\t/* already exists */\n\t\t\tforeach ($ifDataExist as $indx =\u003e $val) {\n\t\t\t\t$datDta  = $val-\u003emonth;\n\t\t\t\t$datDta = unserialize($datDta);\n\t\t\t\t//$ndatDta = $datDta;\n\t\t\t\t$hasData = false;\n\t\t\t\t$resCount = '';\n\t\t\t\tif (!empty($datDta)) {\n\t\t\t\t\tforeach ($datDta as $ind =\u003e $singleData) {\n\t\t\t\t\t\t$savedDate = $singleData['date'];\n\t\t\t\t\t\t$savedcount = $singleData['count'];\n\t\t\t\t\t\t$ndatDta[$ind]['count'] = $savedcount;\n\t\t\t\t\t\t$ndatDta[$ind]['date'] = $savedDate;\n\t\t\t\t\t\t$allCounts = $val-\u003ecount;\n\t\t\t\t\t\tif ($savedDate == \"$lpTodayTime\") {\n\t\t\t\t\t\t\t$hasData = true;\n\t\t\t\t\t\t\t$ndatDta[$ind]['count'] = $savedcount + 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$resCount = $ind;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (empty($hasData)) {\n\t\t\t\t\t\t//$allCounts = $allCounts + 1;\n\t\t\t\t\t\t$resCount++;\n\t\t\t\t\t\t$ndatDta[$resCount]['date'] = $lpTodayTime;\n\t\t\t\t\t\t$ndatDta[$resCount]['count'] = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!empty($ndatDta)) {\n\t\t\t\t$allCounts = $allCounts + 1;\n\t\t\t\t$ndatDta = serialize($ndatDta);\n\n\t\t\t\t$where = array(\n\t\t\t\t\t'listing_id' =\u003e $listing_id\n\t\t\t\t);\n\n\t\t\t\t$dataArray = array(\n\t\t\t\t\t'month' =\u003e $ndatDta,\n\t\t\t\t\t'count' =\u003e $allCounts,\n\t\t\t\t);\n\t\t\t\tlp_update_data_in_db($table, $dataArray, $where);\n\t\t\t}\n\t\t} else {\n\n\t\t\t/* new record */\n\t\t\t$logRecord = array(\n\t\t\t\tarray(\n\t\t\t\t\t'date' =\u003e $lpTodayTime,\n\t\t\t\t\t'count' =\u003e 1,\n\t\t\t\t)\n\t\t\t);\n\t\t\t$logRecord = serialize($logRecord);\n\n\t\t\t$dataArray = array(\n\t\t\t\t'user_id' =\u003e $authorID,\n\t\t\t\t'listing_id' =\u003e $listing_id,\n\t\t\t\t'listing_title' =\u003e $listing_title,\n\t\t\t\t'action_type' =\u003e $type,\n\t\t\t\t'month' =\u003e $logRecord,\n\t\t\t\t'count' =\u003e 1,\n\t\t\t);\n\t\t\tlp_insert_data_in_db($table, $dataArray);\n\t\t}\n\t}\n}\n\n/* ================= lp get data attributes ====================== */\nif (!function_exists('lp_header_data_atts')) {\n\tfunction lp_header_data_atts($datatype)\n\t{\n\t\tglobal $listingpro_options;\n\t\t$lp_map_zoom = !empty($listingpro_options['map_zoom']) ? $listingpro_options['map_zoom'] : '17'; //new code 2.7.3\n\t\t$lpAtts = ' ';\n\t\tif ($datatype == \"body\") {\n\t\t\tif (is_search() || is_tax()) {\n\t\t\t\tif (lp_theme_option('enable_search_filter') == 1) {\n\t\t\t\t\tif (lp_theme_option('enable_nearme_search_filter') == 1) {\n\t\t\t\t\t\tif (lp_theme_option('disable_location_in_nearme_search_filter') == 1) {\n\t\t\t\t\t\t\t$lpAtts .= \"data-locdisablefilter='yes'\" . ' ';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t$deflat = lp_theme_option(\"lp_default_map_location_lat\");\n\t\t\t$deflong = lp_theme_option(\"lp_default_map_location_long\");\n\t\t\t$maplistingby = lp_theme_option(\"map_listing_by\");\n\t\t\t$defIconOp = lp_theme_option('lp_icon_for_archive_pages_switch');\n\t\t\tif ($defIconOp == \"enable\") {\n\t\t\t\t$category_image = lp_theme_option_url('lp_icon_for_archive_search_pages');\n\t\t\t\t$lpAtts .= \"data-deficon=\" . $category_image . \" \";\n\t\t\t}\n\t\t\tif (empty($deflat) \u0026\u0026 empty($deflong)) {\n\t\t\t\t$deflat = 0;\n\t\t\t\t$deflong = -0;\n\t\t\t}\n\t\t\t$lpAtts .= 'data-submitlink=\"' . listingpro_url(\"submit-listing\") . '\" ';\n\t\t\t$lpAtts .= 'data-sliderstyle=\"' . lp_theme_option(\"lp_detail_slider_styles\") . '\" ';\n\t\t\t$lpAtts .= 'data-defaultmaplat=\"' . $deflat . '\" ';\n\t\t\t$lpAtts .= 'data-defaultmaplot=\"' . $deflong . '\" ';\n\t\t\t$lpAtts .= 'data-lpsearchmode=\"' . lp_theme_option(\"lp_what_field_algo\") . '\" ';\n\t\t\t$lpAtts .= 'data-maplistingby=\"' . $maplistingby . '\" ';\n\t\t\t//new code 2.6.15\n\t\t\tif (is_single()) {\n\t\t\t\t$lpAtts .= 'data-mapzoom=\"' . $lp_map_zoom . '\" ';\n\t\t\t}\n\t\t\t//end new code 2.6.15\n\t\t} elseif ($datatype == \"page\") {\n\t\t\t$mtoken = lp_theme_option(\"mapbox_token\");\n\t\t\t$maptype = lp_theme_option(\"map_option\");\n\t\t\tif (empty($mtoken) || $maptype != \"mapbox\") {\n\t\t\t\t$mtoken = 0;\n\t\t\t}\n\t\t\t$primary_logo_url = isset($listingpro_options['primary_logo']['url']) ? esc_url($listingpro_options['primary_logo']['url']) : '';\n\t\t\t$lpAtts .= 'data-detail-page-style=\"' . lp_theme_option('lp_detail_page_styles') . '\" ';\n\t\t\t$lpAtts .= 'data-lpattern=\"' . lp_theme_option('lp_listing_locations_field_options') . '\" ';\n\t\t\t$lpAtts .= 'data-sitelogo=\"' . $primary_logo_url . '\" ';\n\t\t\t$lpAtts .= 'data-site-url=\"' . esc_url(home_url(\"/\")) . '\" ';\n\t\t\t$lpAtts .= 'data-ipapi=\"' . lp_theme_option(\"lp_current_ip_type\") . '\" ';\n\t\t\t$lpAtts .= 'data-lpcurrentloconhome=\"' . lp_theme_option(\"lp_auto_current_locations_switch\") . '\" ';\n\t\t\t$lpAtts .= 'data-mtoken=\"' . $mtoken . '\" ';\n\t\t\t$lpAtts .= 'data-mtype=\"' . $maptype . '\" ';\n\t\t\t$lpAtts .= 'data-mstyle=\"' . lp_theme_option('map_style') . '\" ';\n\t\t}\n\n\t\techo wp_kses_post($lpAtts);\n\t}\n}\n\n\n/* ============== ListingPro get url of any theme option ============ */\nif (!function_exists('lp_theme_option_url')) {\n\tfunction lp_theme_option_url($optionID)\n\t{\n\t\tglobal $listingpro_options;\n\t\tif (isset($listingpro_options[\"$optionID\"]) \u0026\u0026 is_array($listingpro_options[\"$optionID\"])) {\n\t\t\t$optionValue = $listingpro_options[\"$optionID\"]['url'];\n\t\t\treturn $optionValue;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n/* ============== ListingPro get id of any theme option ============ */\nif (!function_exists('lp_theme_option_id')) {\n\tfunction lp_theme_option_id($optionID)\n\t{\n\t\tglobal $listingpro_options;\n\t\tif (isset($listingpro_options[\"$optionID\"])) {\n\t\t\tif (isset($listingpro_options[\"$optionID\"]['id'])) {\n\t\t\t\t$optionValue = $listingpro_options[\"$optionID\"]['id'];\n\t\t\t\treturn $optionValue;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n/* ============== ListingPro get theme option based on 2 index ============ */\nif (!function_exists('lp_theme_option_by_index')) {\n\tfunction lp_theme_option_by_index($optionID, $index)\n\t{\n\t\tglobal $listingpro_options;\n\t\tif (isset($listingpro_options[\"$optionID\"])) {\n\t\t\tif (isset($listingpro_options[\"$optionID\"][\"$index\"])) {\n\t\t\t\t$optionValue = $listingpro_options[\"$optionID\"][\"$index\"];\n\t\t\t\treturn $optionValue;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n/* show notification */\nif (!function_exists('lp_show_notification')) {\n\tfunction lp_show_notification($source, $type)\n\t{\n\t\tif (!empty($source) \u0026\u0026 !empty($type)) {\n\t\t\tswitch ($source) {\n\t\t\t\t/* listings */\n\t\t\t\tcase 'listing':\n\t\t\t\t\tswitch ($type) {\n\t\t\t\t\t\tcase 'success':\n\t\t\t\t\t\t\tob_start();\n\t\t\t\t\t\t\tget_template_part('templates/notifications/listing_success');\n\t\t\t\t\t\t\t$data = ob_get_contents();\n\t\t\t\t\t\t\tob_end_clean();\n\t\t\t\t\t\t\tob_flush();\n\t\t\t\t\t\t\treturn json_encode($data);\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'error':\n\t\t\t\t\t\t\tob_start();\n\t\t\t\t\t\t\tget_template_part('templates/notifications/listing_error');\n\t\t\t\t\t\t\t$data = ob_get_contents();\n\t\t\t\t\t\t\tob_end_clean();\n\t\t\t\t\t\t\tob_flush();\n\t\t\t\t\t\t\treturn json_encode($data);\n\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\tcase 'info':\n\t\t\t\t\t\t\tob_start();\n\t\t\t\t\t\t\tget_template_part('templates/notifications/listing_info');\n\t\t\t\t\t\t\t$data = ob_get_contents();\n\t\t\t\t\t\t\tob_end_clean();\n\t\t\t\t\t\t\tob_flush();\n\t\t\t\t\t\t\treturn json_encode($data);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n}\n\nif (!function_exists('lp_notification_div')) {\n\tfunction lp_notification_div()\n\t{\n\t\tif (is_singular('listing')) {\n\t\t?\u003e\n\t\t\t\u003cdiv class=\"lp-notifaction-area lp-pending-lis-infor lp-notifaction-error\" data-error-msg=\"\u003c?php echo esc_html__('Something went wrong!', 'listingpro'); ?\u003e\"\u003e\n\t\t\t\t\u003cdiv class=\"lp-notifaction-area-outer\"\u003e\n\t\t\t\t\t\u003cdiv class=\"row\"\u003e\n\t\t\t\t\t\t\u003cdiv class=\"col-md-1\"\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\"lp-notifi-icons\"\u003e\u003cimg alt=\"image\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE2SURBVFhH7dhBaoQwFMZxoZu5w5ygPc7AlF6gF5gLtbNpwVVn7LKQMG4b3c9ZCp1E3jdEEI1JnnGRP7h5Iv4wKmiRy+U8qkT7Wkn1VpblA43Yqn7abSWb+luqRxpNZ3D6oP+zUO+cSIPT57jqc/1p4I7G0xmUwXEibdxJ/j7T2D1OZDAOcSD7y9ruaexfTGR0HIqBZMOhECQ7DvkgF8OhOcjFccgFmQyHxpDJcWgIuRoc6iFl87kqHOqunFQfBtltQr3QrnVkLWsHxHLT7rTZ95y5cvflXgNy6IHo3ZNCHZMhx55WQh6TIV1eJcmQLji0OHIODi2G9MEhdmQIDrEhY+BQdGRMHIqG5MChYKSNC/puHSkIqQ+qOXGoh5TqQOPpvi7N06x/JQF1SI0TQmxolMvl3CuKG6LJpCW33jxQAAAAAElFTkSuQmCC\"\u003e\u003c/div\u003e\n\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\u003cdiv class=\"col-md-11\"\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\"lp-notifaction-inner\"\u003e\n\t\t\t\t\t\t\t\t\u003ch4\u003e\u003c/h4\u003e\n\t\t\t\t\t\t\t\t\u003cp\u003e\u003c/p\u003e\n\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\u003c/div\u003e\n\n\t\t\t\t\u003c/div\u003e\n\t\t\t\u003c/div\u003e\n\t\t\t\u003c?php\n\t\t}\n\t}\n\tadd_action('lp_add_at_startof_footer', 'lp_notification_div', 1);\n}\n/* notification for pending single listing */\n\nif (!function_exists('lp_listing_pending_notice')) {\n\tfunction lp_listing_pending_notice()\n\t{\n\t\tglobal $post;\n\t\t$listingId = $post-\u003eID;\n\t\t$listingStatus = get_post_status($listingId);\n\t\t$authorID = $post-\u003epost_author;\n\t\tif (is_user_logged_in()) {\n\t\t\tif (is_singular('listing')) {\n\t\t\t\t$uid = get_current_user_id();\n\t\t\t\tif ($uid == $authorID) {\n\t\t\t\t\tif ($listingStatus == \"pending\") {\n\t\t\t\t\t\t$data = lp_show_notification('listing', 'info');\n\t\t\t?\u003e\n\t\t\t\t\t\t\u003cscript\u003e\n\t\t\t\t\t\t\tjQuery(window).load(function() {\n\t\t\t\t\t\t\t\tvar $dataText = JSON.parse(JSON.stringify(\u003c?php echo wp_kses_post($data); ?\u003e));\n\t\t\t\t\t\t\t\tjQuery('.lp-notifaction-area').find('h4').html($dataText);\n\t\t\t\t\t\t\t\tjQuery('.lp-notifaction-area').removeClass('lp-notifaction-success').addClass('lp-notifaction-error');\n\t\t\t\t\t\t\t\tjQuery('.lp-notifaction-area').addClass('active-wrap');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\u003c/script\u003e\n\t\t\u003c?php\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t/* view will be only count for vistors not for author */\n\t\tif (is_singular('listing')) {\n\t\t\tif ($listingStatus == \"publish\") {\n\t\t\t\t$table = 'listing_stats_views';\n\t\t\t\t$data = array('user_id' =\u003e $authorID);\n\t\t\t\t$where = array('listing_id' =\u003e $listingId);\n\t\t\t\tlp_update_data_in_db($table, $data, $where);\n\n\t\t\t\tif (is_user_logged_in()) {\n\t\t\t\t\t$uid = get_current_user_id();\n\t\t\t\t\tif ($uid != $authorID) {\n\t\t\t\t\t\tlp_set_this_stats_for_chart($authorID, $listingId, 'view');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlp_set_this_stats_for_chart($authorID, $listingId, 'view');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tadd_action('listing_single_page_content', 'lp_listing_pending_notice', 1);\n}\n\n/* ===================== check if plan has month/year type========= */\nif (!function_exists('lp_plan_has_monthyear_duration')) {\n\tfunction lp_plan_has_monthyear_duration($durationType, $planUsage, $categories)\n\t{\n\t\t$args = null;\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'price_plan',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'meta_query' =\u003e array(\n\t\t\t\t'relation' =\u003e 'AND',\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'plan_duration_type',\n\t\t\t\t\t'value' =\u003e $durationType,\n\t\t\t\t\t'compare' =\u003e 'LIKE',\n\t\t\t\t),\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'plan_usge_for',\n\t\t\t\t\t'value' =\u003e array($planUsage),\n\t\t\t\t\t'compare' =\u003e 'IN',\n\t\t\t\t),\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'lp_selected_cats',\n\t\t\t\t\t'compare' =\u003e \"$categories\",\n\t\t\t\t),\n\n\t\t\t),\n\t\t);\n\n\t\t$cat_Plan_Query = null;\n\t\t$cat_Plan_Query = new WP_Query($args);\n\t\t$count = $cat_Plan_Query-\u003efound_posts;\n\t\tif (!empty($count)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n/* lp reply to lead message */\nadd_action('wp_ajax_lp_reply_to_lead_msg', 'lp_reply_to_lead_msg');\nif (!function_exists('lp_reply_to_lead_msg')) {\n\tfunction lp_reply_to_lead_msg()\n\t{\n\t\tcheck_ajax_referer('lp_ajax_nonce', 'lpNonce');\n\t\t// Nonce is checked, get the POST data and sign user on\n\t\tif (!wp_verify_nonce(sanitize_text_field($_POST['lpNonce']), 'lp_ajax_nonce')) {\n\t\t\t$res = json_encode(array('nonceerror' =\u003e 'yes'));\n\t\t\tdie($res);\n\t\t}\n\t\t$statusReply = array();\n\t\t$udemail = sanitize_text_field($_POST['lpleadmail']);\n\t\t$lp_listing_id = sanitize_text_field($_POST['lp_listing_id']);\n\t\t$message = sanitize_text_field($_POST['lp_replylead']);\n\t\t$newTimeArray = array();\n\t\t$lpdatetoday = date(get_option('date_format'));\n\t\t$newTimeArray = array();\n\t\t$newMessagesArray = array();\n\t\t$userID = get_current_user_id();\n\t\t$authormeta = get_user_by('id', $userID);\n\t\t$authmail = $authormeta-\u003euser_email;\n\t\t$authname = $authormeta-\u003euser_login;\n\n\t\t$lpdatetodaycus = date('Y-m-d H:i:s');\n\t\t$lpdatetodaycus = strtotime($lpdatetodaycus);\n\t\t$lpAllPrevMessages = get_user_meta($userID, 'lead_messages', true);\n\t\tif (!empty($lpAllPrevMessages)) {\n\t\t\t$PrevMessges = $lpAllPrevMessages[$lp_listing_id];\n\t\t\tif (array_key_exists(\"$udemail\", $PrevMessges)) {\n\t\t\t\t$PrevMessges = $lpAllPrevMessages[$lp_listing_id][$udemail];\n\t\t\t\tif (array_key_exists(\"replies\", $PrevMessges)) {\n\t\t\t\t\tif (!empty($PrevMessges['replies'])) {\n\t\t\t\t\t\t$newMessagesArray = $PrevMessges['replies']['message'];\n\t\t\t\t\t\t$newTimeArray = $PrevMessges['replies']['time'];\n\t\t\t\t\t}\n\t\t\t\t\t$newMessagesArray[$lpdatetodaycus] = $message;\n\t\t\t\t\tarray_push($newTimeArray, $lpdatetoday);\n\t\t\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['message'] = $newMessagesArray;\n\t\t\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['time'] = $newTimeArray;\n\t\t\t\t} else {\n\t\t\t\t\t$newMessagesArray[$lpdatetodaycus] = $message;\n\t\t\t\t\tarray_push($newTimeArray, $lpdatetoday);\n\t\t\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['message'] = $newMessagesArray;\n\t\t\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['time'] = $newTimeArray;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$newMessagesArray[$lpdatetodaycus] = $message;\n\t\t\t\tarray_push($newTimeArray, $lpdatetoday);\n\t\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['message'] = $newMessagesArray;\n\t\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['time'] = $newTimeArray;\n\t\t\t}\n\t\t} else {\n\t\t\t$newMessagesArray[$lpdatetodaycus] = $message;\n\t\t\tarray_push($newTimeArray, $lpdatetoday);\n\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['message'] = $newMessagesArray;\n\t\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['replies']['time'] = $newTimeArray;\n\t\t}\n\t\t$lpAllPrevMessages[$lp_listing_id][$udemail]['status'] = 'read';\n\t\tupdate_user_meta($userID, 'lead_messages', $lpAllPrevMessages);\n\n\t\t$latestLead = array(\n\t\t\t$lp_listing_id =\u003e $udemail,\n\t\t);\n\n\t\t//saving message in inbox of receiver if user is registered\n\t\tif (email_exists($udemail)) {\n\t\t\t$recId = email_exists($udemail);\n\n\t\t\t/* saving data for internal messages */\n\t\t\t$newMessagesArray = array();\n\t\t\t$newTimeArray = array();\n\t\t\t$dataArray = array();\n\t\t\t$lpdatetoday = date(get_option('date_format'));\n\t\t\t$dataArray['name'] = $authname;\n\t\t\t$dataArray['phone'] = '';\n\t\t\t$dataArray['message'][$lpdatetodaycus] = $message;\n\t\t\t$dataArray['time'] = array($lpdatetoday);\n\t\t\t$dataArray['extras'] = $newFormData;\n\t\t\t$lpAllPrevMessagess = get_user_meta($recId, 'lead_messages', true);\n\t\t\tif (!empty($lpAllPrevMessagess)) {\n\t\t\t\t/* already have messages */\n\t\t\t\tif (array_key_exists(\"$lp_listing_id\", $lpAllPrevMessagess)) {\n\t\t\t\t\t$PrevMessges = $lpAllPrevMessagess[$lp_listing_id];\n\t\t\t\t\tif (array_key_exists(\"$authmail\", $PrevMessges)) {\n\t\t\t\t\t\t$PrevMessges = $lpAllPrevMessagess[$lp_listing_id][$authmail];\n\t\t\t\t\t\t$newMessagesArray = $PrevMessges['leads']['message'];\n\t\t\t\t\t\t$newTimeArray = $PrevMessges['leads']['time'];\n\t\t\t\t\t\t$newMessagesArray[$lpdatetodaycus] = $message;\n\t\t\t\t\t\tarray_push($newTimeArray, $lpdatetoday);\n\t\t\t\t\t\t$dataArray['message'] = $newMessagesArray;\n\t\t\t\t\t\t$dataArray['time'] = $newTimeArray;\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t$lpAllPrevMessagess[$lp_listing_id][$authmail]['leads'] = $dataArray;\n\t\t\t\t\t}\n\t\t\t\t\t$lpAllPrevMessagess[$lp_listing_id][$authmail]['leads'] = $dataArray;\n\t\t\t\t} else {\n\t\t\t\t\t/* no key exists */\n\n\t\t\t\t\t$lpAllPrevMessagess[$lp_listing_id][$authmail]['leads'] = $dataArray;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t/* first message */\n\t\t\t\t$lpAllPrevMessagess = array();\n\t\t\t\t$lpAllPrevMessagess[$lp_listing_id][$authmail]['leads'] = $dataArray;\n\t\t\t}\n\t\t\t$lpAllPrevMessagess[$lp_listing_id][$authmail]['status'] = 'unread';\n\t\t\t$latestLeadd = array(\n\t\t\t\t$lp_listing_id =\u003e $authmail,\n\t\t\t);\n\n\n\t\t\tupdate_user_meta($recId, 'lead_messages', $lpAllPrevMessagess);\n\t\t\tupdate_user_meta($recId, 'latest_lead', $latestLeadd);\n\t\t}\n\n\t\tupdate_user_meta($userID, 'latest_lead', $latestLead);\n\n\t\t/* for registered user leads sent */\n\t\tif (email_exists($udemail)) {\n\t\t\t$rUser = get_user_by('email', $udemail);\n\t\t\t$rUserID = $rUser-\u003eID;\n\t\t\tupdate_user_meta($rUserID, 'leads_sent', $lpAllPrevMessages);\n\t\t}\n\t\t$stringaut = esc_html__(\"From: Listing Author : \", \"listingpro\");\n\t\t$headers[] = \"$stringaut $authname \u003c$authmail\u003e\";\n\t\t$headers[] = \"Content-Type: text/html; charset=UTF-8\";\n\t\t$subject = esc_html__('Lead message reply', 'listingpro');\n\t\tlp_mail_headers_append();\n\t\tLP_send_mail($udemail, $subject, $message, $headers);\n\t\tlp_mail_headers_remove();\n\t\t$statusReply = array('status' =\u003e 'success');\n\t\texit(json_encode($statusReply));\n\t}\n}\n\n/* function to dispaly messge thread on inbox page*/\nadd_action('wp_ajax_lp_preview_this_message_thread', 'lp_preview_this_message_thread');\n\n/* lp preview ths thread */\n\nif (!function_exists('lp_preview_this_message_thread')) {\n\tfunction lp_preview_this_message_thread()\n\t{\n\t\tcheck_ajax_referer('lp_ajax_nonce', 'lpNonce');\n\t\t// Nonce is checked, get the POST data and sign user on\n\t\tif (!wp_verify_nonce(sanitize_text_field($_POST['lpNonce']), 'lp_ajax_nonce')) {\n\t\t\t$res = json_encode(array('nonceerror' =\u003e 'yes'));\n\t\t\tdie($res);\n\t\t}\n\t\t$statusReponse = array();\n\t\t$listindid = sanitize_text_field($_POST['listindid']);\n\t\t$useremail = sanitize_text_field($_POST['useremail']);\n\t\t$outputcenter = null;\n\t\t$outputright = null;\n\n\t\t$latestLeadArray = array();\n\t\t$latestRepliesArray = array();\n\t\t$post_id = $listindid;\n\t\t$lead_mail = $useremail;\n\t\t$name = '';\n\t\t$phone = '';\n\t\t$times = array();\n\t\t$replytimes = array();\n\t\t$messages = array();\n\t\t$replymessages = array();\n\n\t\t$currentUserID = get_current_user_id();\n\t\t$leadAvatar = '';\n\t\t$leadUID = '';\n\t\tif (email_exists($lead_mail)) {\n\t\t\t$leadUser = get_user_by('email', $lead_mail);\n\t\t\t$leadUID = $leadUser-\u003eID;\n\t\t\t$leadAvatar = listingpro_get_avatar_url($leadUID, $size = '94');\n\t\t} else {\n\t\t\t$leadAvatar = listingpro_icons_url('lp_def_author');\n\t\t}\n\n\t\t$lpAllMessges = get_user_meta($currentUserID, 'lead_messages', true);\n\t\t$lpAllMessges[$listindid][$useremail]['status'] = 'read';\n\t\tupdate_user_meta($currentUserID, 'lead_messages', $lpAllMessges);\n\t\t//$adminAvatar = listingpro_get_avatar_url($currentUserID, $size = '94');\n\t\t$adminAvatar = listingpro_author_image();\n\n\t\tglobal $current_user;\n\n\t\t$lpAllMessges = get_user_meta($currentUserID, 'lead_messages', true);\n\t\tif (!empty($lpAllMessges)) {\n\t\t\t$latestLeadArray = $lpAllMessges[$post_id][$lead_mail]['leads'];\n\t\t\tif (array_key_exists(\"replies\", $lpAllMessges[$post_id][$lead_mail])) {\n\t\t\t\t$latestRepliesArray = $lpAllMessges[$post_id][$lead_mail]['replies'];\n\t\t\t}\n\t\t\t$name = $latestLeadArray['name'];\n\t\t\t$phone = $latestLeadArray['phone'];\n\t\t\t$times = $latestLeadArray['time'];\n\t\t\t$messages = $latestLeadArray['message'];\n\t\t\t$extras = $latestLeadArray['extras'];\n\t\t\tif (!empty($latestRepliesArray)) {\n\t\t\t\t$replytimes = $latestRepliesArray['time'];\n\t\t\t\tif (!empty($replytimes)) {\n\t\t\t\t\tif (is_array($replytimes)) {\n\t\t\t\t\t\t$replytimes = array_reverse($replytimes);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$replymessages = $latestRepliesArray['message'];\n\t\t\t}\n\n\t\t\t$outputcenter = '\n\t\t\t\t\t\u003cdiv class=\"row\"\u003e\n\t\t\t\t\t\t\u003cdiv class=\"lp-message-title clearfix text-right\"\u003e\n\t\t\t\t\t\t';\n\n\t\t\tif (!empty($messages)) {\n\t\t\t\tif (lp_theme_option('inbox_msg_del') == true) {\n\t\t\t\t\t$outputcenter .= '\u003cbutton type=\"button\"  data-emailid=\"' . $lead_mail . '\"   data-listingid=\"' . $post_id . '\" class=\"btn lp-delte-conv\"\u003e\u003ci class=\"fa fa-trash\" aria-hidden=\"true\"\u003e\u003c/i\u003e ' . esc_html__('Delete', 'listingpro') . '\u003c/button\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cspan class=\"lploadingwrap\"\u003e\u003ci class=\"lpthisloading fa fa-spinner fa-spin\"\u003e\u003c/i\u003e\u003c/span\u003e';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$outputcenter .= '\n\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t';\n\n\t\t\t$outputcenter .= '\n\t\t\u003cdiv class=\"lp_all_messages_box clearfix\"\u003e';\n\n\t\t\tif (!empty($messages)) {\n\n\t\t\t\t$outputcenter .= '\u003cdiv  class=\"lpsinglemsgbox clearfix\"\u003e';\n\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpsinglemsgbox-inner\"\u003e';\n\t\t\t\t/* leads */\n\t\t\t\t$msgCount = 1;\n\t\t\t\t$outputtMSG = null;\n\t\t\t\t$outputcenterr = '';\n\t\t\t\t$all_messages = $messages + $replymessages;\n\t\t\t\tksort($all_messages);\n\t\t\t\tforeach ($all_messages as $key =\u003e $singlemessage) {\n\t\t\t\t\t//messages\n\t\t\t\t\tif (isset($messages[$key])) {\n\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest-outer\"\u003e';\n\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest-img-outer\"\u003e';\n\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest-image\"\u003e\u003cimg src=\"' . $leadAvatar . '\"\u003e\u003c/div\u003e';\n\t\t\t\t\t\t$outputcenter .= '\u003cp\u003e' . $name . '\u003c/p\u003e';\n\t\t\t\t\t\t$outputcenter .= '\u003c/div\u003e';\n\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest\"\u003e\u003cdiv\u003e\u003c/div\u003e\u003cdiv class=\"lp-sec-div\"\u003e\u003c/div\u003e\u003cp\u003e' . $singlemessage . '\u003c/p\u003e\u003c/div\u003e';\n\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQestdate\"\u003e\u003cp\u003e' . date_i18n(get_option(\"date_format\"), strtotime($times[$key])) . '\u003c/p\u003e\u003c/div\u003e';\n\t\t\t\t\t\t$outputcenter .= '\u003c/div\u003e';\n\t\t\t\t\t}\n\t\t\t\t\t/* replies */\n\t\t\t\t\tif (!empty($replymessages)) {\n\t\t\t\t\t\tif (isset($replymessages[$key])) {\n\t\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest-outer lpreplyQest-outer\"\u003e';\n\n\t\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest\"\u003e\u003cdiv\u003e\u003c/div\u003e\u003cdiv class=\"lp-sec-div\"\u003e\u003c/div\u003e\u003cp\u003e' . $replymessages[$key] . '\u003c/p\u003e\u003c/div\u003e';\n\n\t\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest-img-outer\"\u003e';\n\t\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQest-image\"\u003e\u003cimg src=\"' . $adminAvatar . '\"\u003e\u003c/div\u003e';\n\t\t\t\t\t\t\t$outputcenter .= '\u003cp\u003e' . $current_user-\u003euser_login . '\u003c/p\u003e';\n\t\t\t\t\t\t\t$outputcenter .= '\u003c/div\u003e';\n\t\t\t\t\t\t\t$outputcenter .= '\u003cdiv class=\"lpQestdate\"\u003e\u003cp\u003e' . date_i18n(get_option(\"date_format\"), strtotime($replytimes[$key])) . '\u003c/p\u003e\u003c/div\u003e';\n\t\t\t\t\t\t\t$outputcenter .= '\u003c/div\u003e';\n\t\t\t\t\t\t\t$outputcenter .= PHP_EOL;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$msgCount++;\n\t\t\t\t}\n\n\t\t\t\t$outputcenter .= $outputcenterr;\n\n\t\t\t\t$outputcenter .= '\u003c/div\u003e';\n\n\n\t\t\t\t$outputcenter .= '\u003c/div\u003e';\n\n\t\t\t\t$outputcenter .= '\n\t\t\t\t\t\t\u003cform id=\"lp_leadReply\" name=\"lp_leadReply\" class=\"lp_leadReply clearfix\" method=\"POST\"\u003e\n\t\t\t\t\t\t\t\u003ctextarea class=\"lp_replylead\" name=\"lp_replylead\" placeholder=\"' . __('Reply to this', 'listingpro') . '\" required\u003e\u003c/textarea\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\"pos-relative clearfix\"\u003e\n\t\t\t\t\t\t\t\t\u003ci class=\"lpthisloading fa fa-spinner fa-spin\"\u003e\u003c/i\u003e\n\t\t\t\t\t\t\t\t\u003cbutton type=\"submit\" class=\"lppRocesesp\"\u003e' . esc_html__('Send message', 'listingpro') . '\u003c/button\u003e\n\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\u003cinput type=\"hidden\" name=\"lpleadmail\" value=\"' . $lead_mail . '\"\u003e\n\t\t\t\t\t\t\t\u003cinput type=\"hidden\" name=\"lp_listing_id\" value=\"' . $post_id . '\"\u003e\n\t\t\t\t\t\t\u003c/form\u003e\n\t\t\t\t\t\t';\n\t\t\t\t$outputcenter .= '\u003c/div\u003e';\n\n\t\t\t\t$outputright .= '\n\t\t\t\t\t\t\u003cdiv class=\"lp-sender-info text-center background-white\"\u003e\n\t\t\t\t\t\t\t\t\t\u003cdiv class=\"lp-sender-image\"\u003e\n\t\t\t\t\t\t\t\t\t\t\u003cimg alt=\"image\" src=\"' . $leadAvatar . '\"\u003e\n\t\t\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\t\t\u003ch6\u003e' . $name . '\u003c/h6\u003e';\n\t\t\t\tif (email_exists($lead_mail)) {\n\t\t\t\t\t$outputright .= '\u003cp\u003e' . esc_html__('Registered User', 'listingpro') . '\u003c/p\u003e';\n\t\t\t\t} else {\n\t\t\t\t\t$outputright .= '\u003cp\u003e' . esc_html__('Unregistered User', 'listingpro') . '\u003c/p\u003e';\n\t\t\t\t}\n\t\t\t\t$listing_data = \"\u003ca href='\" . get_the_permalink($post_id) . \"' class='listingDtlurl'\u003e\" . get_the_title($post_id) . \"\u003c/a\u003e\";\n\t\t\t\t$outputright .= '\u003c/div\u003e\n\t\t\t\t\t\t\t\t\u003cdiv class=\"lp-ad-click-outer\"\u003e\n\t\t\t\t\t\t\t\t\t\u003cdiv class=\"lp-general-section-title-outer\"\u003e\t\n\t\t\t\t\t\t\t\t\t\t\u003cp class=\"clarfix lp-general-section-title comment-reply-title active\"\u003e ' . esc_html__('Details', 'listingpro') . '\u003ci class=\"fa fa-angle-right\" aria-hidden=\"true\"\u003e\u003c/i\u003e\u003c/p\u003e\n\t\t\t\t\t\t\t\t\t\t\u003cdiv class=\"lp-ad-click-inner\" id=\"lp-ad-click-inner\"\u003e\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\u003cul class=\"lp-invoices-all-stats clearfix\"\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cli\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003ch5\u003e' . esc_html__('Listing', 'listingpro') . '  \u003cspan\u003e' . $listing_data . '\u003c/span\u003e\u003c/h5\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u003c/li\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cli\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003ch5\u003e' . esc_html__('Email', 'listingpro') . '  \u003cspan\u003e' . $lead_mail . '\u003c/span\u003e\u003c/h5\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u003c/li\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t';\n\t\t\t\tif (!empty($phone)) :\n\t\t\t\t\t$outputright .= '\u003cli\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003ch5\u003e' . esc_html__('Phone', 'listingpro') . '  \u003cspan\u003e' . $phone . '\u003c/span\u003e\u003c/h5\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u003c/li\u003e';\n\t\t\t\tendif;\n\n\t\t\t\tif (!empty($extras)) {\n\t\t\t\t\tforeach ($extras as $key =\u003e $singleEtr) {\n\t\t\t\t\t\tif (!empty($key) \u0026\u0026 !empty($singleEtr)) {\n\t\t\t\t\t\t\t$outputright .= '\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003cli\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003ch5\u003e' . $key . ' \u003cspan\u003e' . $singleEtr . '\u003c/span\u003e\u003c/h5\u003e\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003c/li\u003e';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t$outputright .= '\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\u003c/ul\u003e\n\t\t\t\t\t\t\t\t\t\t\u003c/div\u003e\t\n\t\t\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\t\u003c/div\u003e';\n\t\t\t}\n\t\t}\n\t\t$statusReponse['outputcenter'] = $outputcenter;\n\t\t$statusReponse['outputright'] = $outputright;\n\t\t$statusReponse['notify_alert'] = lp_get_inbox_msgs_status();\n\t\texit(json_encode($statusReponse));\n\t}\n}\n\n/* ===============get total click ==================== */\n\nif (!function_exists('lp_get_total_ads_clicks')) {\n\tfunction lp_get_total_ads_clicks()\n\t{\n\t\t$returnCounts = null;\n\t\t$clicksQuery = null;\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'lp-ads',\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'posts_per_page' =\u003e -1\n\t\t);\n\t\t$clicksQuery = new WP_Query($args);\n\n\t\tif ($clicksQuery-\u003ehave_posts()) {\n\t\t\twhile ($clicksQuery-\u003ehave_posts()) {\n\t\t\t\t$clicksQuery-\u003ethe_post();\n\t\t\t\t$adID = get_the_ID();\n\t\t\t\t$clickesTHis = listing_get_metabox_by_ID('click_performed', $adID);\n\t\t\t\tif (is_numeric($returnCounts) \u0026\u0026 is_numeric($clickesTHis)) {\n\t\t\t\t\t$returnCounts = $returnCounts + $clickesTHis;\n\t\t\t\t}\n\t\t\t}\n\t\t\twp_reset_postdata();\n\t\t} else {\n\t\t\t$returnCounts = 0;\n\t\t}\n\t\treturn $returnCounts;\n\t}\n}\n/* end by dev for 2.0 */\n\n/* string ends with function */\nif (!function_exists('lpStringendsWith')) {\n\tfunction lpStringendsWith($currentString, $target)\n\t{\n\t\t$length = strlen($target);\n\t\tif ($length == 0) {\n\t\t\treturn true;\n\t\t}\n\t\treturn (substr($currentString, -$length) === $target);\n\t}\n}\n\n/* =============================================== cron-job for new ads ==================================== */\n\nadd_action('wp', 'lp_expire_listings_ads_new');\nif (!function_exists('lp_expire_listings_ads_new')) {\n\tfunction lp_expire_listings_ads_new()\n\t{\n\t\twp_clear_scheduled_hook('lp_daily_cron_listing_ads_new');\n\t\tif (!wp_next_scheduled('lp_daily_cron_listings_ads_new')) {\n\t\t\t$timestamp = strtotime('23:30:00');\n\t\t\twp_schedule_event($timestamp, 'daily', 'lp_daily_cron_listings_ads_new');\n\t\t}\n\t}\n}\n\nadd_action('lp_daily_cron_listings_ads_new', 'lp_expire_this_ad_new');\nif (!function_exists('lp_expire_this_ad_new')) {\n\tfunction lp_expire_this_ad_new()\n\t{\n\t\tglobal $wpdb, $listingpro_options;\n\t\t$listingpro_options = get_option('listingpro_options');\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'lp-ads',\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t);\n\t\t$wp_query = null;\n\t\t$wp_query = new WP_Query($args);\n\t\tif ($wp_query-\u003ehave_posts()) {\n\t\t\twhile ($wp_query-\u003ehave_posts()) : $wp_query-\u003ethe_post();\n\t\t\t\t$adID = get_the_ID();\n\t\t\t\t$ad_Mode = listing_get_metabox_by_ID('ads_mode', $adID);\n\t\t\t\t$ads_listing = listing_get_metabox_by_ID('ads_listing', $adID);\n\t\t\t\tif (!empty($ad_Mode)) {\n\t\t\t\t\tif ($ad_Mode == \"byduration\") {\n\t\t\t\t\t\t/* by duration */\n\t\t\t\t\t\t$duration = listing_get_metabox_by_ID('duration', $adID);\n\t\t\t\t\t\tif (!empty($duration)) {\n\t\t\t\t\t\t\t$duration--;\n\t\t\t\t\t\t\tlisting_set_metabox('duration', $duration, $adID);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t/* empty the delete */\n\t\t\t\t\t\t\t$campaign_status = get_post_meta($ads_listing, 'campaign_status', true);\n\t\t\t\t\t\t\tif (!empty($campaign_status)) {\n\t\t\t\t\t\t\t\tupdate_post_meta($ads_listing, 'campaign_status', 'inactive');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$this_post = array(\n\t\t\t\t\t\t\t\t'ID'           =\u003e $adID,\n\t\t\t\t\t\t\t\t'post_status'   =\u003e 'inactive',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\twp_update_post($this_post);\n\t\t\t\t\t\t\t$currentdate = date(\"d-m-Y\");\n\t\t\t\t\t\t\tupdate_post_meta($adID, 'campain_expire_date', $currentdate);\n\n\t\t\t\t\t\t\t$listing_id = $ads_listing;\n\t\t\t\t\t\t\t$post_author_id = get_post_field('post_author', $listing_id);\n\t\t\t\t\t\t\t$user = get_user_by('id', $post_author_id);\n\t\t\t\t\t\t\t$useremail = $user-\u003euser_email;\n\t\t\t\t\t\t\t$user_name = $user-\u003euser_login;\n\t\t\t\t\t\t\t$website_url = site_url();\n\t\t\t\t\t\t\t$website_name = get_option('blogname');\n\t\t\t\t\t\t\t$listing_title = get_the_title($listing_id);\n\t\t\t\t\t\t\t$listing_url = get_the_permalink($listing_id);\n\t\t\t\t\t\t\t/* email to user */\n\t\t\t\t\t\t\t$headers[] = 'Content-Type: text/html; charset=UTF-8';\n\n\t\t\t\t\t\t\t$u_mail_subject_a = '';\n\t\t\t\t\t\t\t$u_mail_body_a = '';\n\t\t\t\t\t\t\t$u_mail_subject  = isset($listingpro_options['listingpro_subject_ads_expired']) ? $listingpro_options['listingpro_subject_ads_expired'] : '';\n\t\t\t\t\t\t\t$u_mail_body  = isset($listingpro_options['listingpro_ad_campaign_expired']) ? $listingpro_options['listingpro_ad_campaign_expired'] : '';\n\n\n\t\t\t\t\t\t\t$u_mail_subject_a = lp_sprintf2(\"$u_mail_subject\", array(\n\t\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t\t'listing_url' =\u003e \"$listing_url\",\n\t\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\"\n\t\t\t\t\t\t\t));\n\n\t\t\t\t\t\t\t$u_mail_body_a = lp_sprintf2(\"$u_mail_body\", array(\n\t\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t\t'listing_url' =\u003e \"$listing_url\",\n\t\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\"\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\tlp_mail_headers_append();\n\t\t\t\t\t\t\tLP_send_mail($useremail, $u_mail_subject_a, $u_mail_body_a, $headers);\n\t\t\t\t\t\t\tlp_mail_headers_remove();\n\t\t\t\t\t\t\t/* empty the delete ends */\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\n\t\t\t\t\tif ($ad_Mode == \"perclick\") {\n\t\t\t\t\t\t/* per click */\n\t\t\t\t\t\t$creditFinshed = false;\n\t\t\t\t\t\t$listing_id = $ads_listing;\n\t\t\t\t\t\t$allCharges = get_post_meta($listing_id, 'typescharges', true);\n\t\t\t\t\t\tif (!empty($allCharges)) {\n\t\t\t\t\t\t\tforeach ($allCharges as $key =\u003e $val) {\n\t\t\t\t\t\t\t\t$remingCredits = get_post_meta($listing_id, 'credit_remaining', true);\n\t\t\t\t\t\t\t\tif (!empty($remingCredits)) {\n\t\t\t\t\t\t\t\t\tif ($val \u003e $remingCredits) {\n\t\t\t\t\t\t\t\t\t\tdelate_post_meta($listing_id, $val);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdelate_post_meta($listing_id, $val);\n\t\t\t\t\t\t\t\t\t$creditFinshed = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!empty($creditFinshed)) {\n\t\t\t\t\t\t\tupdate_post_meta($ads_listing, 'campaign_status', 'inactive');\n\n\t\t\t\t\t\t\t$this_post = array(\n\t\t\t\t\t\t\t\t'ID'           =\u003e $adID,\n\t\t\t\t\t\t\t\t'post_status'   =\u003e 'inactive',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\twp_update_post($this_post);\n\t\t\t\t\t\t\t$currentdate = date(\"d-m-Y\");\n\t\t\t\t\t\t\tupdate_post_meta($adID, 'campain_expire_date', $currentdate);\n\n\t\t\t\t\t\t\t$listing_id = $ads_listing;\n\t\t\t\t\t\t\t$post_author_id = get_post_field('post_author', $listing_id);\n\t\t\t\t\t\t\t$user = get_user_by('id', $post_author_id);\n\t\t\t\t\t\t\t$useremail = $user-\u003euser_email;\n\t\t\t\t\t\t\t$user_name = $user-\u003euser_login;\n\t\t\t\t\t\t\t$website_url = site_url();\n\t\t\t\t\t\t\t$website_name = get_option('blogname');\n\t\t\t\t\t\t\t$listing_title = get_the_title($listing_id);\n\t\t\t\t\t\t\t$listing_url = get_the_permalink($listing_id);\n\t\t\t\t\t\t\t/* email to user */\n\t\t\t\t\t\t\t$headers[] = 'Content-Type: text/html; charset=UTF-8';\n\n\t\t\t\t\t\t\t$u_mail_subject_a = '';\n\t\t\t\t\t\t\t$u_mail_body_a = '';\n\t\t\t\t\t\t\t$u_mail_subject  = isset($listingpro_options['listingpro_subject_ads_expired']) ? $listingpro_options['listingpro_subject_ads_expired'] : '';\n\t\t\t\t\t\t\t$u_mail_body  = isset($listingpro_options['listingpro_ad_campaign_expired']) ? $listingpro_options['listingpro_ad_campaign_expired'] : '';\n\n\t\t\t\t\t\t\t$u_mail_subject_a = lp_sprintf2(\"$u_mail_subject\", array(\n\t\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t\t'listing_url' =\u003e \"$listing_url\",\n\t\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\"\n\t\t\t\t\t\t\t));\n\n\t\t\t\t\t\t\t$u_mail_body_a = lp_sprintf2(\"$u_mail_body\", array(\n\t\t\t\t\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t\t\t\t\t'listing_title' =\u003e \"$listing_title\",\n\t\t\t\t\t\t\t\t'listing_url' =\u003e \"$listing_url\",\n\t\t\t\t\t\t\t\t'user_name' =\u003e \"$user_name\",\n\t\t\t\t\t\t\t\t'website_name' =\u003e \"$website_name\"\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\tlp_mail_headers_append();\n\t\t\t\t\t\t\tLP_send_mail($useremail, $u_mail_subject_a, $u_mail_body_a, $headers);\n\t\t\t\t\t\t\tlp_mail_headers_remove();\n\t\t\t\t\t\t\t/* empty the delete ends */\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\tendwhile;\n\t\t}\n\t}\n}\n\n/* ===========================cron job runs at 1st of each month======================== */\nadd_action('wp', 'lp_stats_table_cron');\nif (!function_exists('lp_stats_table_cron')) {\n\tfunction lp_stats_table_cron()\n\t{\n\t\twp_clear_scheduled_hook('lp_daily_cron_for_stats');\n\t\tif (!wp_next_scheduled('lp_daily_cron_for_cstats')) {\n\t\t\t$timestamp = strtotime('23:30:00');\n\t\t\twp_schedule_event($timestamp, 'daily', 'lp_daily_cron_for_cstats');\n\t\t}\n\t}\n}\n\nadd_action('lp_daily_cron_for_cstats', 'lp_update_stats_table');\nif (!function_exists('lp_update_stats_table')) {\n\tfunction lp_update_stats_table()\n\t{\n\n\t\t$date = date('d');\n\t\tif ('01' == $date) {\n\t\t\t/* peforms update */\n\t\t\t//$yearsStats = get_option('lp_years_stats');\n\t\t\t//need to set as true if cron run even for one time\n\n\n\n\t\t}\n\t}\n}\n\nif (!function_exists('lp_notice_plugin_version')) {\n\tfunction lp_notice_plugin_version()\n\t{\n\n\t\t$listing_plugins_arr =   array(\n\t\t\t'listingpro-plugin' =\u003e array(\n\t\t\t\t'file' =\u003e 'listingpro-plugin/plugin.php',\n\t\t\t\t'version' =\u003e '2.9.9',\n\t\t\t),\n\t\t\t'listingpro-reviews' =\u003e array(\n\t\t\t\t'file' =\u003e 'listingpro-reviews/plugin.php',\n\t\t\t\t'version' =\u003e '1.7',\n\t\t\t),\n\t\t\t'listingpro-ads' =\u003e array(\n\t\t\t\t'file' =\u003e 'listingpro-ads/plugin.php',\n\t\t\t\t'version' =\u003e '1.4',\n\t\t\t),\n\t\t\t'lp-bookings' =\u003e array(\n\t\t\t\t'file' =\u003e 'lp-bookings/lp-bookings.php',\n\t\t\t\t'version' =\u003e '1.7',\n\t\t\t),\n\t\t);\n\t\t$installed_plugins  =   get_plugins();\n\t\t$activation_required    =   array();\n\t\tforeach ($listing_plugins_arr as $item) {\n\t\t\t$plugin_file    =   $item['file'];\n\t\t\t$plugin_v       =   $item['version'];\n\t\t\tif (array_key_exists($plugin_file, $installed_plugins)) {\n\t\t\t\t$installed_v    =   $installed_plugins[$plugin_file]['Version'];\n\t\t\t\t$installed_n    =   $installed_plugins[$plugin_file]['Name'];\n\t\t\t\tif ($installed_v != $plugin_v) {\n\t\t\t\t\t$activation_required[]  =   $installed_n;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t$lp_theme = wp_get_theme();\n\t\tif (($lp_theme == \"Listingpro\" || $lp_theme == 'Listingpro Child') \u0026\u0026 count($activation_required) \u003e 0) {\n\t\t\t$class = 'notice notice-warning bg-red';\n\n\t\t\t$message = '\u003ch3\u003e' . __('Important Update Notice!', 'listingpro') . '\u003c/h3\u003e\u003cbr /\u003e';\n\n\t\t\t$message .= __('Thanks for updating your theme, now we highly recommend you to also update the following plugins.', 'listingpro');\n\t\t\t$count = 1;\n\t\t\tforeach ($activation_required as $item) {\n\t\t\t\t$message .=     '\u003cp\u003e\u003cstrong\u003e' . $count . '--- ';\n\t\t\t\t$message .=     $item;\n\t\t\t\t$message .= '    \u003c/strong\u003e\u003c/p\u003e';\n\t\t\t\t$count++;\n\t\t\t}\n\n\t\t\t$message .= __('\u003cbr /\u003e\u003cbr /\u003e\u003cstrong\u003eBefore doing anything please take backup of your plugins in case if you have made any changes in CODE files directly or you have made translations\u003c/strong\u003e\u003cbr /\u003e\u003cbr /\u003e', 'listingpro');\n\t\t\t$message .= __('  Go to Plugins, deactivate and delete all mentioned plugins. After deleting, the following notice will appear,  ', 'listingpro');\n\t\t\t$message .= '\u003cbr /\u003e\u003cbr /\u003e\u003cstrong\u003e';\n\t\t\t$message .= __('This theme requires the following plugin', 'listingpro');\n\t\t\t$message .= '\u003c/strong\u003e';\n\t\t\t$message .= __('  Click  ', 'listingpro');\n\n\t\t\t$message .= '\u003cstrong\u003e';\n\t\t\t$message .= __('begin installing plugin', 'listingpro');\n\t\t\t$message .= '\u003c/strong\u003e';\n\t\t\t$message .= __('  link.\u003cbr /\u003e\u003cbr /\u003e After installation is complete, activate the plugin. Listingpro plugins will be up to dated', 'listingpro');\n\t\t\t$message .= '\u003cbr/\u003e\u003cbr /\u003e';\n\t\t\t$message .= __(' \u003cstrong\u003e Additional Note for CHILD THEME Users: If you are using child theme then please switch to parent theme and follow the above steps and then switch back to child theme\u003c/strong\u003e', 'listingpro');\n\n\t\t\tprintf('\u003cdiv class=\"%1$s\"\u003e\u003cp\u003e%2$s\u003c/p\u003e\u003c/div\u003e', esc_attr($class), $message);\n\t\t}\n\t}\n}\nadd_action('admin_notices', 'lp_notice_plugin_version');\n/* ======================claim plans array========================= */\nif (!function_exists('lp_get_claim_plans_function_array')) {\n\tfunction lp_get_claim_plans_function_array()\n\t{\n\t\t$returnArray = array();\n\t\t$returnArray[0] = esc_html__('Select Plan', 'listingpro');\n\t\t$args = null;\n\t\t$args = array(\n\t\t\t'post_type' =\u003e 'price_plan',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t'post_status' =\u003e 'publish',\n\t\t\t'meta_query' =\u003e array(\n\t\t\t\t'relation' =\u003e 'OR',\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'lp_listingpro_options',\n\t\t\t\t\t'value' =\u003e 'claimonly',\n\t\t\t\t\t'compare' =\u003e 'LIKE'\n\t\t\t\t),\n\t\t\t\tarray(\n\t\t\t\t\t'key' =\u003e 'lp_listingpro_options',\n\t\t\t\t\t'value' =\u003e 'listingandclaim',\n\t\t\t\t\t'compare' =\u003e 'LIKE'\n\t\t\t\t),\n\t\t\t),\n\t\t\t'fields' =\u003e 'ids',\n\t\t);\n\t\t$claim_Plan_Query = get_posts($args);\n\t\tif (isset($claim_Plan_Query) \u0026\u0026 !empty($claim_Plan_Query)) {\n\t\t\tforeach ($claim_Plan_Query as $claim_Plan) {\n\t\t\t\t$returnArray[$claim_Plan] = esc_html(get_the_title($claim_Plan));\n\t\t\t}\n\t\t}\n\t\twp_reset_postdata();\n\t\treturn $returnArray;\n\t}\n}\n\n/* ==========================updated metas on success paid claim===================== */\nif (!function_exists('lp_update_paid_claim_metas')) {\n\tfunction lp_update_paid_claim_metas($claimed_post, $post_id, $method)\n\t{\n\n\t\tlisting_set_metabox('claimed_section', 'claimed', $post_id);\n\t\tupdate_post_meta($post_id, 'claimed', 1);\n\t\t$new_author = listing_get_metabox_by_ID('claimer', $claimed_post);\n\t\t$claim_plan = listing_get_metabox_by_ID('claim_plan', $claimed_post);\n\t\tlisting_set_metabox('Plan_id', $claim_plan, $post_id);\n\t\tlisting_set_metabox('claim_status', 'approved', $claimed_post);\n\t\tlisting_set_metabox('claimed_listing', $claimed_post, $post_id);\n\t\t$plan_time  =   get_post_meta($claim_plan, 'plan_time', true);\n\t\tlisting_set_metabox('lp_purchase_days', $plan_time, $post_id);\n\t\tupdate_post_meta($post_id, 'plan_id', $claim_plan);\n\n\t\tglobal $listingpro_options;\n\t\t$c_mail_subject = $listingpro_options['listingpro_subject_listing_claim_approve'];\n\t\t$c_mail_body    = $listingpro_options['listingpro_content_listing_claim_approve'];\n\n\t\t$a_mail_subject = $listingpro_options['listingpro_subject_listing_claim_approve_old_owner'];\n\t\t$a_mail_body    = $listingpro_options['listingpro_content_listing_claim_approve_old_owner'];\n\n\t\t$admin_email   = '';\n\t\t$admin_email   = get_option('admin_email');\n\t\t$website_url   = site_url();\n\t\t$website_name  = get_option('blogname');\n\t\t$listing_title =  get_the_title($post_id);\n\t\t$listing_url   = get_the_permalink($post_id);\n\t\t$headers[]     = 'Content-Type: text/html; charset=UTF-8';\n\n\t\tglobal $wpdb;\n\t\t$prefix = $wpdb-\u003eprefix;\n\n\t\t$update_data   = array(\n\t\t\t'post_author' =\u003e $new_author\n\t\t);\n\t\t$where         = array(\n\t\t\t'ID' =\u003e $post_id\n\t\t);\n\t\t$update_format = array(\n\t\t\t'%s'\n\t\t);\n\t\t//$wpdb-\u003eupdate($prefix . 'posts', $update_data, $where, $update_format);\n\n\t\t$argddd = array(\n\t\t\t'ID' =\u003e $post_id,\n\t\t\t'post_author' =\u003e $new_author,\n\t\t);\n\t\twp_update_post($argddd);\n\n\t\t/* updte data is listing order db */\n\t\t$orderTable = 'listing_orders';\n\t\tlp_change_listinguser_in_db($new_author, $post_id, $orderTable);\n\n\t\t/* creating invoice */\n\t\t$start = 11111111;\n\t\t$end = 999999999;\n\t\t$ord_num = random_int($start, $end);\n\t\tif (lp_theme_option('listingpro_invoice_start_switch') == \"yes\") {\n\t\t\t$ord_num = lp_theme_option('listingpro_invoiceno_no_start');\n\t\t\t$ord_num++;\n\t\t\tif (class_exists('Redux')) {\n\t\t\t\t$opt_name = 'listingpro_options';\n\t\t\t\tRedux::set_option($opt_name, 'listingpro_invoiceno_no_start', \"$ord_num\");\n\t\t\t}\n\t\t}\n\n\n\t\t$user_obj = get_user_by('id', $new_author);\n\t\t$fname = $user_obj-\u003euser_login;\n\t\t$lname = $user_obj-\u003euser_login;\n\t\t$usermail = $user_obj-\u003euser_email;\n\n\t\t$currency_code = lp_theme_option('currency_paid_submission');\n\t\t$plan_id = listing_get_metabox_by_ID('claim_plan', $claimed_post);\n\t\t$plan_price = get_post_meta($plan_id, 'plan_price', true);\n\t\t$plan_duration = get_post_meta($plan_id, 'plan_time', true);\n\t\t$plan_type = get_post_meta($plan_id, 'plan_package_type', true);\n\t\t$plan_title = get_the_title($plan_id);\n\n\t\t$post_info_array = array(\n\t\t\t'user_id'\t=\u003e $new_author,\n\t\t\t'post_id'\t=\u003e $post_id,\n\t\t\t'plan_id'\t=\u003e $plan_id,\n\t\t\t'plan_name' =\u003e $plan_title,\n\t\t\t'plan_type' =\u003e $plan_type,\n\t\t\t'payment_method' =\u003e $method,\n\t\t\t'token' =\u003e '',\n\t\t\t'price' =\u003e $plan_price,\n\t\t\t'currency'\t=\u003e $currency_code,\n\t\t\t'days'\t=\u003e $plan_duration,\n\t\t\t'date'\t=\u003e '',\n\t\t\t'status'\t=\u003e 'success',\n\t\t\t'used'\t=\u003e '',\n\t\t\t'transaction_id'\t=\u003e '',\n\t\t\t'firstname'\t=\u003e $fname,\n\t\t\t'lastname'\t=\u003e $lname,\n\t\t\t'email'\t=\u003e $usermail,\n\t\t\t'description'\t=\u003e 'purchased by paid claim',\n\t\t\t'summary'\t=\u003e '',\n\t\t\t'order_id'\t=\u003e $ord_num,\n\n\t\t);\n\t\t$wpdb-\u003einsert($prefix . \"listing_orders\", $post_info_array);\n\t}\n}\n\n/* =============================for making listing selected checkut session id================== */\nadd_action('wp_ajax_lp_save_thisid_in_session', 'lp_save_thisid_in_session');\nadd_action('wp_ajax_nopriv_lp_save_thisid_in_session', 'lp_save_thisid_in_session');\nif (!function_exists('lp_save_thisid_in_session')) {\n\tfunction lp_save_thisid_in_session()\n\t{\n\t\tcheck_ajax_referer('lp_ajax_nonce', 'lpNonce');\n\t\t// Nonce is checked, get the POST data and sign user on\n\t\tif (!wp_verify_nonce(sanitize_text_field($_POST['lpNonce']), 'lp_ajax_nonce')) {\n\t\t\t$res = json_encode(array('nonceerror' =\u003e 'yes'));\n\t\t\tdie($res);\n\t\t}\n\t\tif (!isset($_SESSION)) {\n\t\t\tsession_start();\n\t\t}\n\t\t$listingID = sanitize_text_field($_POST['listing_id']);\n\t\tupdate_user_meta(get_current_user_id(), 'listing_id_checkout', $listingID);\n\n\t\t$_SESSION['listing_id_checkout'] = $listingID;\n\t\t$res = json_encode(array('status' =\u003e 'Success'));\n\t\tdie($res);\n\t}\n}\n\n/* =============================for addding new column in campagins table======================== */\nif (!function_exists('lp_ammend_campaigns_table')) {\n\tfunction lp_ammend_campaigns_table()\n\t{\n\t\tglobal $wpdb;\n\t\t$table_prefix = $wpdb-\u003eprefix;\n\t\t$table = $table_prefix . 'listing_campaigns';\n\t\tif (empty(lp_check_column_exist_in_table($table, 'mode'))) {\n\t\t\t$wpdb-\u003equery(sprintf(\"ALTER TABLE %s ADD mode VARCHAR(255) NOT NULL\", $table));\n\t\t}\n\t\tif (empty(lp_check_column_exist_in_table($table, 'duration'))) {\n\t\t\t$wpdb-\u003equery(sprintf(\"ALTER TABLE %s ADD duration VARCHAR(255) NOT NULL\", $table));\n\t\t}\n\t\tif (empty(lp_check_column_exist_in_table($table, 'budget'))) {\n\t\t\t$wpdb-\u003equery(sprintf(\"ALTER TABLE %s ADD budget VARCHAR(255) NOT NULL\", $table));\n\t\t}\n\t\tif (empty(lp_check_column_exist_in_table($table, 'ad_date'))) {\n\t\t\t$wpdb-\u003equery(sprintf(\"ALTER TABLE %s ADD ad_date VARCHAR(255) NOT NULL\", $table));\n\t\t}\n\t\tif (empty(lp_check_column_exist_in_table($table, 'ad_expiryDate'))) {\n\t\t\t$wpdb-\u003equery(sprintf(\"ALTER TABLE %s ADD ad_expiryDate VARCHAR(255) NOT NULL\", $table));\n\t\t}\n\t}\n}\n\n/* ============================ for check if column exists=========================== */\nif (!function_exists('lp_check_column_exist_in_table')) {\n\tfunction lp_check_column_exist_in_table($table_name, $column_name)\n\t{\n\t\tglobal $wpdb;\n\t\tif ($wpdb-\u003eget_var(\"SHOW TABLES LIKE '$table_name'\") != $table_name) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\t$column = $wpdb-\u003eget_results($wpdb-\u003eprepare(\n\t\t\t\t\"SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = %s AND TABLE_NAME = %s AND COLUMN_NAME = %s \",\n\t\t\t\tDB_NAME,\n\t\t\t\t$table_name,\n\t\t\t\t$column_name\n\t\t\t));\n\t\t\tif (!empty($column)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n/* ============== Theme Setup init tag ============ */\nadd_action('after_setup_theme', 'listingpro_titleTag');\nif (!function_exists('listingpro_titleTag')) {\n\tfunction listingpro_titleTag()\n\t{\n\t\tadd_theme_support('title-tag');\n\t}\n}\n\n/* =================ammend column for tax in order table=================== */\n\nif (!function_exists('lp_ammend_orders_table')) {\n\tfunction lp_ammend_orders_table()\n\t{\n\t\tglobal $wpdb;\n\t\t$table_prefix = $wpdb-\u003eprefix;\n\t\t$table = $table_prefix . 'listing_orders';\n\t\tif ($wpdb-\u003eget_var(\"SHOW TABLES LIKE '$table'\") == $table) {\n\t\t\tif (empty(lp_check_column_exist_in_table($table, 'tax'))) {\n\t\t\t\t$wpdb-\u003equery(sprintf(\"ALTER TABLE %s ADD tax VARCHAR(255) NOT NULL\", $table));\n\t\t\t}\n\t\t}\n\t}\n}\nadd_action('init', 'lp_ammend_orders_table');\n\n/* =================ammend column for tax in campagins table=================== */\n\nif (!function_exists('lp_ammend_tax_campains_table')) {\n\tfunction lp_ammend_tax_campains_table()\n\t{\n\t\tglobal $wpdb;\n\t\t$table_prefix = $wpdb-\u003eprefix;\n\t\t$table = $table_prefix . 'listing_campaigns';\n\t\tif ($wpdb-\u003eget_var(\"SHOW TABLES LIKE '$table'\") == $table) {\n\t\t\tif (empty(lp_check_column_exist_in_table($table, 'tax'))) {\n\t\t\t\t$wpdb-\u003equery(sprintf(\"ALTER TABLE %s ADD tax VARCHAR(255) NOT NULL\", $table));\n\t\t\t}\n\t\t}\n\t}\n}\nadd_action('init', 'lp_ammend_tax_campains_table');\n\n/* =================== front end image delete cap=========== */\nadd_action('init', 'allow_sbuscriber_to_delete_posts');\nif (!function_exists('allow_sbuscriber_to_delete_posts')) {\n\tfunction allow_sbuscriber_to_delete_posts()\n\t{\n\t\t$role = get_role('subscriber');\n\t\t$role-\u003eadd_cap('delete_posts');\n\t}\n}\n\n\n/* function to remove inbox message*/\nadd_action('wp_ajax_lp_delete_this_conversation', 'lp_delete_this_conversation');\nif (!function_exists('lp_delete_this_conversation')) {\n\tfunction lp_delete_this_conversation()\n\t{\n\t\tcheck_ajax_referer('lp_ajax_nonce', 'lpNonce');\n\t\t// Nonce is checked, get the POST data and sign user on\n\t\tif (!wp_verify_nonce(sanitize_text_field($_POST['lpNonce']), 'lp_ajax_nonce')) {\n\t\t\t$res = json_encode(array('nonceerror' =\u003e 'yes'));\n\t\t\tdie($res);\n\t\t}\n\t\t$listingid = sanitize_text_field($_POST['listingid']);\n\t\t$emailid =  sanitize_text_field($_POST['emailid']);\n\t\t$currentUserID = get_current_user_id();\n\t\t$lpAllMessges = get_user_meta($currentUserID, 'lead_messages', true);\n\t\tif (!empty($lpAllMessges)) {\n\t\t\tif (isset($lpAllMessges[$listingid])) {\n\t\t\t\t$thisListMsgs = $lpAllMessges[$listingid];\n\t\t\t\tif (isset($thisListMsgs[$emailid])) {\n\t\t\t\t\t//$thisUserMsgs = $thisListMsgs[$emailid];\n\t\t\t\t\tunset($lpAllMessges[$listingid][$emailid]);\n\t\t\t\t\tupdate_user_meta($currentUserID, 'lead_messages', $lpAllMessges);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\texit(json_encode($lpAllMessges));\n\t}\n}\n\nadd_action('wp_enqueue_scripts', 'LP_dynamic_php_css_enqueue', 11);\nif (!function_exists('LP_dynamic_php_css_enqueue')) {\n\tfunction LP_dynamic_php_css_enqueue()\n\t{\n\t\twp_enqueue_style('LP_dynamic_php_css', get_template_directory_uri() . '/assets/css/dynamic-css.css', '');\n\t}\n}\nadd_action('redux/options/listingpro_options/saved', 'Listingpro_css');\nfunction Listingpro_css()\n{\n\tob_start();\n\tLP_dynamic_options_v2();\n\tlistingpro_dynamic_options();\n\tlistingpro_dynamic_css_options();\n\tdo_action('listingpro_addons_dynamic_css');\n\t$grid_view_html = ob_get_contents();\n\tob_end_clean();\n\tfile_put_contents(get_template_directory() . '/assets/css/dynamic-css.css', $grid_view_html);\n}\n\n/* =================LP 2 Way=================== */\nif (!function_exists('Listingpro_license_deactivation')) {\n\tfunction Listingpro_license_deactivation()\n\t{\n\t\t$actual_link = LP_current_URL();\n\t\t?\u003e\n\t\t\u003cdiv class=\"notice\"\u003e\n\t\t\t\u003cform id=\"Listingpro_license_deactivation_form\" action=\"\u003c?php echo esc_attr('admin-post.php'); ?\u003e\" method=\"post\"\u003e\n\t\t\t\t\u003cinput type=\"hidden\" name=\"action\" value=\"deactivate_license\" /\u003e\n\t\t\t\t\u003cinput type=\"hidden\" name=\"verifier_redirect_url\" value=\"\u003c?php echo wp_kses_post($actual_link); ?\u003e\" /\u003e\n\t\t\t\t\u003cp\u003eDeactivate your license\u003c/p\u003e\n\t\t\t\t\u003cinput name=\"key\" value=\"\u003c?php echo get_option('active_license'); ?\u003e\" type=\"hidden\"\u003e\n\t\t\t\t\u003cinput name=\"env\" value=\"\u003c?php echo get_option('active_env'); ?\u003e\" type=\"hidden\"\u003e\n\t\t\t\t\u003c?php echo wp_nonce_field('api_nonce', 'api_nonce_field_dac', true, false); ?\u003e\n\t\t\t\t\u003cinput type=\"submit\" name=\"submit\" class=\"button button-primary button-hero\" value=\"Deactivate\" /\u003e\n\t\t\t\u003c/form\u003e\n\t\t\u003c/div\u003e\n\t\u003c?php\n\t}\n}\n\nif (!function_exists('Listingpro_license_verification')) {\n\tfunction Listingpro_license_verification()\n\t{\n\t\t$actual_link = LP_current_URL();\n\t?\u003e\n\n\t\t\u003cdiv class=\"notice\"\u003e\n\n\t\t\t\u003cform id=\"Listingpro_license_verification_form\" action=\"\u003c?php echo esc_attr('admin-post.php'); ?\u003e\" method=\"post\"\u003e\n\t\t\t\t\u003cinput type=\"hidden\" name=\"action\" value=\"verify_license\" /\u003e\n\t\t\t\t\u003cinput type=\"hidden\" name=\"verifier_redirect_url\" value=\"\u003c?php echo wp_kses_post($actual_link); ?\u003e\" /\u003e\n\t\t\t\t\u003ch2 style=\"margin-top:0;margin-bottom:5px\"\u003eActivate Listingpro\u003c/h2\u003e\n\t\t\t\t\u003cp\u003e\u003c?php esc_html__('Verify your purchase code to unlock all features, see ', 'listingpro'); ?\u003e\u003ca href=\"https://docs.listingprowp.com/knowledgebase/how-to-activate-listingpro-theme/\" target=\"_blank\"\u003e\u003c?php echo esc_html__('instructions', 'listingpro'); ?\u003e\u003c/a\u003e\u003c/p\u003e\n\t\t\t\t\u003cdiv class=\"lp-license-env\"\u003e\n\t\t\t\t\t\u003cdiv class=\"lp-env-option\"\u003e\n\t\t\t\t\t\t\u003cinput id=\"env-sandbox\" name=\"lp_license_env\" type=\"radio\" value=\"sandbox\"\u003e\n\t\t\t\t\t\t\u003clabel for=\"env-sandbox\"\u003eSandbox\u003c/label\u003e\n\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\u003cdiv class=\"lp-env-option\"\u003e\n\t\t\t\t\t\t\u003cinput id=\"env-live\" name=\"lp_license_env\" type=\"radio\" value=\"live\" checked\u003e\n\t\t\t\t\t\t\u003clabel for=\"env-live\"\u003eLive\u003c/label\u003e\n\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\u003c/div\u003e\n\t\t\t\t\u003cdiv id=\"title-wrap\" class=\"input-text-wrap\"\u003e\n\t\t\t\t\t\u003clabel id=\"title-prompt-text\" class=\"prompt\" for=\"title\"\u003e Put here purchase key \u003c/label\u003e\n\t\t\t\t\t\u003cinput id=\"title\" name=\"key\" autocomplete=\"off\" type=\"text\"\u003e\n\t\t\t\t\u003c/div\u003e\n\t\t\t\t\u003c?php echo wp_nonce_field('api_nonce', 'api_nonce_field', true, false); ?\u003e\n\t\t\t\t\u003cinput type=\"submit\" name=\"submit\" class=\"button button-primary button-hero\" value=\"Activate\" /\u003e\n\t\t\t\u003c/form\u003e\n\n\t\t\t\u003c?php\n\t\t\techo '\u003c/div\u003e';\n\t\t}\n\t}\n\tadd_action('admin_post_verify_license', 'verify_license_cb');\n\tif (!function_exists('verify_license_cb')) {\n\t\tfunction verify_license_cb()\n\t\t{\n\t\t\tif (isset($_POST['api_nonce_field']) \u0026\u0026  wp_verify_nonce($_POST['api_nonce_field'], 'api_nonce') \u0026\u0026 !empty($_POST['key'])) {\n\n\t\t\t\t$lp_env =   sanitize_text_field($_POST['lp_license_env']);\n\n\t\t\t\t$license_key    =   sanitize_text_field($_POST['key']);\n\t\t\t\t$recirect_url   =   sanitize_text_field($_POST['verifier_redirect_url']);\n\t\t\t\t$call_return    =   lp_license_api_call($license_key, $lp_env, false);\n\n\n\n\t\t\t\t$recirect_url   =   $recirect_url . '\u0026license-res=' . $call_return-\u003eresmsg . '\u0026license-status=' . $call_return-\u003evalid;\n\t\t\t}\n\t\t\tif ($call_return) {\n\t\t\t\twp_redirect($recirect_url);\n\t\t\t}\n\t\t}\n\t}\n\n\tadd_action('admin_post_deactivate_license', 'deactivate_license_cb');\n\tif (!function_exists('deactivate_license_cb')) {\n\t\tfunction deactivate_license_cb()\n\t\t{\n\t\t\tif (isset($_POST['api_nonce_field_dac']) \u0026\u0026  wp_verify_nonce($_POST['api_nonce_field_dac'], 'api_nonce') \u0026\u0026 !empty($_POST['key'])) {\n\t\t\t\t$license_key    =   sanitize_text_field($_POST['key']);\n\t\t\t\t$env = $_POST['env'];\n\t\t\t\t$recirect_url   =   sanitize_text_field($_POST['verifier_redirect_url']);\n\t\t\t\t$call_return    =   deactivate_license_call($license_key, $env);\n\n\n\t\t\t\t$recirect_url   =   $recirect_url . '\u0026license-res=' . $call_return-\u003eresmsg . '\u0026license-status=' . $call_return-\u003evalid;\n\n\t\t\t\tif ($call_return) {\n\t\t\t\t\theader(\"Location: $recirect_url\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!function_exists('deactivate_license_call')) {\n\t\tfunction deactivate_license_call($key, $env)\n\t\t{\n\t\t\t$site_url   =   get_site_url();\n\t\t\t$call_return    =   false;\n\n\t\t\t$license_key    =   $key;\n\n\t\t\t$api_url    =   CRIDIO_API_URL . 'data/' . $license_key . '/' . str_replace('/', '@', $site_url) . '/deactivate/' . $env;\n\n\t\t\t$lp_curl_init_var = 'curl';\n\t\t\t$lp_curl_init_var .= '_init';\n\t\t\t$ch = $lp_curl_init_var();\n\n\t\t\tcurl_setopt($ch, CURLOPT_AUTOREFERER, true);\n\t\t\tcurl_setopt($ch, CURLOPT_HEADER, 0);\n\t\t\tcurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n\t\t\tcurl_setopt($ch, CURLOPT_URL, $api_url);\n\t\t\tcurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);\n\n\t\t\t$lp_curl_exec_var = 'curl';\n\t\t\t$lp_curl_exec_var .= '_exec';\n\t\t\t$response = $lp_curl_exec_var($ch);\n\t\t\tcurl_close($ch);\n\n\t\t\t$response = json_decode($response);\n\n\t\t\tif ($response-\u003evalid == 'inactive') {\n\t\t\t\t$call_return    =   true;\n\t\t\t\t$get_files_arr  =   array(\n\t\t\t\t\t'submit-listing.js',\n\t\t\t\t);\n\t\t\t\twrong_verification_attempt($get_files_arr);\n\t\t\t\t//echo '\u003cp class=\"success\"\u003e'. $response-\u003eresmsg .'\u003c/p\u003e';\n\t\t\t}\n\t\t\treturn $response;\n\t\t}\n\t}\n\n\tif (!function_exists('lp_license_api_call')) {\n\t\tfunction lp_license_api_call($key, $env, $via_cron)\n\t\t{\n\t\t\t$site_url   =   $site_url   =   get_site_url();\n\t\t\t$reload_page    =   false;\n\n\t\t\t$license_key    =   $key;\n\t\t\t$admin_email    =   get_option('admin_email');\n\t\t\tif (!$via_cron || $via_cron === false) {\n\t\t\t\t$api_url    =   CRIDIO_API_URL . 'data/' . $license_key . '/' . str_replace('/', '@', $site_url) . '/' . $admin_email . '/' . $env;\n\t\t\t} else {\n\t\t\t\t$api_url    =   CRIDIO_API_URL . 'data/' . $license_key . '/' . str_replace('/', '@', $site_url) . '/cron/' . $env;\n\t\t\t}\n\n\n\t\t\t$lp_curl_init_var = 'curl';\n\t\t\t$lp_curl_init_var .= '_init';\n\t\t\t$ch = $lp_curl_init_var();\n\n\t\t\tcurl_setopt($ch, CURLOPT_AUTOREFERER, true);\n\t\t\tcurl_setopt($ch, CURLOPT_HEADER, 0);\n\t\t\tcurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\n\t\t\tcurl_setopt($ch, CURLOPT_URL, $api_url);\n\t\t\tcurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);\n\n\t\t\t$lp_curl_exec_var = 'curl';\n\t\t\t$lp_curl_exec_var .= '_exec';\n\t\t\t$response = $lp_curl_exec_var($ch);\n\t\t\tcurl_close($ch);\n\n\n\t\t\t$response = json_decode($response);\n\n\t\t\tif ($response-\u003evalid == 'inactive') {\n\t\t\t\t$get_files_arr  =   array(\n\t\t\t\t\t'submit-listing.js',\n\t\t\t\t);\n\t\t\t\twrong_verification_attempt($get_files_arr);\n\t\t\t} else {\n\t\t\t\tif ($response-\u003evalid == 'active') {\n\t\t\t\t\t$reload_page    =   true;\n\t\t\t\t\t$get_files_arr  =   array(\n\t\t\t\t\t\t'submit-listing.js',\n\t\t\t\t\t);\n\n\t\t\t\t\tdownload_files_from_server($get_files_arr, $license_key);\n\t\t\t\t\tupdate_option('theme_activation', 'activated');\n\t\t\t\t\tupdate_option('active_license', $license_key);\n\t\t\t\t\tupdate_option('active_env', $env);\n\t\t\t\t\tif (!$via_cron || $via_cron === false) {\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$get_files_arr  =   array(\n\t\t\t\t\t\t'submit-listing.js',\n\t\t\t\t\t);\n\t\t\t\t\twrong_verification_attempt($get_files_arr);\n\t\t\t\t\tif (!$via_cron || $via_cron == false) {\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn $response;\n\t\t}\n\t}\n\n\tif (!function_exists('wrong_verification_attempt')) {\n\t\tfunction wrong_verification_attempt($files)\n\t\t{\n\t\t\t/* if( isset( $files ) \u0026\u0026 is_array( $files ) )\n        {\n            foreach ($files as $filename)\n            {\n                $destination    =   WP_PLUGIN_DIR.'/listingpro-plugin/assets/js/'.$filename;\n                if( file_exists( $destination ) )\n                {\n                    unlink($destination);\n                }\n            }\n        }*/\n\t\t\t$wrong_attempts = get_option('wrong-verification-attempts');\n\t\t\tif (isset($wrong_attempts) \u0026\u0026 !empty($wrong_attempts)) {\n\t\t\t\t$attempts_num   =   $wrong_attempts + 1;\n\t\t\t} else {\n\t\t\t\t$attempts_num   =   1;\n\t\t\t}\n\t\t\tupdate_option('wrong-verification-attempts', $attempts_num);\n\t\t\tdelete_option('theme_activation');\n\t\t\tdelete_option('active_license');\n\t\t\tdelete_option('active_env');\n\t\t}\n\t}\n\n\tif (!function_exists('add_monthly_cron_timestamp')) {\n\t\tfunction add_monthly_cron_timestamp($schedules)\n\t\t{\n\t\t\t$schedules['twice_monthly'] = array(\n\t\t\t\t'interval' =\u003e 1209600,\n\t\t\t\t'display' =\u003e 'Twice a Month',\n\t\t\t);\n\t\t\treturn $schedules;\n\t\t}\n\t}\n\tadd_filter('cron_schedules', 'add_monthly_cron_timestamp');\n\n\tif (!wp_next_scheduled('lp_twice_monthly_cron_verify_license')) {\n\t\twp_schedule_event(time(), 'twice_monthly', 'lp_twice_monthly_cron_verify_license');\n\t}\n\tadd_action('lp_twice_monthly_cron_verify_license', 'lp_verify_this_license');\n\tif (!function_exists('lp_verify_this_license')) {\n\t\tfunction lp_verify_this_license()\n\t\t{\n\t\t\t$license_key    =   get_option('active_license');\n\t\t\t$active_env     =   get_option('active_env');\n\t\t\tif ($license_key \u0026\u0026 !empty($license_key)) {\n\t\t\t\tlp_license_api_call($license_key, $active_env, true);\n\t\t\t} else {\n\t\t\t\t$get_files_arr  =   array(\n\t\t\t\t\t'submit-listing.js',\n\t\t\t\t);\n\t\t\t\twrong_verification_attempt($get_files_arr);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* ==========count listing and return dropdown if less then 10======== */\n\tif (!function_exists('lp_get_listing_dropdown')) {\n\t\tfunction lp_get_listing_dropdown($id, $class, $name, $data_metakey = null, $data_planmetakey = null)\n\t\t{\n\t\t\t$listingsArray = array();\n\t\t\t$userID =   get_current_user_id();\n\t\t\t$count_listings = count_user_posts($userID, 'listing');\n\t\t\tif ($count_listings  ==  0) {\n\t\t\t\techo \"NO LISTING FOUND\";\n\t\t\t} else {\n\n\t\t\t\tif ($count_listings \u003c= 10) {\n\t\t\t\t\t$args = array(\n\t\t\t\t\t\t'post_type' =\u003e 'listing',\n\t\t\t\t\t\t'author' =\u003e $userID,\n\t\t\t\t\t\t'post_status' =\u003e 'publish',\n\t\t\t\t\t);\n\n\t\t\t\t\tif ($name == 'lp_ads_for_listing') {\n\t\t\t\t\t\t$args['meta_query'] =   array(\n\t\t\t\t\t\t\t'relation' =\u003e 'OR',\n\t\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t\t'key'     =\u003e 'campaign_status',\n\t\t\t\t\t\t\t\t'value'   =\u003e 'active',\n\t\t\t\t\t\t\t\t'compare' =\u003e '!=',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tarray(\n\t\t\t\t\t\t\t\t'key'     =\u003e 'campaign_status',\n\t\t\t\t\t\t\t\t'compare' =\u003e 'NOT EXISTS',\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t$the_query = new WP_Query($args);\n\n\t\t\t\t\tif ($the_query-\u003ehave_posts()) {\n\t\t\t\t\t\twhile ($the_query-\u003ehave_posts()) {\n\t\t\t\t\t\t\t$the_query-\u003ethe_post();\n\t\t\t\t\t\t\tglobal $post;\n\t\t\t\t\t\t\t$checkStatus = lp_validate_listing_action($post-\u003eID, $data_metakey);\n\t\t\t\t\t\t\t$disabled   =   'no';\n\t\t\t\t\t\t\tif (empty($checkStatus)) {\n\t\t\t\t\t\t\t\t$disabled   =   'yes';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$listingsArray[get_the_ID()] = $disabled . '|' . get_the_title();\n\t\t\t\t\t\t}\n\t\t\t\t\t\twp_reset_postdata();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!empty($listingsArray)) {\n\t\t\t\t\t$class = '';\n\t\t\t\t}\n\n\t\t\t\t$selectData = '\n\t\t\t\u003cselect id=\"' . $id . '\" name=\"' . $name . '\" class=\"form-control ' . $class . '\" data-metakey=\"' . $data_metakey . '\" data-planmetakey=\"' . $data_planmetakey . '\"\u003e\n\t\t\t\n\t\t\t\u003coption value=\"0\"\u003e' . esc_html__('Select Listing', 'listingpro') . '\u003c/option\u003e ';\n\t\t\t\tif (!empty($listingsArray)) {\n\t\t\t\t\tforeach ($listingsArray as $key =\u003e $val) {\n\t\t\t\t\t\t$listing_booking_title    = explode(\"|\", $val);\n\t\t\t\t\t\t$disabled_attr  =   '';\n\t\t\t\t\t\tif ($listing_booking_title[0] == 'no') {\n\t\t\t\t\t\t\t$disabled_attr  =   'disabled=\"disabled\"';\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$disabled = $listing_booking_title[0];\n\t\t\t\t\t\t$bookinglistarr = get_user_meta(get_current_user_id(), 'listings_for_bookings', true);\n\t\t\t\t\t\tif (is_array($bookinglistarr) \u0026\u0026 in_array($key, $bookinglistarr)) {\n\t\t\t\t\t\t\t$disabled = 'yes';\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$selectData .= '\u003coption value=\"' . $key . '\" data-disable=\"' . $disabled . '\"\u003e' . $listing_booking_title[1] . '\u003c/option\u003e';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$selectData .= '\u003c/select\u003e';\n\n\t\t\t\treturn $selectData;\n\t\t\t}\n\t\t}\n\t}\n\t/* ========end count listing and return dropdown if less then 10====== */\n\n\t/* ===========lp get cmpaing inoice=========== */\n\tif (!function_exists('lp_get_campains_inovices')) {\n\t\tfunction lp_get_campains_inovices($all_success, $typeofcampaign, $checked)\n\t\t{\n\t\t\tob_start();\n\n\t\t\t$ncount = 1;\n\t\t\t$currency_position = lp_theme_option('pricingplan_currency_position');\n\t\t\tforeach ($all_success as $key =\u003e $val) {\n\t\t\t\t$checkedButton = '';\n\t\t\t\t$caID = $val-\u003epost_id;\n\t\t\t\t$dbtID = $val-\u003etransaction_id;\n\t\t\t\t$taxPrice = $val-\u003etax;\n\t\t\t\tif (isset($val-\u003etax) \u0026\u0026 $val-\u003etax \u003e 0) {\n\t\t\t\t\t$taxPrice = $val-\u003etax;\n\t\t\t\t} else {\n\t\t\t\t\t$taxPrice = 0;\n\t\t\t\t}\n\t\t\t\t$adID = $caID;\n\t\t\t\t$campTitle = get_the_title($caID);\n\t\t\t\t$pmethod = $val-\u003epayment_method;\n\n\t\t\t\t//new code 2.6.15\n\t\t\t\tif ($val-\u003epayment_method == 'wire' || $val-\u003epayment_method == 'WIRE') {\n\t\t\t\t\t$val-\u003epayment_method = esc_html__('wire', 'listingpro');\n\t\t\t\t}\n\t\t\t\t//end new code 2.6.15\n\n\t\t\t\tif ($pmethod == \"wire\") {\n\t\t\t\t\t$irddf = get_post_meta($caID, 'campaign_id', true);\n\t\t\t\t\tif (!empty($irddf)) {\n\t\t\t\t\t\t$adID = get_post_meta($caID, 'campaign_id', true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$camplanExpire = esc_html__('N/A', 'listingpro');\n\t\t\t\tif (get_post_meta($caID, 'campain_expire_date', true)) {\n\t\t\t\t\t$expDate = get_post_meta($caID, 'campain_expire_date', true);\n\t\t\t\t\t$camplanExpire = date_i18n(get_option('date_format'), strtotime($expDate));\n\t\t\t\t}\n\t\t\t\t$listingTID = listing_get_metabox_by_ID('campaign_id', $adID);\n\t\t\t\tif (!empty($listingTID)) {\n\t\t\t\t\t$listingTtitle = get_the_title($listingTID);\n\t\t\t\t} else {\n\t\t\t\t\t$listingTID = listing_get_metabox_by_ID('ads_listing', $adID);\n\t\t\t\t\t$listingTtitle = get_the_title($listingTID);\n\t\t\t\t}\n\t\t\t\t$dbcurrency = $val-\u003ecurrency;\n\t\t\t\t$dbmethod = '\u003cp\u003e' . esc_html__('PAYED WITH', 'listingpro') . '\u003c/p\u003e';\n\t\t\t\t$dbmethod .= '\u003cspan\u003e' . $val-\u003epayment_method . '\u003c/span\u003e';\n\t\t\t\t$listing_id = listing_get_metabox_by_ID('ads_listing', $adID);\n\t\t\t\t$ads_mode = listing_get_metabox_by_ID('ads_mode', $adID);\n\t\t\t\t$clicks = listing_get_metabox_by_ID('click_performed', $adID);\n\t\t\t\t$budget = listing_get_metabox_by_ID('budget', $adID);\n\t\t\t\t$budgetwithtax = listing_get_metabox_by_ID('budgetwithtax', $adID);\n\t\t\t\tif ($budgetwithtax == '' || $budgetwithtax == 0) {\n\t\t\t\t\t$budgetwithtax = $budget;\n\t\t\t\t}\n\t\t\t\t$remaining_balance = listing_get_metabox_by_ID('remaining_balance', $adID);\n\t\t\t\t$active_packages = listing_get_metabox_by_ID('ad_type', $adID);\n\t\t\t\t$duration = listing_get_metabox_by_ID('duration', $adID);\n\t\t\t\tif (empty($clicks)) {\n\t\t\t\t\t$clicks = esc_html__('No', 'listingpro');\n\t\t\t\t}\n\t\t\t\tif (!empty($caID)) {\n\t\t\t\t\tif (get_post_status($caID)) {\n\t\t\t\t\t\t// do stuff\n\t\t\t\t\t\t$thisInvAtts = '';\n\t\t\t\t\t\tif (!empty($clicks)) {\n\t\t\t\t\t\t\t$thisInvAtts .= \"data-clicks=\\\"$clicks\\\"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!empty($ads_mode)) {\n\t\t\t\t\t\t\t$thisInvAtts .= \" data-mode= \\\"$ads_mode\\\"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!empty($budget)) {\n\t\t\t\t\t\t\tif ($ads_mode == 'perclick') {\n\t\t\t\t\t\t\t\tif ($currency_position == 'right') {\n\t\t\t\t\t\t\t\t\t$budgetehtml = \"\u003cp\u003e\" . esc_html__('TOTAL BUDGET', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $budget . \" \" . $dbcurrency . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t\t$taxPricehtml = \"\u003cp\u003e\" . esc_html__('TAX PRICE', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $taxPrice . \" \" . $dbcurrency . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t\t$budgetewithTaxhtml = \"\u003cp\u003e\" . esc_html__('TOTAL PAID AMOUNT', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $budgetwithtax . \" \" . $dbcurrency . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$budgetehtml = \"\u003cp\u003e\" . esc_html__('TOTAL BUDGET', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $dbcurrency . \" \" . $budget . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t\t$taxPricehtml = \"\u003cp\u003e\" . esc_html__('TAX PRICE', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $dbcurrency . \" \" . $taxPrice . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t\t$budgetewithTaxhtml = \"\u003cp\u003e\" . esc_html__('TOTAL PAID AMOUNT', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $dbcurrency . \" \" . $budgetwithtax . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t$thisInvAtts .= \" data-taxPrice= \\\"$taxPricehtml\\\"\";\n\t\t\t\t\t\t\t\t$thisInvAtts .= \" data-budgetwithTax= \\\"$budgetewithTaxhtml\\\"\";\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif ($currency_position == 'right') {\n\t\t\t\t\t\t\t\t\t$budgetehtml = \"\u003cp\u003e\" . esc_html__('Amount paid', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $budget . \" \" . $dbcurrency . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$budgetehtml = \"\u003cp\u003e\" . esc_html__('Amount paid', 'listingpro') . \"\u003c/p\u003e\u003ch4\u003e\" . $dbcurrency . \" \" . $budget . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$thisInvAtts .= \" data-budget= \\\"$budgetehtml\\\"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!empty($remaining_balance)) {\n\t\t\t\t\t\t\tif ($currency_position == 'right') {\n\t\t\t\t\t\t\t\t$remaining_balancehtml =  \"\u003cp\u003e\" . esc_html__('REMAINING BALANCE', 'listingpro') . \"\u003c/p\u003e\u003ch4 class='faccredit'\u003e\" . $remaining_balance . \" \" . $dbcurrency . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$remaining_balancehtml =  \"\u003cp\u003e\" . esc_html__('REMAINING BALANCE', 'listingpro') . \"\u003c/p\u003e\u003ch4 class='faccredit'\u003e\" . $dbcurrency . \" \" . $remaining_balance . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$thisInvAtts .= \" data-credit= \\\"$remaining_balancehtml \\\"\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif ($currency_position == 'right') {\n\t\t\t\t\t\t\t\t$remaining_balancehtml =  \"\u003cp\u003e\" . esc_html__('REMAINING BALANCE', 'listingpro') . \"\u003c/p\u003e\u003ch4 class='faccredit'\u003e\" . $remaining_balance . \" \" . $dbcurrency . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$remaining_balancehtml =  \"\u003cp\u003e\" . esc_html__('REMAINING BALANCE', 'listingpro') . \"\u003c/p\u003e\u003ch4 class='faccredit'\u003e\" . $dbcurrency . \" \" . $remaining_balance . \"\u003c/h4\u003e\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$thisInvAtts .= \" data-credit= \\\"$remaining_balancehtml \\\"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$durationHTML = '';\n\t\t\t\t\t\tif (!empty($duration)) {\n\t\t\t\t\t\t\t$durationHTML = '\u003cp\u003e' . esc_html__('Duration', 'listingpro') . '\u003c/p\u003e\u003cspan\u003e' . $duration . ' ' . esc_html__('Days', 'listingpro') . '\u003c/span\u003e';\n\t\t\t\t\t\t\t$thisInvAtts .= \" data-duration= \\\"$durationHTML\\\"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$thisInvAtts .= \" data-currency= \\\"$dbcurrency\\\"\";\n\n\t\t\t\t\t\t$thisInvAtts .= \" data-transid= \\\"$dbtID\\\"\";\n\n\t\t\t\t\t\t$thisInvAtts .= \" data-method= \\\"$dbmethod\\\"\";\n\t\t\t\t\t\tif (!empty($active_packages)) {\n\t\t\t\t\t\t\t$typetitle = '';\n\t\t\t\t\t\t\t$hasPackage = false;\n\t\t\t\t\t\t\tforeach ($active_packages as $key =\u003e $singlePackage) {\n\t\t\t\t\t\t\t\tif ($singlePackage == \"lp_random_ads\") {\n\t\t\t\t\t\t\t\t\t$typetitle = \"\u003cspan\u003e\" . esc_html__(\"Spotlight\", \"listingpro\") . \"\u003ci class='fa fa-exclamation-circle' aria-hidden='true'\u003e\u003c/i\u003e\u003c/span\u003e\";\n\t\t\t\t\t\t\t\t\t$typetitle = $typetitle . \"\u003ci class='fa fa-check-circle'\u003e\u003c/i\u003e\";\n\t\t\t\t\t\t\t\t\t$typetitle = \"\u003cli\u003e\" . $typetitle . \"\u003c/li\u003e\";\n\t\t\t\t\t\t\t\t} elseif ($singlePackage == \"lp_detail_page_ads\") {\n\t\t\t\t\t\t\t\t\t$typetitle = \"\u003cspan\u003e\" . esc_html__(\"Sidebar\", \"listingpro\") . \"\u003ci class='fa fa-exclamation-circle' aria-hidden='true'\u003e\u003c/i\u003e\u003c/span\u003e\";\n\t\t\t\t\t\t\t\t\t$typetitle = $typetitle . \"\u003ci class='fa fa-check-circle'\u003e\u003c/i\u003e\";\n\t\t\t\t\t\t\t\t\t$typetitle = \"\u003cli\u003e\" . $typetitle . \"\u003c/li\u003e\";\n\t\t\t\t\t\t\t\t} elseif ($singlePackage == \"lp_top_in_search_page_ads\") {\n\t\t\t\t\t\t\t\t\t$typetitle = \"\u003cspan\u003e\" . esc_html__(\"Top of Search\", \"listingpro\") . \"\u003ci class='fa fa-exclamation-circle' aria-hidden='true'\u003e\u003c/i\u003e\u003c/span\u003e\";\n\t\t\t\t\t\t\t\t\t$typetitle = $typetitle . \"\u003ci class='fa fa-check-circle'\u003e\u003c/i\u003e\";\n\t\t\t\t\t\t\t\t\t$typetitle = \"\u003cli\u003e\" . $typetitle . \"\u003c/li\u003e\";\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$thisInvAtts .= \"data-packeg$key=\\\"$typetitle\\\"\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ($ncount == 1 \u0026\u0026 !empty($checked)) {\n\t\t\t\t\t\t\t$checkedButton = 'checked = \"checked\"';\n\t\t\t\t\t\t}\n\t\t\t?\u003e\n\t\t\t\t\t\t\u003cdiv \u003c?php echo wp_kses_post($thisInvAtts); ?\u003e class=\"lp-listing-outer-container lpadspreview clearfix \u003c?php echo esc_attr($listingTID); ?\u003e\"\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\"col-md-3 lp-content-before-after\" data-content=\"\u003c?php esc_html_e('CAMPAIGN', 'listingpro'); ?\u003e\"\u003e\n\t\t\t\t\t\t\t\t\u003cdiv class=\"lp-invoice-number lp-listing-form lpcampname\"\u003e\n\t\t\t\t\t\t\t\t\t\u003clabel\u003e\n\t\t\t\t\t\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\t\t\t\t\t\u003c?php echo substr($campTitle, 0, 20); ?\u003e\n\n\t\t\t\t\t\t\t\t\t\t\u003c/p\u003e\n\n\t\t\t\t\t\t\t\t\t\t\u003cdiv class=\"radio radio-danger\"\u003e\n\t\t\t\t\t\t\t\t\t\t\t\u003cinput class=\"radio_checked\" type=\"radio\" name=\"ads_invc\" id=\"\" value=\"\u003c?php echo esc_attr($adID); ?\u003e\" \u003c?php echo wp_kses_post($checkedButton); ?\u003e\u003e\n\t\t\t\t\t\t\t\t\t\t\t\u003clabel for=\"\"\u003e\n\t\t\t\t\t\t\t\t\t\t\t\u003c/label\u003e\n\t\t\t\t\t\t\t\t\t\t\u003c/div\u003e\n\n\t\t\t\t\t\t\t\t\t\u003c/label\u003e\n\t\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\u003c/div\u003e\n\n\t\t\t\t\t\t\t\u003cdiv class=\"col-md-2 lp-content-before-after\"\u003e\n\t\t\t\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\t\t\t\u003ca class=\"lp-inovice-campgnlisting\" target=\"_blank\" href=\"\u003c?php echo get_the_permalink($listingTID); ?\u003e\" title=\"\u003c?php echo esc_attr($listingTtitle); ?\u003e\"\u003e\n\t\t\t\t\t\t\t\t\t\t\u003c?php echo substr($listingTtitle, 0, 20); ?\u003e\n\t\t\t\t\t\t\t\t\t\u003c/a\u003e\n\t\t\t\t\t\t\t\t\u003c/p\u003e\n\n\t\t\t\t\t\t\t\u003c/div\u003e\n\n\t\t\t\t\t\t\t\u003cdiv class=\"col-md-2 lp-content-before-after\" data-content=\"\u003c?php esc_html_e('Start Date', 'listingpro'); ?\u003e\"\u003e\n\t\t\t\t\t\t\t\t\u003cdiv class=\"lp-invoice-date\"\u003e\n\t\t\t\t\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\t\t\t\t\u003c?php echo get_the_time(get_option('date_format'), $adID); ?\u003e\n\t\t\t\t\t\t\t\t\t\u003c/p\u003e\n\t\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\"col-md-2 lp-content-before-after\" data-content=\"\u003c?php esc_html_e('End Date', 'listingpro'); ?\u003e\"\u003e\n\t\t\t\t\t\t\t\t\u003cdiv class=\"lp-invoice-date\"\u003e\n\t\t\t\t\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\t\t\t\t\u003c?php echo wp_kses_post($camplanExpire); ?\u003e\n\t\t\t\t\t\t\t\t\t\u003c/p\u003e\n\t\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\u003cdiv class=\"col-md-3 text-right lp-content-before-after cmpln-sts-column\" data-content=\"\u003c?php esc_html_e('Status', 'listingpro'); ?\u003e\"\u003e\n\t\t\t\t\t\t\t\t\u003c?php\n\t\t\t\t\t\t\t\t$activeBTNCls = 'lp-plan-btn-statuscmpln';\n\t\t\t\t\t\t\t\t$adStatus = get_post_status($adID);\n\t\t\t\t\t\t\t\t$btnStatus = esc_html__('ACTIVE', 'listingpro');\n\t\t\t\t\t\t\t\tif ($adStatus == 'publish') {\n\t\t\t\t\t\t\t\t\t$activeBTNCls .= ' active';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ($adStatus == 'pending') {\n\t\t\t\t\t\t\t\t\t$btnStatus = esc_html__('PENDING', 'listingpro');\n\t\t\t\t\t\t\t\t} elseif ($adStatus == 'inactive') {\n\t\t\t\t\t\t\t\t\t$btnStatus = esc_html__('INACTIVE', 'listingpro');\n\t\t\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\t\t\t?\u003e\n\t\t\t\t\t\t\t\t\u003cdiv class=\"clerarfix \u003c?php echo esc_attr($activeBTNCls); ?\u003e\"\u003e\n\t\t\t\t\t\t\t\t\t\u003cspan class=\"lp-inovice-campgnlisting\"\u003e\n\t\t\t\t\t\t\t\t\t\t\u003c?php echo wp_kses_post($btnStatus); ?\u003e\n\t\t\t\t\t\t\t\t\t\u003c/span\u003e\n\t\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\t\u003c/div\u003e\n\t\t\t\t\t\u003c?php\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$ncount++;\n\t\t\t}\n\n\t\t\treturn  ob_get_contents();\n\t\t\tob_end_clean();\n\t\t\tob_flush();\n\t\t}\n\t}\n\n\t/* ============== listingpro decide referere============= */\n\n\tif (!function_exists('listingpro_get_listing_referer')) {\n\t\tfunction listingpro_get_listing_referer($pageURL, $adID)\n\t\t{\n\t\t\tif (!empty($pageURL)) {\n\t\t\t\t$listing_cat_slug = lp_theme_option('listing_cat_slug');\n\t\t\t\t$listing_loc_slug = lp_theme_option('listing_loc_slug');\n\t\t\t\t$listing_features_slug = lp_theme_option('listing_features_slug');\n\t\t\t\t$site_url = site_url();\n\t\t\t\t$pageURL = rtrim($pageURL, \"/\");\n\t\t\t\tglobal $post;\n\t\t\t\t$currentListing = $post-\u003eID;\n\t\t\t\t$type = null;\n\t\t\t\t$active_packages = listing_get_metabox_by_ID('ad_type', $adID);\n\t\t\t\tif ((strpos($pageURL, 'lp_s_tag') !== false \u0026\u0026 strpos($pageURL, 'lp_s_cat') !== false \u0026\u0026 strpos($pageURL, 'post_type=listing') !== false) \u0026\u0026 in_array('lp_top_in_search_page_ads', $active_packages)) {\n\t\t\t\t\t//Search clicked\n\t\t\t\t\t$type = 'lp_top_in_search_page_ads_pc';\n\t\t\t\t} elseif ((strpos($pageURL, $listing_cat_slug) !== false || strpos($pageURL, $listing_loc_slug) || strpos($pageURL, $listing_features_slug)) \u0026\u0026 in_array('lp_top_in_search_page_ads', $active_packages)) {\n\t\t\t\t\t//Archive Clicked\n\t\t\t\t\t$type = 'lp_top_in_search_page_ads_pc';\n\t\t\t\t} elseif ($pageURL == $site_url \u0026\u0026 in_array('lp_random_ads', $active_packages)) {\n\t\t\t\t\t//home page-spotlight\n\t\t\t\t\t$type = 'lp_random_ads_pc';\n\t\t\t\t} else {\n\t\t\t\t\t$post_slug = basename($pageURL);\n\t\t\t\t\t$postListing = get_page_by_path($post_slug, OBJECT, 'listing');\n\t\t\t\t\tif (!empty($postListing)) {\n\t\t\t\t\t\t$listingID = $postListing-\u003eID;\n\t\t\t\t\t\tif (!empty($listingID)) {\n\t\t\t\t\t\t\tif (get_post_type($listingID) == 'listing' \u0026\u0026 in_array('lp_detail_page_ads', $active_packages)) {\n\t\t\t\t\t\t\t\t//by sidebar\n\t\t\t\t\t\t\t\t$type = 'lp_detail_page_ads_pc';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!empty($type)) {\n\t\t\t\t\tlp_count_clicks_for_campaigns($currentListing, $adID, $type);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* ============function to delete paypal recuring profile============= */\n\tif (!function_exists('lp_cancel_recurring_profile')) {\n\t\tfunction lp_cancel_recurring_profile($profile_id)\n\t\t{\n\n\t\t\tglobal $listingpro_options;\n\t\t\t$paypal_api_environment = $listingpro_options['paypal_api'];\n\t\t\t$paypal_success = $listingpro_options['payment_success'];\n\t\t\t$paypal_success = get_permalink($paypal_success);\n\t\t\t$paypal_fail = $listingpro_options['payment_fail'];\n\t\t\t$paypal_fail = get_permalink($paypal_fail);\n\t\t\t$paypal_api_username = $listingpro_options['paypal_api_username'];\n\t\t\t$paypal_api_password = $listingpro_options['paypal_api_password'];\n\t\t\t$paypal_api_signature = $listingpro_options['paypal_api_signature'];\n\n\n\n\t\t\t$lp_curl_init_var = 'curl';\n\t\t\t$lp_curl_init_var .= '_init';\n\t\t\t$curl = $lp_curl_init_var();\n\n\t\t\tcurl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n\t\t\tcurl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);\n\t\t\tcurl_setopt($curl, CURLOPT_POST, true);\n\t\t\tcurl_setopt($curl, CURLOPT_VERBOSE, 1);\n\t\t\tif ($paypal_api_environment == 'sandbox') {\n\t\t\t\tcurl_setopt($curl, CURLOPT_URL, 'https://api-3t.sandbox.paypal.com/nvp');\n\t\t\t} elseif ($paypal_api_environment == 'live') {\n\t\t\t\tcurl_setopt($curl, CURLOPT_URL, 'https://api-3t.paypal.com/nvp');\n\t\t\t}\n\t\t\tcurl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array(\n\t\t\t\t'USER' =\u003e urlencode($paypal_api_username),\n\t\t\t\t'PWD' =\u003e urlencode($paypal_api_password),\n\t\t\t\t'SIGNATURE' =\u003e urlencode($paypal_api_signature),\n\n\t\t\t\t'VERSION' =\u003e '72.0',\n\t\t\t\t'METHOD' =\u003e 'ManageRecurringPaymentsProfileStatus',\n\t\t\t\t'PROFILEID' =\u003e $profile_id,         //here add your profile id\n\t\t\t\t'ACTION'    =\u003e 'Cancel'\n\t\t\t)));\n\n\t\t\t$lp_curl_exec_var = curl_exec($curl);\n\t\t\t$response =    $lp_curl_exec_var($curl);\n\n\t\t\tcurl_close($curl);\n\t\t}\n\t}\n\n\t/* ============function to retreive paypal recuring profile============= */\n\tif (!function_exists('lp_retreive_recurring_profile')) {\n\t\tfunction lp_retreive_recurring_profile($profile_id)\n\t\t{\n\n\t\t\tglobal $listingpro_options;\n\t\t\t$paypal_api_environment = $listingpro_options['paypal_api'];\n\t\t\t$paypal_success = $listingpro_options['payment_success'];\n\t\t\t$paypal_success = get_permalink($paypal_success);\n\t\t\t$paypal_fail = $listingpro_options['payment_fail'];\n\t\t\t$paypal_fail = get_permalink($paypal_fail);\n\t\t\t$paypal_api_username = $listingpro_options['paypal_api_username'];\n\t\t\t$paypal_api_password = $listingpro_options['paypal_api_password'];\n\t\t\t$paypal_api_signature = $listingpro_options['paypal_api_signature'];\n\n\t\t\t$lp_curl_init_var = 'curl';\n\t\t\t$lp_curl_init_var .= '_init';\n\t\t\t$curl = $lp_curl_init_var();\n\n\t\t\tcurl_setopt($curl, CURLOPT_RETURNTRANSFER, true);\n\t\t\tcurl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);\n\t\t\tcurl_setopt($curl, CURLOPT_POST, true);\n\t\t\tif ($paypal_api_environment == 'sandbox') {\n\t\t\t\tcurl_setopt($curl, CURLOPT_URL, 'https://api-3t.sandbox.paypal.com/nvp');\n\t\t\t} elseif ($paypal_api_environment == 'live') {\n\t\t\t\tcurl_setopt($curl, CURLOPT_URL, 'https://api-3t.paypal.com/nvp');\n\t\t\t}\n\t\t\tcurl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query(array(\n\t\t\t\t'USER' =\u003e urlencode($paypal_api_username),\n\t\t\t\t'PWD' =\u003e urlencode($paypal_api_password),\n\t\t\t\t'SIGNATURE' =\u003e urlencode($paypal_api_signature),\n\n\t\t\t\t'VERSION' =\u003e '72.0',\n\t\t\t\t'METHOD' =\u003e 'GetRecurringPaymentsProfileDetails',\n\t\t\t\t'PROFILEID' =\u003e $profile_id,         //here add your profile id                      \n\t\t\t)));\n\n\t\t\t$lp_curl_exec_var = 'curl';\n\t\t\t$lp_curl_exec_var .= '_exec';\n\n\t\t\t$response =    $lp_curl_exec_var($curl);\n\n\t\t\tcurl_close($curl);\n\n\t\t\t$nvp = array();\n\n\t\t\tif (preg_match_all('/(?\u003cname\u003e[^\\=]+)\\=(?\u003cvalue\u003e[^\u0026]+)\u0026?/', $response, $matches)) {\n\t\t\t\tforeach ($matches['name'] as $offset =\u003e $name) {\n\t\t\t\t\t$nvp[$name] = urldecode($matches['value'][$offset]);\n\t\t\t\t}\n\t\t\t}\n\t\t\t//return $nvp;\n\t\t\tif ($nvp['ACK'] == \"Success\" \u0026\u0026 $nvp['STATUS'] == \"Active\") {\n\t\t\t\treturn $nvp;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* action for business users based google analaytics */\n\tif (!function_exists('lp_user_based_analytics')) {\n\t\tfunction lp_user_based_analytics()\n\t\t{\n\t\t\tif (is_singular('listing')) {\n\t\t\t\tglobal $post;\n\t\t\t\t$listing_ID = $post-\u003eID;\n\t\t\t\t$listing_Auth_ID = get_post_field('post_author', $listing_ID);\n\t\t\t\t$g_AnalyticsID = get_user_meta($listing_Auth_ID, 'g_analytics_id', true);\n\t\t\t\tif (!empty($g_AnalyticsID)) {\n\t\t\t\t\t?\u003e\n\n\t\t\t\t\t\u003cscript async src=\"https://www.googletagmanager.com/gtag/js?id=\u003c?php echo wp_kses_post($g_AnalyticsID); ?\u003e\"\u003e\u003c/script\u003e\n\t\t\t\t\t\u003cscript\u003e\n\t\t\t\t\t\twindow.dataLayer = window.dataLayer || [];\n\n\t\t\t\t\t\tfunction gtag() {\n\t\t\t\t\t\t\tdataLayer.push(arguments);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgtag('js', new Date());\n\n\t\t\t\t\t\tgtag('config', '\u003c?php echo wp_kses_post($g_AnalyticsID); ?\u003e');\n\t\t\t\t\t\u003c/script\u003e\n\t\t\u003c?php\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tadd_action('wp_head', 'lp_user_based_analytics');\n\n\t/* get inbox status */\n\tif (!function_exists('lp_get_inbox_msgs_status')) {\n\t\tfunction lp_get_inbox_msgs_status()\n\t\t{\n\t\t\t$currentUserID = get_current_user_id();\n\t\t\t$lpAllMessges = get_user_meta($currentUserID, 'lead_messages', true);\n\t\t\tif (!empty($lpAllMessges)) {\n\t\t\t\tforeach ($lpAllMessges as $key =\u003e $singleListingArray) {\n\t\t\t\t\tif (!empty($singleListingArray)) {\n\t\t\t\t\t\tforeach ($singleListingArray as $emailkey =\u003e $singleUserLeads) {\n\t\t\t\t\t\t\t$status = $singleUserLeads['status'];\n\t\t\t\t\t\t\tif ($status == \"unread\") {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (!function_exists('LP_send_mail')) {\n\t\tfunction LP_send_mail($to, $subject, $message, $headers)\n\t\t{\n\t\t\tif (!function_exists('LP_mail')) {\n\t\t\t\treturn '';\n\t\t\t} else {\n\t\t\t\treturn LP_mail($to, $subject, $message, $headers);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!function_exists('lp_mail_headers_append')) {\n\t\tfunction lp_mail_headers_append()\n\t\t{\n\t\t\tif (!function_exists('LP_mail_header_headers_append_filter')) {\n\t\t\t\treturn '';\n\t\t\t} else {\n\t\t\t\treturn LP_mail_header_headers_append_filter();\n\t\t\t}\n\t\t}\n\t}\n\tif (!function_exists('lp_mail_headers_remove')) {\n\t\tfunction lp_mail_headers_remove()\n\t\t{\n\t\t\tif (!function_exists('LP_mail_header_headers_rf')) {\n\t\t\t\treturn '';\n\t\t\t} else {\n\t\t\t\treturn LP_mail_header_headers_rf();\n\t\t\t}\n\t\t}\n\t}\n\n\tadd_action('admin_init', function () {\n\t\tif (did_action('elementor/loaded')) {\n\t\t\tremove_action('admin_init', [Plugin::$instance-\u003eadmin, 'maybe_redirect_to_getting_started']);\n\t\t}\n\t}, 1);\n\n\n\tadd_action('wp_ajax_send_author_mail', 'send_author_mail');\n\tadd_action('wp_ajax_nopriv_send_author_mail', 'send_author_mail');\n\tif (!function_exists('send_author_mail')) {\n\t\tfunction send_author_mail()\n\t\t{\n\t\t\tcheck_ajax_referer('lp_ajax_nonce', 'lpNonce');\n\t\t\t// Nonce is checked, get the POST data and sign user on\n\t\t\tif (!wp_verify_nonce(sanitize_text_field($_POST['lpNonce']), 'lp_ajax_nonce')) {\n\t\t\t\techo 'Please Check Nonce';\n\t\t\t\texit();\n\t\t\t}\n\t\t\tglobal $listingpro_options;\n\t\t\t$field_name = sanitize_text_field($_POST['field-name']);\n\t\t\t$field_email = sanitize_text_field($_POST['field-email']);\n\t\t\t$field_phone = sanitize_text_field($_POST['field-phone']);\n\t\t\t$field_message = sanitize_text_field($_POST['field-message']);\n\t\t\t$data_userMail = sanitize_text_field($_POST['data-userMail']);\n\t\t\t$headers = \"Content-Type: text/html; charset=UTF-8\";\n\t\t\t$website_url = site_url();\n\t\t\t$website_name = get_option('blogname');\n\t\t\t$body =  $listingpro_options['listingpro_content_lead_form'];\n\t\t\t$subject =  $listingpro_options['listingpro_subject_lead_form'];\n\n\t\t\t$formated_mail_content = lp_sprintf2(\"$body\", array(\n\t\t\t\t'listing_title' =\u003e '',\n\t\t\t\t'sender_name' =\u003e \"$field_name\",\n\t\t\t\t'sender_email' =\u003e \"$field_email\",\n\t\t\t\t'sender_phone' =\u003e \"$field_phone\",\n\t\t\t\t'sender_message' =\u003e \"$field_message\",\n\t\t\t\t'user_name' =\u003e \"$field_name\",\n\t\t\t\t'website_url' =\u003e \"$website_url\",\n\t\t\t\t'website_name' =\u003e \"$website_name\",\n\t\t\t));\n\t\t\tlp_mail_headers_append();\n\t\t\t$result = LP_send_mail($data_userMail, $subject, $formated_mail_content, $headers);\n\t\t\tlp_mail_headers_remove();\n\n\t\t\tif ($result) {\n\t\t\t\techo 'Success';\n\t\t\t} else {\n\t\t\t\techo 'fail';\n\t\t\t}\n\n\t\t\texit();\n\t\t}\n\t}\n\n\tif (!function_exists('LP_current_URL')) {\n\t\tfunction LP_current_URL()\n\t\t{\n\t\t\tif (!function_exists('LP_current_location')) {\n\t\t\t\treturn '';\n\t\t\t} else {\n\t\t\t\treturn LP_current_location();\n\t\t\t}\n\t\t}\n\t}\n\tif (!function_exists('LP_if_localhost')) {\n\t\tfunction LP_if_localhost()\n\t\t{\n\t\t\tif (!function_exists('LP_current_location')) {\n\t\t\t\treturn '';\n\t\t\t} else {\n\t\t\t\treturn LP_get_if_localhost();\n\t\t\t}\n\t\t}\n\t}\n\n\tif (!function_exists('lp_rating_number_format_cb')) {\n\t\tadd_filter('lp_rating_number_format', 'lp_rating_number_format_cb');\n\t\tfunction lp_rating_number_format_cb($rating = '')\n\t\t{\n\t\t\tif (isset($rating) \u0026\u0026 $rating != '' \u0026\u0026 is_numeric($rating)) {\n\t\t\t\t$rating = number_format($rating, '1', '.', '');\n\t\t\t}\n\t\t\treturn $rating;\n\t\t}\n\t}\n\n\tif (!function_exists('lp_wpml_compatible_search_url')) {\n\t\tadd_filter('wpml_ls_language_url', 'lp_wpml_compatible_search_url', 11, 2);\n\t\tfunction lp_wpml_compatible_search_url($url, $data)\n\t\t{\n\t\t\treturn add_query_arg($_GET, $url);\n\t\t}\n\t}\n\tfunction addCustomImportButton()\n\t{\n\t\tglobal $current_screen;\n\n\t\t// Not our post type, exit earlier\n\t\t// You can remove this if condition if you don't have any specific post type to restrict to. \n\t\tif ('listing' != $current_screen-\u003epost_type) {\n\t\t\treturn;\n\t\t}\n\n\t\t?\u003e\n\t\t\u003cscript type=\"text/javascript\"\u003e\n\t\t\tjQuery(document).ready(function($) {\n\t\t\t\tjQuery(\".wp-heading-inline\").after(\"\u003ca  id='lp_export_listings' class='add-new-h2' onclick='downloadCSV()'\u003eExport\u003c/a\u003e\");\n\t\t\t});\n\n\t\t\tfunction downloadCSV() {\n\t\t\t\tjQuery.ajax({\n\t\t\t\t\turl: \"\u003c?php echo admin_url('admin-ajax.php') ?\u003e\",\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: \"download_csv\",\n\t\t\t\t\t\tnonce: \"\u003c?php echo wp_create_nonce('download_csv_nonce') ?\u003e\"\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function(response) {\n\t\t\t\t\t\tvar blob = new Blob([response], {\n\t\t\t\t\t\t\ttype: 'text/csv;charset=utf-8;delimiter=;'\n\t\t\t\t\t\t});\n\t\t\t\t\t\tvar link = document.createElement(\"a\");\n\t\t\t\t\t\tlink.href = window.URL.createObjectURL(blob);\n\t\t\t\t\t\tlink.download = \"listings.csv\";\n\t\t\t\t\t\tlink.click();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\u003c/script\u003e\n\t\u003c?php\n\t}\n\tadd_action('admin_head-edit.php', 'addCustomImportButton');\n\n\tadd_action('wp_ajax_download_csv', 'download_csv');\n\n\tfunction download_csv()\n\t{\n\n\t\t// check nonce\n\t\tif (!isset($_POST['nonce']) || !wp_verify_nonce($_POST['nonce'], 'download_csv_nonce')) {\n\t\t\tdie('Unauthorized access');\n\t\t}\n\t\t// prepare query arguments\n\t\t$args = array(\n\t\t\t'post_type'      =\u003e 'listing',\n\t\t\t'posts_per_page' =\u003e -1,\n\t\t\t'post_status'    =\u003e 'publish',\n\t\t\t// add any additional query arguments as needed\n\t\t);\n\t\t// create WP_Query object\n\t\t$query = new WP_Query($args);\n\t\t// prepare data for CSV file\n\t\t$data = array(\n\t\t\tarray('Title', 'Author', 'Date', 'Status', 'Featured Image', 'Tagline Text', 'Google Address', 'latitude', 'longitude', 'phone', 'whatsapp', 'email', 'website', 'twitter', 'facebook', 'linkedin', 'youtube', 'instagram', 'video', 'Gallery', 'Price Status', 'Price From', 'Price To', 'Plan ID', 'FAQ Questions', 'FAQ Answers', 'Business Hours', 'Business Logo', 'Categories', 'Locations', 'Tags'),\n\t\t);\n\t\t// loop through query results and add to data array\n\t\tif ($query-\u003ehave_posts()) {\n\t\t\twhile ($query-\u003ehave_posts()) {\n\t\t\t\t$query-\u003ethe_post();\n\t\t\t\t$title = get_the_title();\n\t\t\t\t$author = get_the_author();\n\t\t\t\t$date = get_the_date('Y-m-d');\n\t\t\t\t$status = get_post_status();\n\t\t\t\t$featured_image = get_the_post_thumbnail_url();\n\t\t\t\t$data_iteration = array($title, $author, $date, $status, $featured_image);\n\t\t\t\t$categories = get_the_terms(get_the_ID(), 'listing-category');\n\t\t\t\t$categories_list = 'N/A';\n\t\t\t\tif ($categories \u0026\u0026 !is_wp_error($categories)) {\n\t\t\t\t\t$categories_list = implode(', ', wp_list_pluck($categories, 'name'));\n\t\t\t\t}\n\t\t\t\t$locations = get_the_terms(get_the_ID(), 'location');\n\t\t\t\t$locations_list = 'N/A';\n\t\t\t\tif ($locations \u0026\u0026 !is_wp_error($locations)) {\n\t\t\t\t\t$locations_list = implode(', ', wp_list_pluck($locations, 'name'));\n\t\t\t\t}\n\t\t\t\t$tags = get_the_terms(get_the_ID(), 'list-tags');\n\t\t\t\t$tags_list = 'N/A';\n\t\t\t\tif ($tags \u0026\u0026 !is_wp_error($tags)) {\n\t\t\t\t\t$tags_list = implode(', ', wp_list_pluck($tags, 'name'));\n\t\t\t\t}\n\t\t\t\t$keys = array(\n\t\t\t\t\t'tagline_text',\n\t\t\t\t\t'gAddress',\n\t\t\t\t\t'latitude',\n\t\t\t\t\t'longitude',\n\t\t\t\t\t'mappin',\n\t\t\t\t\t'phone',\n\t\t\t\t\t'whatsapp',\n\t\t\t\t\t'email',\n\t\t\t\t\t'website',\n\t\t\t\t\t'twitter',\n\t\t\t\t\t'facebook',\n\t\t\t\t\t'linkedin',\n\t\t\t\t\t'youtube',\n\t\t\t\t\t'instagram',\n\t\t\t\t\t'video',\n\t\t\t\t\t'gallery',\n\t\t\t\t\t'price_status',\n\t\t\t\t\t'list_price',\n\t\t\t\t\t'list_price_to',\n\t\t\t\t\t'Plan_id',\n\t\t\t\t\t'lp_purchase_days',\n\t\t\t\t\t'reviews_ids',\n\t\t\t\t\t'claimed_section',\n\t\t\t\t\t'listings_ads_purchase_date',\n\t\t\t\t\t'listings_ads_purchase_packages',\n\t\t\t\t\t'faqs',\n\t\t\t\t\t'business_hours',\n\t\t\t\t\t'campaign_id',\n\t\t\t\t\t'changed_planid',\n\t\t\t\t\t'listing_reported_by',\n\t\t\t\t\t'listing_reported',\n\t\t\t\t\t'business_logo'\n\t\t\t\t);\n\t\t\t\t$metaboxes = get_post_meta(get_the_ID(), 'lp_' . strtolower(THEMENAME) . '_options', true);\n\t\t\t\tif (empty($metaboxes)) {\n\t\t\t\t\t$metaboxes = array_fill_keys($keys, '');\n\t\t\t\t}\n\n\t\t\t\t$mappedArray = array_replace(array_combine($keys, array_fill(0, count($keys), null)), $metaboxes);\n\n\t\t\t\tforeach ($mappedArray as $name =\u003e $metabox) {\n\t\t\t\t\tif ($name != 'mappin' \u0026\u0026 $name != 'campaign_id' \u0026\u0026 $name != 'faqs' \u0026\u0026 $name != 'business_hours' \u0026\u0026 $name != 'changed_planid' \u0026\u0026 $name != 'listing_reported_by' \u0026\u0026 $name != 'listing_reported' \u0026\u0026 $name != 'gallery' \u0026\u0026 $name != 'gallery' \u0026\u0026 $name != 'reviews_ids' \u0026\u0026 $name != 'lp_purchase_days' \u0026\u0026 $name != 'claimed_section' \u0026\u0026 $name != 'listings_ads_purchase_date' \u0026\u0026 $name != 'listings_ads_purchase_packages') {\n\t\t\t\t\t\tif (empty($metabox)) {\n\t\t\t\t\t\t\t$metabox = 'N/A';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tarray_push($data_iteration, $metabox);\n\t\t\t\t\t}\n\t\t\t\t\tif ($name == 'gallery') {\n\t\t\t\t\t\t$IDs = get_post_meta(get_the_ID(), 'gallery_image_ids', true);\n\t\t\t\t\t\tif (!empty($IDs)) {\n\t\t\t\t\t\t\t$imgIDs = array();\n\t\t\t\t\t\t\t$ximgIDs = explode(',', $IDs);\n\t\t\t\t\t\t\tif (!empty($ximgIDs)) {\n\t\t\t\t\t\t\t\tforeach ($ximgIDs as $value) {\n\t\t\t\t\t\t\t\t\tif (!empty(get_post_type($value)) \u0026\u0026 get_post_type($value) == 'attachment') {\n\t\t\t\t\t\t\t\t\t\t$imgIDs[] = wp_get_attachment_image_src($value, 'full')[0];\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$metabox = implode(',', $imgIDs);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$metabox = 'N/A';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tarray_push($data_iteration, $metabox);\n\t\t\t\t\t}\n\t\t\t\t\tif ($name == 'faqs') {\n\t\t\t\t\t\tif (empty($metabox)) {\n\t\t\t\t\t\t\tarray_push($data_iteration, 'N/A');\n\t\t\t\t\t\t\tarray_push($data_iteration, 'N/A');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$faq = implode(',', $metabox['faq']);\n\t\t\t\t\t\t\t$faqans = implode(',', $metabox['faqans']);\n\t\t\t\t\t\t\tarray_push($data_iteration, $faq);\n\t\t\t\t\t\t\tarray_push($data_iteration, $faqans);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ($name == 'business_hours') {\n\t\t\t\t\t\tforeach ($metabox as $day =\u003e $hours) {\n\t\t\t\t\t\t\t$timing = implode(',',  $hours);\n\t\t\t\t\t\t\t$metabox[$day] = $day . ',' . $timing;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tarray_push($data_iteration, implode('|', $metabox));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tarray_push($data_iteration, $categories_list);\n\t\t\t\tarray_push($data_iteration, $locations_list);\n\t\t\t\tarray_push($data_iteration, $tags_list);\n\t\t\t\t$data[] = $data_iteration;\n\t\t\t}\n\t\t\twp_reset_postdata();\n\t\t}\n\t\tattendees_to_csv_download($data, \"attendees.csv\");\n\t\twp_die();\n\t}\n\n\t//Search Shortcode\n\tfunction lp_search_shortcode_cb($atts)\n\t{\n\t\tob_start();\n\t\t$output = '';\n\t\techo '\u003cdiv class=\"lp-shortcode-search\"\u003e';\n\t\tget_template_part('templates/search/home-search');\n\t\techo '\u003c/div\u003e';\n\t\t$output = ob_get_contents();\n\t\tob_end_clean();\n\t\treturn $output;\n\t}\n\tadd_shortcode('lp_search', 'lp_search_shortcode_cb');\n\n\tfunction hasFontAwesomeIconClass($string)\n\t{\n\t\t$pattern = '/\\b(fa(-[a-z]+)?)\\b/';\n\t\treturn preg_match($pattern, $string) === 1;\n\t}\n\n\tfunction restrict_upload_mimes($mimes)\n\t{\n\t\t$mimes = array(\n\t\t\t'jpg|jpeg|jpe' =\u003e 'image/jpeg',\n\t\t\t'png' =\u003e 'image/png',\n\t\t\t'gif' =\u003e 'image/gif',\n\t\t\t'bmp' =\u003e 'image/bmp',\n\t\t\t'tiff|tif' =\u003e 'image/tiff',\n\t\t\t'ico' =\u003e 'image/x-icon',\n\t\t\t'mp4' =\u003e 'video/mp4',\n\t\t\t'webp' =\u003e 'image/webp',\n\t\t);\n\t\treturn $mimes;\n\t}\n\tadd_filter('upload_mimes', 'restrict_upload_mimes');\n\n\tfunction check_image_upload($file)\n{\n    // Check if the current user is an administrator\n    if (current_user_can('administrator')) {\n        return $file; // Skip the check for administrators\n    }\n\n    $file_type = wp_check_filetype($file['name']);\n    $allowed_mimes = array('image/webp', 'image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/bmp', 'image/tiff', 'image/x-icon');\n\n    if (!in_array($file_type['type'], $allowed_mimes)) {\n        $file['error'] = 'You can only upload image files.';\n    }\n\n    return $file;\n}\nadd_filter('wp_handle_upload_prefilter', 'check_image_upload');\n\n\nfunction remove_all_admin_notices() {\n    remove_all_actions('admin_notices');\n    remove_all_actions('all_admin_notices');\n}\nadd_action('admin_head', 'remove_all_admin_notices', 1);\n\n\n// ============================================================\n// WholesaleSeeker - Listing View Counter\n// ============================================================\n\nif ( ! function_exists( 'ws_track_listing_view' ) ) :\n    function ws_track_listing_view() {\n        if ( ! is_singular( 'listing' ) ) return;\n        if ( is_user_logged_in() \u0026\u0026 current_user_can( 'manage_options' ) ) return;\n        global $post;\n        $post_id = $post-\u003eID;\n        $real = (int) get_post_meta( $post_id, 'ws_view_count_real', true );\n        $real++;\n        update_post_meta( $post_id, 'ws_view_count_real', $real );\n\n        // Sync combined total so Most Viewed sort works\n        $combined = ws_get_listing_view_count( $post_id );\n        update_post_meta( $post_id, 'post_views_count', $combined );\n    }\n    add_action( 'template_redirect', 'ws_track_listing_view' );\nendif;\n\n\nif ( ! function_exists( 'ws_get_listing_view_count' ) ) :\n    function ws_get_listing_view_count( $post_id = null ) {\n        if ( ! $post_id ) { global $post; $post_id = $post-\u003eID; }\n        $override      = get_post_meta( $post_id, 'ws_view_count_override', true );\n        $real          = (int) get_post_meta( $post_id, 'ws_view_count_real', true );\n        $override_base = (int) get_post_meta( $post_id, 'ws_view_count_override_base', true );\n        if ( $override !== '' \u0026\u0026 $override !== false ) {\n            $since = max( 0, $real - $override_base );\n            return (int) $override + $since;\n        }\n        return $real;\n    }\nendif;\n\n\nif ( ! function_exists( 'ws_format_view_count' ) ) :\n    function ws_format_view_count( $n ) {\n        if ( $n \u003e= 1000000 ) {\n            $val = round( $n / 1000000, 1 );\n            return ( floor( $val ) == $val ? (int)$val : $val ) . 'M';\n        }\n        if ( $n \u003e= 1000 ) {\n            $val = round( $n / 1000, 1 );\n            return ( floor( $val ) == $val ? (int)$val : $val ) . 'K';\n        }\n        return (string) $n;\n    }\nendif;\n\n\n// Force Most Viewed sort to use numeric comparison\nadd_filter( 'posts_orderby', function( $orderby, $query ) {\n    if ( ! is_admin() \u0026\u0026 isset( $_GET['sortby'] ) \u0026\u0026 $_GET['sortby'] === 'most_viewed' ) {\n        global $wpdb;\n        $orderby = \"CAST({$wpdb-\u003epostmeta}.meta_value AS UNSIGNED) DESC\";\n    }\n    return $orderby;\n}, 10, 2 );\n\n\n\n// Replace ONLY this function in functions.php\n// Find: if ( ! function_exists( 'ws_listing_view_badge' ) ) :\n// and replace the entire function with this:\n\nif ( ! function_exists( 'ws_listing_view_badge' ) ) :
    function ws_listing_view_badge( $post_id = null ) {
        if ( ! $post_id ) { global $post; $post_id = $post->ID ?? 0; }
        if ( ! $post_id ) return;
        $count     = ws_get_listing_view_count( $post_id );
        $formatted = ws_format_view_count( $count );
        $icon      = ( $count >= 500 ) ? '🔥' : '👁️';
        echo '<div class="ws-view-badge-split" title="' . esc_attr( number_format( $count ) ) . ' people viewed this listing">';
        echo '<span class="ws-vb-left">';
        echo '<span class="ws-vb-icon">' . $icon . '</span>';
        echo '<span class="ws-vb-num">' . esc_html( $formatted ) . '</span>';
        echo '</span>';
        echo '<span class="ws-vb-right">';
        echo '<span class="ws-vb-label">People Viewed This Listing</span>';
        echo '</span>';
        echo '</div>';
    }
endif;\n\n\n// Make \"Most Viewed\" sort use our ws view counter\nadd_filter( 'listingpro_sort_by_meta_key', function( $meta_key, $sort_by ) {\n    if ( $sort_by === 'most_viewed' || $sort_by === 'mostviewed' ) {\n        $meta_key = 'ws_view_count_real';\n    }\n    return $meta_key;\n}, 10, 2 );\n\n\n\n\n\n// ---- Admin Meta Box ----\n\nadd_action( 'add_meta_boxes', function() {\n    add_meta_box(\n        'ws_view_counter_box',\n        '👁 View Counter',\n        'ws_view_counter_meta_box_html',\n        'listing',\n        'side',\n        'high'\n    );\n});\n\nif ( ! function_exists( 'ws_view_counter_meta_box_html' ) ) :\n    function ws_view_counter_meta_box_html( $post ) {\n        wp_nonce_field( 'ws_view_counter_save', 'ws_view_counter_nonce' );\n        $real      = (int) get_post_meta( $post-\u003eID, 'ws_view_count_real', true );\n        $override  = get_post_meta( $post-\u003eID, 'ws_view_count_override', true );\n        $display   = ws_get_listing_view_count( $post-\u003eID );\n        $formatted = ws_format_view_count( $display );\n        ?\u003e\n        \u003cstyle\u003e\n        .ws-cb { font-family: -apple-system, sans-serif; font-size: 13px; }\n        .ws-cb .ws-stat { background: #f0f6fc; border: 1px solid #c3d9ef; border-radius: 8px; padding: 12px; margin-bottom: 12px; text-align: center; }\n        .ws-cb .ws-stat strong { display: block; font-size: 26px; color: #1e3a8a; font-weight: 900; line-height: 1.2; }\n        .ws-cb .ws-stat span { color: #64748b; font-size: 11px; }\n        .ws-cb .ws-real { margin-bottom: 10px; color: #475569; }\n        .ws-cb label { font-weight: 700; color: #0f172a; display: block; margin-bottom: 5px; }\n        .ws-cb input[type=\"number\"] { width: 100%; padding: 8px 10px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; }\n        .ws-cb .ws-help { color: #6b7280; font-size: 11px; margin: 5px 0 8px; line-height: 1.6; }\n        .ws-cb .ws-clr { background: none; border: 1px solid #e5e7eb; border-radius: 6px; padding: 5px 10px; font-size: 12px; cursor: pointer; color: #6b7280; }\n        .ws-cb .ws-clr:hover { border-color: #dc2626; color: #dc2626; }\n        \u003c/style\u003e\n        \u003cdiv class=\"ws-cb\"\u003e\n            \u003cdiv class=\"ws-stat\"\u003e\n                \u003cstrong\u003e\u003c?php echo esc_html( $formatted ); ?\u003e\u003c/strong\u003e\n                \u003cspan\u003eShowing to visitors\u003c/span\u003e\n            \u003c/div\u003e\n            \u003cp class=\"ws-real\"\u003eReal views tracked: \u003cstrong\u003e\u003c?php echo number_format( $real ); ?\u003e\u003c/strong\u003e\u003c/p\u003e\n            \u003chr style=\"border:none;border-top:1px solid #e5e7eb;margin:10px 0;\"\u003e\n            \u003clabel for=\"ws_override\"\u003eSet custom starting number\u003c/label\u003e\n            \u003cinput type=\"number\" id=\"ws_override\" name=\"ws_view_count_override\" value=\"\u003c?php echo esc_attr( $override ); ?\u003e\" placeholder=\"e.g. 5000\" min=\"0\"\u003e\n            \u003cp class=\"ws-help\"\u003eReal views add on top of this number.\u003cbr\u003eLeave empty to show real views only.\u003c/p\u003e\n            \u003cbutton type=\"button\" class=\"ws-clr\" onclick=\"document.getElementById('ws_override').value=''\"\u003eClear Override\u003c/button\u003e\n        \u003c/div\u003e\n        \u003c?php\n    }\nendif;\n\n\nadd_action( 'save_post', function( $post_id ) {\n    if ( ! isset( $_POST['ws_view_counter_nonce'] ) ) return;\n    if ( ! wp_verify_nonce( $_POST['ws_view_counter_nonce'], 'ws_view_counter_save' ) ) return;\n    if ( defined( 'DOING_AUTOSAVE' ) \u0026\u0026 DOING_AUTOSAVE ) return;\n    if ( ! current_user_can( 'edit_post', $post_id ) ) return;\n\n    if ( isset( $_POST['ws_view_count_override'] ) \u0026\u0026 $_POST['ws_view_count_override'] !== '' ) {\n        $new = absint( $_POST['ws_view_count_override'] );\n        $old = get_post_meta( $post_id, 'ws_view_count_override', true );\n        if ( $new != $old ) {\n            update_post_meta( $post_id, 'ws_view_count_override_base', (int) get_post_meta( $post_id, 'ws_view_count_real', true ) );\n        }\n        update_post_meta( $post_id, 'ws_view_count_override', $new );\n    } else {\n        delete_post_meta( $post_id, 'ws_view_count_override' );\n        delete_post_meta( $post_id, 'ws_view_count_override_base' );\n    }\n});\n\n\n// Google adsense every 6 listing Box\nadd_action('wp_footer', function () {\n\n    if (\n        !is_post_type_archive('listing') \u0026\u0026\n        !is_tax('listing-category') \u0026\u0026\n        !is_tax('location')\n    ) {\n        return;\n    }\n\n?\u003e\n\u003cscript\u003e\n(function () {\n\n    let lastPageSignature = '';\n\n    function injectAds() {\n\n        var cards = document.querySelectorAll('.lp-grid-box-contianer');\n\n        if (!cards.length) return;\n\n        let signature = cards.length + '-' + cards[0].innerText.substring(0, 50);\n\n        if (signature === lastPageSignature) {\n            return;\n        }\n\n        lastPageSignature = signature;\n\n        document.querySelectorAll('.ws-infeed-ad').forEach(function(el) {\n            el.remove();\n        });\n\n        cards.forEach(function(card, index) {\n\n            if ((index + 1) % 6 !== 0) return;\n\n            let adWrap = document.createElement('div');\n\n            adWrap.className = 'ws-infeed-ad';\n\n            adWrap.style.cssText =\n                'width:100%;clear:both;padding:20px 0;text-align:center;';\n\n            let ins = document.createElement('ins');\n\n            ins.className = 'adsbygoogle';\n\n            ins.style.display = 'block';\n\n            ins.setAttribute('data-ad-client', 'ca-pub-8831630778442397');\n\n            ins.setAttribute('data-ad-slot', '8714854721');\n\n            ins.setAttribute('data-ad-format', 'auto');\n\n            ins.setAttribute('data-full-width-responsive', 'true');\n\n            adWrap.appendChild(ins);\n\n            card.parentNode.insertBefore(adWrap, card.nextSibling);\n\n            try {\n                (adsbygoogle = window.adsbygoogle || []).push({});\n            } catch(e) {}\n\n        });\n\n    }\n\n    document.addEventListener('DOMContentLoaded', function () {\n        setTimeout(injectAds, 1000);\n    });\n\n    if (window.jQuery) {\n\n        jQuery(document).ajaxComplete(function () {\n\n            setTimeout(function () {\n\n                injectAds();\n\n            }, 1500);\n\n        });\n\n    }\n\n})();\n\u003c/script\u003e\n\u003c?php\n\n}, 20);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction ws_display_external_blog_posts() {\n    // 1. Check if cached HTML exists to ensure fast page load speeds\n    $cached_output = get_transient('ws_latest_blog_html');\n    if ( false !== $cached_output ) {\n        return $cached_output;\n    }\n\n    // 2. Fetch the latest 3 posts with embedded featured images from the /blog installation\n    $api_url = 'https://wholesaleseeker.com/blog/wp-json/wp/v2/posts?_embed\u0026per_page=3';\n    $response = wp_remote_get( $api_url, array( 'timeout' =\u003e 10 ) );\n\n    // Error handling if the blog cannot be reached\n    if ( is_wp_error( $response ) ) {\n        return '\u003cp style=\"text-align:center;\"\u003eUnable to load latest blog posts at this time.\u003c/p\u003e';\n    }\n\n    $body = wp_remote_retrieve_body( $response );\n    $posts = json_decode( $body );\n\n    if ( empty( $posts ) || ! is_array( $posts ) ) {\n        return '\u003cp style=\"text-align:center;\"\u003eNo blog posts found.\u003c/p\u003e';\n    }\n\n    // 3. Build the container HTML matching the 3-column card design\n    $output  = '\u003cdiv class=\"ws-blog-grid\" style=\"display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin:20px 0;\"\u003e';\n\n    foreach ( $posts as $post ) {\n        $title = esc_html( $post-\u003etitle-\u003erendered );\n        $link  = esc_url( $post-\u003elink );\n\n        // Extract the featured image URL (or leave blank if none exists)\n        $image_url = '';\n        if ( ! empty( $post-\u003e_embedded-\u003e{'wp:featuredmedia'}[0]-\u003esource_url ) ) {\n            $image_url = esc_url( $post-\u003e_embedded-\u003e{'wp:featuredmedia'}[0]-\u003esource_url );\n        }\n\n        // Build individual card\n        $output .= '\u003cdiv class=\"ws-blog-card\" style=\"flex:1 1 300px; max-width:360px; background:#ffffff; border:1px solid #e2e8f0; border-radius:6px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,0.08); display:flex; flex-direction:column;\"\u003e';\n        $output .= '\u003ca href=\"' . $link . '\" style=\"text-decoration:none; color:inherit; display:flex; flex-direction:column; height:100%;\"\u003e';\n\n        // Image Section\n        if ( ! empty( $image_url ) ) {\n            $output .= '\u003cdiv style=\"width:100%; height:200px; background:#f8fafc; overflow:hidden;\"\u003e';\n            $output .= '\u003cimg src=\"' . $image_url . '\" alt=\"' . $title . '\" style=\"width:100%; height:100%; object-fit:cover; display:block;\"\u003e';\n            $output .= '\u003c/div\u003e';\n        }\n\n        // Title Section\n        $output .= '\u003cdiv style=\"padding:15px; flex-grow:1; display:flex; align-items:center; justify-content:center; text-align:center;\"\u003e';\n        $output .= '\u003ch4 style=\"margin:0; font-size:15px; font-weight:600; color:#1e293b; line-height:1.4;\"\u003e' . $title . '\u003c/h4\u003e';\n        $output .= '\u003c/div\u003e';\n\n        $output .= '\u003c/a\u003e';\n        $output .= '\u003c/div\u003e';\n    }\n\n    $output .= '\u003c/div\u003e';\n\n    // 4. Cache the rendered HTML for 2 hours (7200 seconds)\n    set_transient('ws_latest_blog_html', $output, 2 * HOUR_IN_SECONDS);\n\n    return $output;\n}\nadd_shortcode('latest_external_blog', 'ws_display_external_blog_posts');\n\n\n\n\n\n\n\nfunction ws_display_latest_trade_shows_from_js() {\n    $shows = get_option('ws_trade_shows_manifest');\n    if ( empty( $shows ) ) {\n        $upload_dir = wp_upload_dir();\n        $file_path = $upload_dir['basedir'] . '/trade_shows_manifest.json';\n        if ( file_exists( $file_path ) ) {\n            $shows = json_decode( file_get_contents( $file_path ), true );\n        }\n    }\n    if ( is_string( $shows ) ) {\n        $shows = json_decode( $shows, true );\n    }\n\n    if ( empty( $shows ) || ! is_array( $shows ) ) {\n        return '\u003cp style=\"text-align:center; padding: 20px; color: #64748b;\"\u003eVisit our \u003ca href=\"https://wholesaleseeker.com/trade-shows/\" style=\"color: #0066cc; font-weight: 600;\"\u003eTrade Shows Directory\u003c/a\u003e to explore upcoming events.\u003c/p\u003e';\n    }\n\n    $today = current_time('Y-m-d');\n    $upcoming_shows = array();\n\n    foreach ( $shows as $show ) {\n        $end_date = ! empty( $show['endDate'] ) ? $show['endDate'] : ( ! empty( $show['startDate'] ) ? $show['startDate'] : '' );\n        if ( ! empty( $end_date ) \u0026\u0026 $end_date \u003e= $today ) {\n            $upcoming_shows[] = $show;\n        }\n    }\n\n    usort( $upcoming_shows, function( $a, $b ) {\n        return strcmp( $a['startDate'], $b['startDate'] );\n    });\n\n    $top_shows = array_slice( $upcoming_shows, 0, 3 );\n\n    if ( empty( $top_shows ) ) {\n        return '\u003cp style=\"text-align:center; padding: 20px; color: #64748b;\"\u003eNo upcoming trade shows scheduled. \u003ca href=\"https://wholesaleseeker.com/trade-shows/\" style=\"color: #0066cc; font-weight: 600;\"\u003eBrowse past show archives \u0026rarr;\u003c/a\u003e\u003c/p\u003e';\n    }\n\n    ob_start();\n    ?\u003e\n    \u003cstyle\u003e\n        .ws-hp-ts-section {\n            width: 100%;\n            margin: 25px 0 10px;\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n            box-sizing: border-box;\n        }\n        .ws-hp-ts-section * {\n            box-sizing: border-box;\n        }\n        .ws-hp-ts-header {\n            display: flex;\n            align-items: flex-end;\n            justify-content: space-between;\n            gap: 15px;\n            margin-bottom: 20px;\n            flex-wrap: wrap;\n        }\n        .ws-hp-ts-badge {\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            background: #eff6ff;\n            color: #0066cc;\n            border: 1px solid #bfdbfe;\n            font-size: 11px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n            padding: 4px 10px;\n            border-radius: 999px;\n            margin-bottom: 8px;\n        }\n        .ws-hp-ts-title {\n            font-size: 26px !important;\n            font-weight: 800 !important;\n            color: #0f172a !important;\n            margin: 0 0 6px 0 !important;\n            line-height: 1.25 !important;\n        }\n        .ws-hp-ts-sub {\n            font-size: 14.5px !important;\n            color: #64748b !important;\n            margin: 0 !important;\n            line-height: 1.5 !important;\n        }\n        .ws-hp-ts-viewall {\n            display: inline-flex;\n            align-items: center;\n            gap: 6px;\n            color: #0066cc !important;\n            font-size: 14px;\n            font-weight: 700;\n            text-decoration: none !important;\n            padding: 8px 14px;\n            border-radius: 8px;\n            background: #f1f5f9;\n            transition: all 0.2s ease;\n        }\n        .ws-hp-ts-viewall:hover {\n            background: #e2e8f0;\n            color: #0052a3 !important;\n        }\n        .ws-hp-ts-grid {\n            display: grid;\n            grid-template-columns: repeat(3, 1fr);\n            gap: 20px;\n            margin-bottom: 22px;\n        }\n        @media (max-width: 960px) {\n            .ws-hp-ts-grid {\n                grid-template-columns: repeat(2, 1fr);\n            }\n        }\n        @media (max-width: 640px) {\n            .ws-hp-ts-grid {\n                grid-template-columns: 1fr;\n            }\n        }\n        .ws-hp-ts-card {\n            background: #ffffff;\n            border: 1px solid #e2e8f0;\n            border-radius: 16px;\n            overflow: hidden;\n            display: flex;\n            flex-direction: column;\n            text-decoration: none !important;\n            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);\n            transition: all 0.2s ease;\n            position: relative;\n        }\n        .ws-hp-ts-card:hover {\n            transform: translateY(-3px);\n            box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09);\n            border-color: #cbd5e1;\n        }\n        .ws-hp-ts-card-top {\n            padding: 16px 18px 12px;\n            background: #f8fafc;\n            border-bottom: 1px solid #f1f5f9;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            gap: 10px;\n        }\n        .ws-hp-ts-datechip {\n            display: flex;\n            align-items: center;\n            gap: 6px;\n            font-size: 12px;\n            font-weight: 700;\n            color: #0066cc;\n        }\n        .ws-hp-ts-datechip svg {\n            flex: 0 0 14px;\n            width: 14px;\n            height: 14px;\n            stroke: #0066cc;\n        }\n        .ws-hp-ts-status {\n            font-size: 11px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.04em;\n            padding: 3px 8px;\n            border-radius: 999px;\n        }\n        .ws-hp-ts-status-now {\n            background: #dcfce7;\n            color: #15803d;\n        }\n        .ws-hp-ts-status-upcoming {\n            background: #f1f5f9;\n            color: #475569;\n        }\n        .ws-hp-ts-card-body {\n            padding: 18px;\n            display: flex;\n            flex-direction: column;\n            flex: 1 1 auto;\n        }\n        .ws-hp-ts-cat {\n            font-size: 11px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.04em;\n            color: #64748b;\n            margin-bottom: 6px;\n        }\n        .ws-hp-ts-card-title {\n            font-size: 16.5px !important;\n            font-weight: 800 !important;\n            color: #0f172a !important;\n            line-height: 1.35 !important;\n            margin: 0 0 10px 0 !important;\n            min-height: 44px;\n            display: -webkit-box;\n            -webkit-line-clamp: 2;\n            -webkit-box-orient: vertical;\n            overflow: hidden;\n        }\n        .ws-hp-ts-card:hover .ws-hp-ts-card-title {\n            color: #0066cc !important;\n        }\n        .ws-hp-ts-meta {\n            display: flex;\n            flex-direction: column;\n            gap: 6px;\n            font-size: 12.5px;\n            color: #475569;\n            margin-bottom: 16px;\n            flex-grow: 1;\n        }\n        .ws-hp-ts-meta-item {\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }\n        .ws-hp-ts-meta-item svg {\n            flex: 0 0 14px;\n            width: 14px;\n            height: 14px;\n            stroke: #94a3b8;\n        }\n        .ws-hp-ts-btn {\n            display: block;\n            width: 100%;\n            text-align: center;\n            background: #f8fafc;\n            border: 1px solid #e2e8f0;\n            color: #0f172a !important;\n            font-size: 13px;\n            font-weight: 700;\n            padding: 10px 14px;\n            border-radius: 8px;\n            transition: all 0.15s ease;\n        }\n        .ws-hp-ts-card:hover .ws-hp-ts-btn {\n            background: #0066cc;\n            border-color: #0066cc;\n            color: #ffffff !important;\n        }\n        .ws-hp-ts-footer {\n            background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n            border: 1px solid #e2e8f0;\n            border-radius: 12px;\n            padding: 14px 20px;\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            gap: 14px;\n            flex-wrap: wrap;\n        }\n        .ws-hp-ts-footer span {\n            font-size: 13.5px;\n            color: #475569;\n            font-weight: 500;\n        }\n        .ws-hp-ts-footer a {\n            font-size: 13.5px;\n            font-weight: 700;\n            color: #0066cc !important;\n            text-decoration: none !important;\n            display: inline-flex;\n            align-items: center;\n            gap: 5px;\n        }\n        .ws-hp-ts-footer a:hover {\n            text-decoration: underline !important;\n        }\n    \u003c/style\u003e\n\n    \u003cdiv class=\"ws-hp-ts-section\"\u003e\n        \u003cdiv class=\"ws-hp-ts-header\"\u003e\n            \u003cdiv\u003e\n                \u003cdiv class=\"ws-hp-ts-badge\"\u003e✦ Sourcing \u0026amp; Industry Expos\u003c/div\u003e\n                \u003ch2 class=\"ws-hp-ts-title\"\u003eUpcoming Wholesale Trade Shows\u003c/h2\u003e\n                \u003cp class=\"ws-hp-ts-sub\"\u003eConnect with verified suppliers and discover new products at upcoming wholesale trade events.\u003c/p\u003e\n            \u003c/div\u003e\n            \u003ca href=\"https://wholesaleseeker.com/trade-shows/\" class=\"ws-hp-ts-viewall\"\u003e\n                \u003cspan\u003eView All Shows\u003c/span\u003e \u0026rarr;\n            \u003c/a\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-hp-ts-grid\"\u003e\n            \u003c?php foreach ( $top_shows as $s ) :\n                $start = ! empty( $s['startDate'] ) ? $s['startDate'] : '';\n                $end = ! empty( $s['endDate'] ) ? $s['endDate'] : $start;\n                $is_now = ( $start \u003c= $today \u0026\u0026 $end \u003e= $today );\n                $slug = ! empty( $s['slug'] ) ? $s['slug'] : '';\n                $url = 'https://wholesaleseeker.com/trade-shows/' . $slug . '/';\n                $dates_str = ! empty( $s['humanDates'] ) ? $s['humanDates'] : $start;\n                $cat = ! empty( $s['primaryCategory'] ) ? $s['primaryCategory'] : 'General Merchandise';\n                $venue = ! empty( $s['venue'] ) ? $s['venue'] : '';\n                $city_state = trim( ( ! empty( $s['city'] ) ? $s['city'] : '' ) . ', ' . ( ! empty( $s['state'] ) ? $s['state'] : '' ), ', ' );\n            ?\u003e\n            \u003ca href=\"\u003c?php echo esc_url( $url ); ?\u003e\" class=\"ws-hp-ts-card\"\u003e\n                \u003cdiv class=\"ws-hp-ts-card-top\"\u003e\n                    \u003cdiv class=\"ws-hp-ts-datechip\"\u003e\n                        \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\u003e\u003c/rect\u003e\u003cline x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"\u003e\u003c/line\u003e\u003cline x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"\u003e\u003c/line\u003e\u003cline x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"\u003e\u003c/line\u003e\u003c/svg\u003e\n                        \u003cspan\u003e\u003c?php echo esc_html( $dates_str ); ?\u003e\u003c/span\u003e\n                    \u003c/div\u003e\n                    \u003c?php if ( $is_now ) : ?\u003e\n                        \u003cspan class=\"ws-hp-ts-status ws-hp-ts-status-now\"\u003e● Happening Now\u003c/span\u003e\n                    \u003c?php else : ?\u003e\n                        \u003cspan class=\"ws-hp-ts-status ws-hp-ts-status-upcoming\"\u003eUpcoming\u003c/span\u003e\n                    \u003c?php endif; ?\u003e\n                \u003c/div\u003e\n                \u003cdiv class=\"ws-hp-ts-card-body\"\u003e\n                    \u003cdiv class=\"ws-hp-ts-cat\"\u003e\u003c?php echo esc_html( $cat ); ?\u003e\u003c/div\u003e\n                    \u003ch3 class=\"ws-hp-ts-card-title\"\u003e\u003c?php echo esc_html( $s['title'] ); ?\u003e\u003c/h3\u003e\n                    \u003cdiv class=\"ws-hp-ts-meta\"\u003e\n                        \u003c?php if ( $venue ) : ?\u003e\n                        \u003cdiv class=\"ws-hp-ts-meta-item\"\u003e\n                            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"\u003e\u003c/path\u003e\u003ccircle cx=\"12\" cy=\"10\" r=\"3\"\u003e\u003c/circle\u003e\u003c/svg\u003e\n                            \u003cspan\u003e\u003c?php echo esc_html( $venue ); ?\u003e\u003c/span\u003e\n                        \u003c/div\u003e\n                        \u003c?php endif; ?\u003e\n                        \u003c?php if ( $city_state ) : ?\u003e\n                        \u003cdiv class=\"ws-hp-ts-meta-item\"\u003e\n                            \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"10\"\u003e\u003c/circle\u003e\u003cline x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\u003e\u003c/line\u003e\u003cpath d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\u003e\u003c/path\u003e\u003c/svg\u003e\n                            \u003cspan\u003e\u003c?php echo esc_html( $city_state ); ?\u003e\u003c/span\u003e\n                        \u003c/div\u003e\n                        \u003c?php endif; ?\u003e\n                    \u003c/div\u003e\n                    \u003cdiv class=\"ws-hp-ts-btn\"\u003eView Event Details \u0026rarr;\u003c/div\u003e\n                \u003c/div\u003e\n            \u003c/a\u003e\n            \u003c?php endforeach; ?\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-hp-ts-footer\"\u003e\n            \u003cspan\u003eLooking for more sourcing events across the USA \u0026amp; North America?\u003c/span\u003e\n            \u003ca href=\"https://wholesaleseeker.com/trade-shows/\"\u003eExplore All 50+ Wholesale Trade Shows \u0026amp; Expos \u0026rarr;\u003c/a\u003e\n        \u003c/div\u003e\n    \u003c/div\u003e\n    \u003c?php\n    return ob_get_clean();\n}\nadd_shortcode('latest_trade_shows', 'ws_display_latest_trade_shows_from_js');","link":""}<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//wholesaleseeker.com/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<sitemap>
		<loc>https://wholesaleseeker.com/page-sitemap.xml</loc>
		<lastmod>2026-09-19T09:32:44+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://wholesaleseeker.com/listing-sitemap.xml</loc>
		<lastmod>2026-09-19T13:54:45+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://wholesaleseeker.com/listing-sitemap2.xml</loc>
		<lastmod>2026-09-15T19:43:38+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://wholesaleseeker.com/listing-sitemap3.xml</loc>
		<lastmod>2026-09-19T13:54:45+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://wholesaleseeker.com/lp-reviews-sitemap.xml</loc>
		<lastmod>2026-09-18T16:13:11+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://wholesaleseeker.com/listing-category-sitemap.xml</loc>
		<lastmod>2026-09-19T13:54:45+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://wholesaleseeker.com/location-sitemap.xml</loc>
		<lastmod>2026-09-19T13:54:45+00:00</lastmod>
	</sitemap>
</sitemapindex>
<!-- XML Sitemap generated by Yoast SEO -->