PluginProbe
WP Directory Kit / 1.5.9
WP Directory Kit v1.5.9
1.5.9 1.5.7 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 All 37 releases
wpdirectorykit / application / views / search_fields / LOCATION.php

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

193 lines 8.3 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(wp_unslash($_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
134 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
135 echo wmvc_select_option('location_'.$level, $values_list, $location, 'class="wdk-control"');?>
136 </div>
137 </div>
138
139 <?php
140 $level++;
141 }
142
143 if($level<$level_max ) {
144 for (; $level<$level_max;) {
145
146 if(isset($placeholder[$level])) {
147 $values_list = array(''=> $placeholder[$level]);
148 } else {
149 $values_list = array(''=> esc_html__('Select Sub Categories','wpdirectorykit'));
150 }
151
152 ?>
153
154 <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)); ?>">
155 <label class="wdk-field-label"><?php echo esc_html(wmvc_show_data('field_label', $field_data)); ?></label>
156 <div class="wdk-field-group">
157 <?php
158 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
159 echo wmvc_select_option('location_'.$level, $values_list, NULL, 'class="wdk-control"');?>
160 </div>
161 </div>
162
163 <?php
164 $level++;
165 }
166 }
167 ?>
168 <?php else:?>
169
170 <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)); ?>">
171 <label class="wdk-field-label"><?php echo esc_html(wmvc_show_data('field_label', $field_data)); ?></label>
172 <div class="wdk-field-group">
173 <?php if(wdk_get_option('wdk_multi_locations_search_field_type') == 'select2'):?>
174 <?php
175 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
176 echo wdk_treefield_select_ajax ($field_key.'[]', 'location_m', $field_value, 'location_title','idlocation', '', __('All Locations', 'wpdirectorykit'), $filter_ids);?>
177 <?php elseif(wdk_get_option('wdk_multi_locations_search_field_type') == 'wdk_treefield_checkboxes'):?>
178 <?php
179 wp_enqueue_style( 'wdk-treefield-checkboxes');
180 wp_enqueue_script( 'wdk-treefield-checkboxes');
181 ?>
182 <?php
183 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
184 echo wdk_treefield_option_checkboxes ('search_location', 'location_m', $field_value, 'location_title', '', __('All Locations', 'wpdirectorykit'), $filter_ids);?>
185 <?php else:?>
186 <?php
187 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
188 echo wdk_treefield_option ('search_location', 'location_m', $field_value, 'location_title', '', __('All Locations', 'wpdirectorykit'), $filter_ids, FALSE, '', $hide_fields);?>
189 <?php endif;?>
190 </div>
191 </div>
192
193 <?php endif;?>