Esempio n. 1
0
<?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">
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
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;
}