PluginProbe
WP Directory Kit / 1.4.8
WP Directory Kit v1.4.8
1.5.6 1.5.5 1.5.4 1.5.3 trunk 1.1.0 1.1.6 1.1.8 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.8 1.4.0 1.4.1 All 35 releases
wpdirectorykit / application / views / search_fields / LOCATION.php

LOCATION.php in WP Directory Kit 1.4.8, at application/views/search_fields/LOCATION.php

183 lines 7.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * The template for Search field LOCATION.
4 *
5 * This is the template that field layout for search form
6 *
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit; // Exit if accessed directly.
11 }
12 ?>
13 <?php
14
15 $field_key = 'search_location';
16 $field_attr_id = 'wdk_search_'.wmvc_show_data('idfield', $field_data);
17 $placeholder = wmvc_show_data('field_label', $field_data);
18 $field_value = '';
19 $filter_ids = array();
20 if(isset($predefinedfields_query) && !empty($predefinedfields_query[$field_key])) {
21 $field_value = intval($predefinedfields_query[$field_key]);
22 }
23
24 if(isset($_GET['location_root'])) {
25 $predefinedfields_query['custom_location_root'] = sanitize_text_field($_GET['location_root']);
26 }
27
28 if(isset($predefinedfields_query) && !empty($predefinedfields_query['custom_location_root'])) {
29 $custom_field_value = intval($predefinedfields_query['custom_location_root']);
30 global $Winter_MVC_WDK;
31 $Winter_MVC_WDK->load_helper('listing');
32 $Winter_MVC_WDK->model('location_m');
33 $location = $Winter_MVC_WDK->location_m->get($custom_field_value, TRUE);
34
35 /* if root search childs */
36 if($location) {
37 $filter_ids = wdk_location_get_all_childs($custom_field_value);
38 if(!empty($filter_ids)) {
39 if(in_array($field_value, $filter_ids) === FALSE) {
40 $field_value = $custom_field_value;
41 }
42 } else {
43 $filter_ids[] = $custom_field_value;
44 }
45 } else {
46 /* location missing */
47 $custom_field_value = null;
48 }
49 }
50
51 if(isset($_GET[$field_key])) {
52 $field_value = ($_GET[$field_key]);
53 } else {
54 if(function_exists('run_wdk_geo') && (get_option('wdk_geo_autodetect_by_ip_enable') && !get_option('wdk_geo_autodetect_by_google_js_enable'))) {
55 $field_value = wdk_geo_get_location_id();
56 }
57 }
58
59 wdk_search_fields_toggle();
60
61 $hide_fields = '';
62 if(wmvc_show_data('search_type_tree_hide', $field_data)) {
63 $hide_fields = wmvc_show_data('search_type_tree_hide', $field_data);
64 }
65
66 ?>
67
68 <?php if(isset($custom_field_value)):?>
69 <input type="hidden" name="search_location[]" value="<?php echo esc_attr($custom_field_value);?>">
70 <?php endif;?>
71
72 <?php if(wdk_get_option('wdk_multi_locations_search_field_type') == 'wdk_treefield_dropdown'):?>
73 <?php
74 global $Winter_MVC_WDK;
75 $Winter_MVC_WDK->load_helper('listing');
76 $Winter_MVC_WDK->model('location_m');
77
78 $locations = array();
79 if(!empty($field_value)) {
80 $locations[] = $field_value;
81 $location = $Winter_MVC_WDK->location_m->get($field_value, TRUE);
82
83 while(!empty($location->parent_id)) {
84 $location = $Winter_MVC_WDK->location_m->get($location->parent_id, TRUE);
85 $locations[] = $location->idlocation;
86 }
87 krsort($locations);
88 } else {
89 $locations[] = 0;
90 }
91
92 wp_enqueue_style('wdk-treefield-dropdown');
93 wp_enqueue_script('wdk-treefield-dropdown');
94 wp_enqueue_style( 'dashicons' );
95
96 $level_max = $Winter_MVC_WDK->location_m->get_max_level();
97
98 $placeholder = [
99 0 => esc_html__('Select Country','wpdirectorykit'),
100 1 => esc_html__('Select City','wpdirectorykit'),
101 2 => esc_html__('Select Neighborhood','wpdirectorykit'),
102 3 => esc_html__('Select Sub Area','wpdirectorykit'),
103 4 => esc_html__('Select Sub Area','wpdirectorykit'),
104 5 => esc_html__('Select Sub Area','wpdirectorykit'),
105 ];
106
107
108 ?>
109
110 <input name="<?php echo esc_attr($field_key); ?>" type="hidden" value="<?php echo esc_attr($field_value); ?>" class="wdk_field_id_location">
111 <?php
112 $level = 0;
113 foreach ($locations as $location) {
114 $current = $Winter_MVC_WDK->location_m->get($location, TRUE);
115
116 $list = $Winter_MVC_WDK->location_m->get_by(array('parent_id = '.$current->parent_id => NULL));
117
118
119 if(isset($placeholder[$level])) {
120 $values_list = array(''=> $placeholder[$level]);
121 } else {
122 $values_list = array(''=> esc_html__('Select Sub Categories','wpdirectorykit'));
123 }
124
125 foreach ($list as $list_value) {
126 $values_list[$list_value->idlocation] = $list_value->location_title;
127 }
128 ?>
129
130 <div data-level="<?php echo esc_attr($level);?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk-field wdk-col wdk_treefield_dropdown <?php echo esc_attr(wmvc_show_data('field_type', $field_data)); ?> <?php echo esc_attr(wmvc_show_data('class', $field_data)); ?>">
131 <label class="wdk-field-label"><?php echo esc_html(wmvc_show_data('field_label', $field_data)); ?></label>
132 <div class="wdk-field-group">
133 <?php echo wmvc_select_option('location_'.$level, $values_list, $location, 'class="wdk-control"');?>
134 </div>
135 </div>
136
137 <?php
138 $level++;
139 }
140
141 if($level<$level_max ) {
142 for (; $level<$level_max;) {
143
144 if(isset($placeholder[$level])) {
145 $values_list = array(''=> $placeholder[$level]);
146 } else {
147 $values_list = array(''=> esc_html__('Select Sub Categories','wpdirectorykit'));
148 }
149
150 ?>
151
152 <div data-level="<?php echo esc_attr($level);?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk-field wdk-col wdk_treefield_dropdown <?php echo esc_attr(wmvc_show_data('field_type', $field_data)); ?> <?php echo esc_attr(wmvc_show_data('class', $field_data)); ?>">
153 <label class="wdk-field-label"><?php echo esc_html(wmvc_show_data('field_label', $field_data)); ?></label>
154 <div class="wdk-field-group">
155 <?php echo wmvc_select_option('location_'.$level, $values_list, NULL, 'class="wdk-control"');?>
156 </div>
157 </div>
158
159 <?php
160 $level++;
161 }
162 }
163 ?>
164 <?php else:?>
165
166 <div class="wdk-field wdk-col <?php echo esc_attr(wmvc_show_data('field_type', $field_data)); ?> <?php echo esc_attr(wmvc_show_data('class', $field_data)); ?>">
167 <label class="wdk-field-label"><?php echo esc_html(wmvc_show_data('field_label', $field_data)); ?></label>
168 <div class="wdk-field-group">
169 <?php if(wdk_get_option('wdk_multi_locations_search_field_type') == 'select2'):?>
170 <?php echo wdk_treefield_select_ajax ($field_key.'[]', 'location_m', $field_value, 'location_title','idlocation', '', __('All Locations', 'wpdirectorykit'), $filter_ids);?>
171 <?php elseif(wdk_get_option('wdk_multi_locations_search_field_type') == 'wdk_treefield_checkboxes'):?>
172 <?php
173 wp_enqueue_style( 'wdk-treefield-checkboxes');
174 wp_enqueue_script( 'wdk-treefield-checkboxes');
175 ?>
176 <?php echo wdk_treefield_option_checkboxes ('search_location', 'location_m', $field_value, 'location_title', '', __('All Locations', 'wpdirectorykit'), $filter_ids);?>
177 <?php else:?>
178 <?php echo wdk_treefield_option ('search_location', 'location_m', $field_value, 'location_title', '', __('All Locations', 'wpdirectorykit'), $filter_ids, FALSE, '', $hide_fields);?>
179 <?php endif;?>
180 </div>
181 </div>
182
183 <?php endif;?>