<?php $search_keys = erp_crm_get_serach_key(); ?> <div class="wrap erp-crm-customer" id="wp-erp"> <h2><?php _e('Contact', 'wp-erp'); ?> <a href="#" id="erp-customer-new" class="erp-contact-new add-new-h2" data-type="contact" title="<?php _e('Add New Contact', 'wp-erp'); ?> "><?php _e('Add New Contact', 'wp-erp'); ?> </a> </h2> <div class="erp-advance-search-filter" id="erp-crm-save-search" v-cloak v-bind:class="classObject"> <div v-if="showAdvanceFilter" transition="filter-search-expand"> <form action="" method="post" id="erp-crm-save-search-form"> <input type="hidden" name="page" value="erp-sales-customers"> <div class="erp-save-search-wrapper" id="erp-save-search-wrapper"> <div class="erp-save-search-item" v-for="( index, searchFields ) in searchItem"> <save-search :search-fields="searchFields" :index="index" :total-search-item="totalSearchItem"></save-search> </div> </div> <div class="erp-save-serach-action">
public function admin_scripts($hook) { $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_media(); wp_enqueue_style('erp-tiptip'); wp_enqueue_script('erp-tiptip'); wp_enqueue_script('wp-erp-crm', WPERP_CRM_ASSETS . "/js/crm{$suffix}.js", array('wp-erp-script', 'erp-admin-timepicker'), date('Ymd'), true); $localize_script = apply_filters('erp_crm_localize_script', array('nonce' => wp_create_nonce('wp-erp-crm-nonce'), 'popup' => array('customer_title' => __('Add New Customer', 'wp-erp'), 'customer_update_title' => __('Edit Customer', 'wp-erp'), 'customer_social_title' => __('Customer Social Profile', 'wp-erp'), 'customer_assing_group' => __('Add to Contact groups', 'wp-erp')), 'add_submit' => __('Add New', 'wp-erp'), 'update_submit' => __('Update', 'wp-erp'), 'save_submit' => __('Save', 'wp-erp'), 'customer_upload_photo' => __('Upload Photo', 'wp-erp'), 'customer_set_photo' => __('Set Photo', 'wp-erp'), 'confirm' => __('Are you sure?', 'wp-erp'), 'delConfirmCustomer' => __('Are you sure to delete this customer?', 'wp-erp'), 'delConfirm' => __('Are you sure to delete this?', 'wp-erp'), 'checkedConfirm' => __('Alteast one item must be checked', 'wp-erp'), 'contact_filter' => erp_crm_get_serach_key())); // if it's an customer page if ('crm_page_erp-sales-customers' == $hook || 'crm_page_erp-sales-companies' == $hook) { wp_enqueue_style('erp-admin-timepicker'); wp_enqueue_script('erp-admin-timepicker'); wp_enqueue_script('erp-vuejs'); wp_enqueue_script('erp-trix-editor'); wp_enqueue_style('erp-trix-editor'); wp_enqueue_script('underscore'); wp_enqueue_style('wp-erp-nprogress', WPERP_CRM_ASSETS . '/css/nprogress.css'); wp_enqueue_script('wp-erp-nprogress', WPERP_CRM_ASSETS . "/js/nprogress{$suffix}.js", array('jquery'), date('Ymd'), true); wp_enqueue_script('wp-erp-crm-vue-customer', WPERP_CRM_ASSETS . "/js/crm-app{$suffix}.js", array('wp-erp-nprogress', 'wp-erp-script', 'erp-vuejs', 'underscore', 'erp-select2', 'erp-tiptip'), date('Ymd'), true); wp_enqueue_script('wp-erp-crm-vue-save-search', WPERP_CRM_ASSETS . "/js/save-search{$suffix}.js", array('wp-erp-script', 'erp-vuejs', 'underscore', 'erp-select2', 'erp-tiptip'), date('Ymd'), true); wp_enqueue_script('post'); $customer = new Contact(); $country = \WeDevs\ERP\Countries::instance(); wp_localize_script('wp-erp-crm-vue-customer', 'wpCRMvue', ['ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('wp-erp-crm-customer-feed'), 'current_user_id' => get_current_user_id(), 'confirm' => __('Are you sure?', 'wp-erp'), 'date_format' => get_option('date_format')]); wp_localize_script('wp-erp-crm-vue-save-search', 'wpCRMSaveSearch', ['ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('wp-erp-crm-save-search'), 'searchFields' => erp_crm_get_serach_key()]); $localize_script['customer_empty'] = $customer->to_array(); $localize_script['wpErpCountries'] = $country->load_country_states(); } wp_localize_script('wp-erp-crm', 'wpErpCrm', $localize_script); }
function erp_crm_save_search_query_filter($people) { global $wpdb; // var_dump( $people ); $query_string = $_SERVER['QUERY_STRING']; $or_query = explode('&or&', $query_string); $allowed = erp_crm_get_serach_key(); $query_data = []; $i = 0; if ($or_query) { foreach ($or_query as $or_q) { parse_str($or_q, $output); $serach_array = array_intersect_key($output, array_flip(array_keys($allowed))); $query_data[] = $serach_array; } } foreach ($query_data as $query_param) { if ($i == 0) { $people = $people->where(function ($query) use($query_param) { foreach ($query_param as $key => $value) { if (is_array($value)) { $filter_value = erp_crm_get_save_search_regx($value); $j = 0; if ($key == 'country_state') { $query->where(function ($query1) use($filter_value, $j, $key) { foreach ($filter_value as $q_val => $q_key) { if ($j == 0) { $key_value = explode(':', $q_val); // seperate BAN:DHA to an array [ 0=>BAN, 1=>DHA] $keys = explode('_', $key); // seperate country_state to an array [ 0=>country, 1=>state] if (count($key_value) > 1) { $query1->where(function ($query2) use($key_value, $keys, $q_key) { // Foreach those [ 0=>BAN, 1=>DHA ] value as nes_key = 0,1 and $nes_val = BAN,DHA foreach ($key_value as $nes_key => $nes_val) { $query2->where($keys[$nes_key], $q_key, $nes_val); } }); # code... } else { $query1->where($keys[key($key_value)], $q_key, $key_value[0]); } } else { $key_value = explode(':', $q_val); // seperate BAN:DHA to an array [ 0=>BAN, 1=>DHA] $keys = explode('_', $key); // seperate country_state to an array [ 0=>country, 1=>state] if (count($key_value) > 1) { $query1->orWhere(function ($query2) use($key_value, $keys, $q_key) { // Foreach those [ 0=>BAN, 1=>DHA ] value as nes_key = 0,1 and $nes_val = BAN,DHA foreach ($key_value as $nes_key => $nes_val) { $query2->where($keys[$nes_key], $q_key, $nes_val); } }); # code... } else { $query1->orWhere($keys[key($key_value)], $q_key, $key_value[0]); } } $j++; } }); } else { $query->where(function ($query1) use($filter_value, $j, $key) { foreach ($filter_value as $q_val => $q_key) { if ($j == 0) { $query1->where($key, $q_key, $q_val); } else { $query1->orWhere($key, $q_key, $q_val); } $j++; } }); } } else { $filter_value = erp_crm_get_save_search_regx($value); $query->where($key, $filter_value[key($filter_value)], key($filter_value)); } } return $query; }); } else { $people = $people->orWhere(function ($query) use($query_param) { $filter_value = []; foreach ($query_param as $key => $value) { if (is_array($value)) { $filter_value = erp_crm_get_save_search_regx($value); $j = 0; if ($key == 'country_state') { $query->where(function ($query1) use($filter_value, $j, $key) { foreach ($filter_value as $q_val => $q_key) { if ($j == 0) { $key_value = explode(':', $q_val); // seperate BAN:DHA to an array [ 0=>BAN, 1=>DHA] $keys = explode('_', $key); // seperate country_state to an array [ 0=>country, 1=>state] if (count($key_value) > 1) { $query1->where(function ($query2) use($key_value, $keys, $q_key) { // Foreach those [ 0=>BAN, 1=>DHA ] value as nes_key = 0,1 and $nes_val = BAN,DHA foreach ($key_value as $nes_key => $nes_val) { $query2->where($keys[$nes_key], $q_key, $nes_val); } }); # code... } else { $query1->where($keys[key($key_value)], $q_key, $key_value[0]); } } else { $key_value = explode(':', $q_val); // seperate BAN:DHA to an array [ 0=>BAN, 1=>DHA] $keys = explode('_', $key); // seperate country_state to an array [ 0=>country, 1=>state] if (count($key_value) > 1) { $query1->orWhere(function ($query2) use($key_value, $keys, $q_key) { // Foreach those [ 0=>BAN, 1=>DHA ] value as nes_key = 0,1 and $nes_val = BAN,DHA foreach ($key_value as $nes_key => $nes_val) { $query2->where($keys[$nes_key], $q_key, $nes_val); } }); # code... } else { $query1->orWhere($keys[key($key_value)], $q_key, $key_value[0]); } } $j++; } }); } else { $query->where(function ($query1) use($filter_value, $j, $key) { foreach ($filter_value as $q_val => $q_key) { if ($j == 0) { $query1->where($key, $q_key, $q_val); } else { $query1->orWhere($key, $q_key, $q_val); } $j++; } }); } } else { $filter_value = erp_crm_get_save_search_regx($value); $query->where($key, $filter_value[key($filter_value)], key($filter_value)); } } return $query; }); } $i++; } return $people; }