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

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

203 lines 9.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 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 <?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);?>">
51
52 <?php
53 $field_id = $tab_field ;
54 $field_values = wdk_field_option ($field_id, 'values_list');
55 $values = array();
56 if(!empty($field_values)){
57 $values = explode(',', $field_values);
58 }
59 $field_value = false;
60 if(isset($_GET['field_'.$field_id])) {
61 $field_value = sanitize_text_field($_GET['field_'.$field_id]);
62 }
63
64 ?>
65 <?php if(!empty( $values )):?>
66 <div class="wdk-search-tabs">
67 <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;?>>
68 <label for="wdk_tab_field_any"><?php echo esc_html__('Any', 'wpdirectorykit');?></label>
69 <?php foreach ($values as $key => $value):?>
70 <?php if(empty($value)) continue;?>
71 <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;?>>
72 <label for="<?php echo esc_html($id_element);?>_wdk_tab_field_<?php echo esc_attr($key);?>"><?php echo esc_html($value);?></label>
73 <?php endforeach;?>
74 </div>
75 <script>
76 jQuery(document).ready(function(){
77 jQuery('.wdk_search_field_<?php echo esc_attr($field_id);?>').remove();
78 });
79 </script>
80 <?php endif;?>
81
82 <?php if(wmvc_user_in_role('administrator')):?>
83 <div class="section-widget-control">
84 <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>
85 </div>
86 <?php endif;?>
87 <div class="wdk-row">
88 <?php wdk_generate_search_form(1, '', TRUE, $predefields_query); ?>
89 <?php if(!$wdk_button_search_defined): ?>
90 <div class="wdk-col wdk-col-btns">
91 <div class="wdk-field wdk-field-btn">
92 <div class="wdk-field-group">
93 <button id="wdk-start-primary" type="submit" class="wdk-search-start 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>
94 <?php if(function_exists('run_wdk_save_search') && wdk_get_option('wdk_save_search_show_on_searchform')):?>
95 <div class="section-widget-control right">
96 <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">
97 <i class="fas fa-save" aria-hidden="true"></i>
98 <i class="fa fa-spinner fa-spin fa-ajax-indicator"></i>
99 </a>
100 </div>
101 <?php endif;?>
102 </div>
103 </div>
104 </div>
105 <?php else: ?>
106 </div>
107 </div>
108 <?php endif; ?>
109 </div>
110 </form>
111 </div>
112 <script>
113 jQuery(document).ready(function($) {
114 $('#wdk_el_<?php echo esc_html($id_element);?> #wdk-search-additional').on('click', function (e) {
115 e.preventDefault();
116 if ($('#wdk_el_<?php echo esc_html($id_element);?> #wdk-form-additional').length) {
117 var addition = $('#wdk_el_<?php echo esc_html($id_element);?> #wdk-form-additional');
118 var form = $(this).closest('.wdk-search-form ');
119 form.toggleClass('open-form');
120 if (form.hasClass('open-form')) {
121 form.find("[name='wdk_search_additional_opened']").prop('checked', 'checked');
122 addition.slideDown();
123 } else {
124 addition.slideUp();
125 form.find("[name='wdk_search_additional_opened']").prop('checked', false);
126 }
127 }
128 })
129
130 $("form.wdk-result-page-notdefined").on('submit', function() {
131 wdk_log_notify('<?php echo esc_js(__('Results page not found, please configure results page', 'wpdirectorykit')); ?>', 'error');
132 return false;
133 });
134
135 const search_highlight = (elem) =>
136 {
137 if(elem.is('select'))
138 {
139 if(elem.val() == '' || elem.val() == 0 || elem.val() == null)
140 {
141 // remove selector class
142 elem.closest('.select-item').removeClass('sel_class');
143 elem.parent().removeClass('sel_class');
144 elem.removeClass('sel_class');
145 }
146 else
147 {
148 // add selector class
149 elem.closest('.select-item').addClass('sel_class');
150 elem.parent().addClass('sel_class');
151 elem.addClass('sel_class');
152 }
153 }
154 else if(elem.attr('type') == 'text')
155 {
156 if(elem.parent().find('.wdk_dropdown_tree').length > 0) // For treefield
157 {
158 if(elem.val() != '' && elem.val() != 0 && elem.val() != null)
159 {
160 // add selector class
161 elem.closest('.wdk_dropdown_tree_style').find('.wdk_dropdown_tree').addClass('sel_class');
162 elem.parent().find('.btn-group:first-child').addClass('sel_class');
163 }
164 else
165 {
166 // remove selector class
167 elem.closest('.wdk_dropdown_tree_style').find('.wdk_dropdown_tree').removeClass('sel_class');
168 elem.parent().find('.btn-group:first-child').removeClass('sel_class');
169 }
170 }
171 else // For basic input
172 {
173 if(elem.val() != '' && elem.val() != 0 && elem.val() != null)
174 {
175 // add selector class
176 elem.addClass('sel_class');
177 }
178 else
179 {
180 // remove selector class
181 elem.removeClass('sel_class');
182 }
183 }
184 }
185 }
186
187 // On change value, change field style
188 $('#wdk_el_<?php echo esc_html($id_element);?>').find('input, select').each(function(i)
189 {
190 $(this).on('change', function(){search_highlight($(this))});
191 search_highlight($(this));
192 })
193 <?php if($is_edit_mode):?>
194 wdk_select_init();
195
196 if(typeof $.fn.fieldSliderRange == 'function' && typeof $.fn.ionRangeSlider == 'function') {
197 $('.wdk-slider-range-field').fieldSliderRange();
198 }
199 <?php endif;?>
200 });
201 </script>
202 </div>
203