PluginProbe
WP Directory Kit / 1.2.8
WP Directory Kit v1.2.8
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 / elementor-elements / views / wdk-search.php

wdk-search.php in WP Directory Kit 1.2.8, at elementor-elements/views/wdk-search.php

230 lines 11.7 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 Element Listings Search Form.
4 * This is the template that elementor element, fields, search form
5 *
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit; // Exit if accessed directly.
10 }
11
12 ?>
13
14 <?php
15 global $wdk_button_search_defined;
16 $wdk_button_search_defined=false;
17
18 global $wdk_enable_search_fields_toggle;
19 $wdk_enable_search_fields_toggle = true;
20
21 global $wdk_text_search_button;
22 $wdk_text_search_button = esc_html(wmvc_show_data('text_search_button', $settings));
23
24 global $wdk_text_more_button;
25 $wdk_text_more_button = esc_html(wmvc_show_data('text_more_button', $settings));
26
27 $current_url = '';
28
29 $results_page = wmvc_show_data('conf_link', $settings);
30 if(!is_array($results_page) && !empty($results_page)) {
31 $results_page = get_permalink($results_page);
32 } else {
33 $results_page = get_permalink(wdk_get_option('wdk_results_page'));
34
35 if (!wdk_get_option('wdk_is_results_page_require')) {
36 $obj_id = get_queried_object_id();
37 $current_url = get_permalink( $obj_id );
38 }
39 }
40
41 $form_opened = '';
42 if(isset($_GET['wdk_search_additional_opened']) && wmvc_xss_clean($_GET['wdk_search_additional_opened']) == 1) {
43 $form_opened = 'open-form';
44 }
45
46 ?>
47
48 <div class="wdk-element" id="wdk_el_<?php echo esc_html($id_element);?>">
49 <div class="wdk-search layout_<?php echo esc_attr(wmvc_show_data('design_layout', $settings));?>">
50 <form data-current-link="<?php echo esc_url($current_url);?>" data-scrollto="<?php echo esc_attr(wmvc_show_data('search_scroll', $settings));?>" class="wdk-search-form wdk-skip-empty
51 <?php if(wmvc_show_data('auto_search_enable', $settings) == 'yes'):?> auto_search <?php endif;?>
52 <?php echo esc_html($form_opened);?> <?php if(!wdk_get_option('wdk_results_page')):?> wdk-result-page-notdefined <?php endif;?>" action="<?php echo esc_url($results_page);?>">
53
54 <?php
55 $field_id = $tab_field ;
56 $field_values = wdk_field_option ($field_id, 'values_list');
57 $values = array();
58 if(!empty($field_values)){
59 $values = explode(',', $field_values);
60 }
61 $field_value = false;
62 if(isset($_GET['field_'.$field_id])) {
63 $field_value = sanitize_text_field($_GET['field_'.$field_id]);
64 }
65
66 ?>
67 <?php if(!empty( $values )):?>
68 <div class="wdk-search-tabs">
69 <input type="radio" name="field_<?php echo esc_attr($field_id);?>" id="wdk_tab_field_any" value="" <?php if(empty($field_value)):?>checked="checked"<?php endif;?>>
70 <label for="wdk_tab_field_any">
71 <?php echo esc_html__('Any', 'wpdirectorykit');?>
72 </label>
73 <?php foreach ($values as $key => $value):?>
74 <?php if(empty($value)) continue;?>
75 <input type="radio" name="field_<?php echo esc_attr($field_id);?>" id="<?php echo esc_html($id_element);?>_wdk_tab_field_<?php echo esc_attr($key);?>" value="<?php echo esc_attr($value);?>" <?php if($field_value == $value):?>checked="checked"<?php endif;?>>
76 <label for="<?php echo esc_html($id_element);?>_wdk_tab_field_<?php echo esc_attr($key);?>"><?php echo esc_html($value);?>
77 <?php if(wmvc_show_data('tabs_count', $settings) == 'yes'):?>
78 <span class="tab_count"><?php echo esc_html(wmvc_show_data($value, $this->data['counts'][$field_id], 0));?></span>
79 <?php endif;?>
80 </label>
81 <?php endforeach;?>
82 </div>
83 <script>
84 jQuery(document).ready(function(){
85 jQuery('.wdk_search_field_<?php echo esc_attr($field_id);?>').remove();
86 });
87 </script>
88 <?php endif;?>
89
90 <?php if(wmvc_user_in_role('administrator') || current_user_can('wdk_listings_manage')):?>
91 <div class="section-widget-control">
92 <a class="wdk-c-btn wdk-c-edit" href="<?php echo esc_url(admin_url('admin.php?page=wdk_searchform'));?>" title="<?php echo esc_attr_e('Edit search form', 'selio'); ?>" target="_blank"><span class="dashicons dashicons-edit"></span></a>
93 </div>
94 <?php endif;?>
95 <div class="wdk-row">
96 <?php if(wmvc_show_data('enable_custom_fields', $settings) == 'yes'):?>
97 <?php wdk_generate_search_form_fields_elementor(wmvc_show_data('custom_fields', $settings), '', TRUE, $predefields_query); ?>
98 <?php else:?>
99 <?php wdk_generate_search_form(1, '', TRUE, $predefields_query); ?>
100 <?php endif;?>
101
102 <?php if(!$wdk_button_search_defined): ?>
103 <div class="wdk-col wdk-col-btns">
104 <div class="wdk-field wdk-field-btn wdk-field-reset">
105 <div class="wdk-field-group wdk-field-group-reset">
106 <button id="wdk-start-primary" type="submit" class="wdk-search-start wdk-search-reset wdk-click-load-animation">&nbsp;&nbsp;<?php echo esc_html(wmvc_show_data('text_search_button', $settings)); ?>&nbsp;<i class="fa fa-spinner fa-spin fa-ajax-indicator" style="display: none;"></i>&nbsp;</button>
107 </div>
108 </div>
109 <div class="wdk-field wdk-field-btn">
110 <div class="wdk-field-group">
111 <button id="wdk-start-primary" type="submit" class="wdk-search-start wdk-click-load-animation">
112 <?php if(wmvc_show_data('field_button_icon_position', $settings) == 'left') :?>
113 <?php \Elementor\Icons_Manager::render_icon( $settings['field_button_icon'], [ 'aria-hidden' => 'true', "class"=>'icon_search' ] ); ?>
114 <?php endif;?>
115 &nbsp;&nbsp;<?php echo esc_html(wmvc_show_data('text_search_button', $settings)); ?>
116 <?php if(wmvc_show_data('field_button_icon_position', $settings) == 'right') :?>
117 <?php \Elementor\Icons_Manager::render_icon( $settings['field_button_icon'], [ 'aria-hidden' => 'true', "class"=>'icon_search' ] ); ?>
118 <?php endif;?>
119 &nbsp;<i class="fa fa-spinner fa-spin fa-ajax-indicator" style="display: none;"></i>&nbsp;
120 </button>
121 <?php if(function_exists('run_wdk_save_search') && wdk_get_option('wdk_save_search_show_on_searchform')):?>
122 <div class="section-widget-control right">
123 <a class="wdk-c-btn wdk-c-edit wdk-save-search-button" href="#" data-url="<?php echo esc_url(admin_url('admin-ajax.php')); ?>" title="<?php echo esc_attr_e('Save Search', 'selio'); ?>" target="_blank">
124 <i class="fas fa-save" aria-hidden="true"></i>
125 <i class="fa fa-spinner fa-spin fa-ajax-indicator"></i>
126 </a>
127 </div>
128 <?php endif;?>
129 </div>
130 </div>
131 </div>
132 <?php else: ?>
133 </div>
134 </div>
135 <?php endif; ?>
136 </div>
137 </form>
138 </div>
139 <script>
140 jQuery(document).ready(function($) {
141 $('#wdk_el_<?php echo esc_html($id_element);?> #wdk-search-additional').on('click', function (e) {
142 e.preventDefault();
143 if ($('#wdk_el_<?php echo esc_html($id_element);?> #wdk-form-additional').length) {
144 var addition = $('#wdk_el_<?php echo esc_html($id_element);?> #wdk-form-additional');
145 var form = $(this).closest('.wdk-search-form ');
146 form.toggleClass('open-form');
147 if (form.hasClass('open-form')) {
148 form.find("[name='wdk_search_additional_opened']").prop('checked', 'checked');
149 addition.slideDown();
150 } else {
151 addition.slideUp();
152 form.find("[name='wdk_search_additional_opened']").prop('checked', false);
153 }
154 }
155 })
156
157 $("form.wdk-result-page-notdefined").on('submit', function() {
158 wdk_log_notify('<?php echo esc_js(__('Results page not found, please configure results page', 'wpdirectorykit')); ?>', 'error');
159 return false;
160 });
161
162 const search_highlight = (elem) =>
163 {
164 if(elem.is('select'))
165 {
166 if(elem.val() == '' || elem.val() == 0 || elem.val() == null)
167 {
168 // remove selector class
169 elem.closest('.select-item').removeClass('sel_class');
170 elem.parent().removeClass('sel_class');
171 elem.removeClass('sel_class');
172 }
173 else
174 {
175 // add selector class
176 elem.closest('.select-item').addClass('sel_class');
177 elem.parent().addClass('sel_class');
178 elem.addClass('sel_class');
179 }
180 }
181 else if(elem.attr('type') == 'text')
182 {
183 if(elem.parent().find('.wdk_dropdown_tree').length > 0) // For treefield
184 {
185 if(elem.val() != '' && elem.val() != 0 && elem.val() != null)
186 {
187 // add selector class
188 elem.closest('.wdk_dropdown_tree_style').find('.wdk_dropdown_tree').addClass('sel_class');
189 elem.parent().find('.btn-group:first-child').addClass('sel_class');
190 }
191 else
192 {
193 // remove selector class
194 elem.closest('.wdk_dropdown_tree_style').find('.wdk_dropdown_tree').removeClass('sel_class');
195 elem.parent().find('.btn-group:first-child').removeClass('sel_class');
196 }
197 }
198 else // For basic input
199 {
200 if(elem.val() != '' && elem.val() != 0 && elem.val() != null)
201 {
202 // add selector class
203 elem.addClass('sel_class');
204 }
205 else
206 {
207 // remove selector class
208 elem.removeClass('sel_class');
209 }
210 }
211 }
212 }
213
214 // On change value, change field style
215 $('#wdk_el_<?php echo esc_html($id_element);?>').find('input, select').each(function(i)
216 {
217 $(this).on('change', function(){search_highlight($(this))});
218 search_highlight($(this));
219 })
220 <?php if($is_edit_mode):?>
221 wdk_select_init();
222
223 if(typeof $.fn.fieldSliderRange == 'function' && typeof $.fn.ionRangeSlider == 'function') {
224 $('.wdk-slider-range-field').fieldSliderRange();
225 }
226 <?php endif;?>
227 });
228 </script>
229 </div>
230