| @@ -13,9 +13,15 @@ | ||
| 13 | 13 | <?php |
| 14 | 14 | |
| 15 | 15 | $field_key = 'field_'.wmvc_show_data('idfield',$field_data); |
| 16 | 16 | $field_attr_id = 'wdk_field_'.wmvc_show_data('idfield', $field_data); |
| 17 | + | |
| 17 | 18 | $placeholder = wmvc_show_data('field_label', $field_data); |
| 19 | +if(!empty(wmvc_show_data('placeholder', $field_data,''))) | |
| 20 | + $placeholder = wmvc_show_data('placeholder', $field_data); | |
| 21 | +// Dynamic field values are registered in the translation catalog separately. | |
| 22 | +// phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText | |
| 23 | +$placeholder = esc_html__($placeholder,'wpdirectorykit'); | |
| 18 | 24 | $field_value = ''; |
| 19 | 25 | $query_type = wmvc_show_data('query_type', $field_data, ''); |
| 20 | 26 | |
| 21 | 27 | if(!empty($query_type) && $query_type !='min_max') |
| @@ -26,15 +32,15 @@ | ||
| 26 | 32 | $field_value = sanitize_text_field($predefinedfields_query[$field_key]); |
| 27 | 33 | } |
| 28 | 34 | |
| 29 | 35 | if(isset($_GET[$field_key])) { |
| 30 | - $field_value = sanitize_text_field($_GET[$field_key]); | |
| 36 | + $field_value = sanitize_text_field(wp_unslash($_GET[$field_key])); | |
| 31 | 37 | } |
| 32 | 38 | |
| 33 | 39 | $suffix = ''; |
| 34 | 40 | $prefix = ''; |
| 35 | -$prefix = apply_filters( 'wpdirectorykit/listing/field/prefix', wmvc_show_data('prefix',$field_data), wmvc_show_data('idfield', $field_data)); | |
| 36 | -$suffix = apply_filters( 'wpdirectorykit/listing/field/suffix',wmvc_show_data('suffix',$field_data), wmvc_show_data('idfield', $field_data)); | |
| 41 | +$clear_prefix = $prefix = apply_filters( 'wpdirectorykit/listing/field/prefix', wmvc_show_data('prefix',$field_data), wmvc_show_data('idfield', $field_data)); | |
| 42 | +$clear_suffix = $suffix = apply_filters( 'wpdirectorykit/listing/field/suffix',wmvc_show_data('suffix',$field_data), wmvc_show_data('idfield', $field_data)); | |
| 37 | 43 | |
| 38 | 44 | if(!empty($prefix)) { |
| 39 | 45 | $prefix = ' ('.$prefix.')'; |
| 40 | 46 | } |
| @@ -48,27 +54,43 @@ | ||
| 48 | 54 | if($query_type =='max') |
| 49 | 55 | $placeholder = esc_html__('Max','wpdirectorykit').' '.$placeholder.$prefix.$suffix; |
| 50 | 56 | |
| 51 | 57 | $values = array(); |
| 52 | -if(!empty(wmvc_show_data('values_list', $field_data)) && strpos($field_data, ',') !== FALSE){ | |
| 58 | +if(!empty(wmvc_show_data('values_list', $field_data)) && strpos(wmvc_show_data('values_list', $field_data), ',') !== FALSE){ | |
| 53 | 59 | $values = explode(',', wmvc_show_data('values_list', $field_data)); |
| 54 | - $values = array(''=> $placeholder) + array_combine($values, $values); | |
| 60 | + $values = array_combine($values, $values); | |
| 61 | + | |
| 62 | + array_walk($values, function(&$item) use($clear_prefix, $clear_suffix, $field_data) { | |
| 63 | + $item = $clear_prefix.((wdk_field_option(wmvc_show_data('idfield',$field_data), 'is_price_format') && wdk_field_option(wmvc_show_data('idfield',$field_data), 'field_type') == 'NUMBER') ? wdk_number_format_i18n($item) : $item).$clear_suffix; | |
| 64 | + } | |
| 65 | + ); | |
| 55 | 66 | } |
| 56 | - | |
| 57 | - | |
| 67 | +wdk_search_fields_toggle(); | |
| 58 | 68 | ?> |
| 59 | 69 | |
| 60 | -<div class="wdk-field wdk-col <?php if($query_type == 'min_max'):?>min_max_wdk-field<?php endif;?> <?php echo esc_attr(wmvc_show_data('field_type', $field_data)); ?> <?php echo esc_attr(wmvc_show_data('class', $field_data)); ?>"> | |
| 61 | - <label class="wdk-field-label"><?php echo esc_html(wmvc_show_data('field_label', $field_data)); ?></label> | |
| 70 | +<div class="wdk-field wdk-col wdk_search_<?php echo esc_attr($field_key);?> <?php if($query_type == 'min_max'):?>min_max_wdk-field<?php endif;?> | |
| 71 | + <?php if(empty($values)):?> | |
| 72 | + <?php echo esc_attr(wmvc_show_data('field_type', $field_data)); ?> | |
| 73 | + <?php else:?> | |
| 74 | + psudo_<?php echo esc_attr(wmvc_show_data('field_type', $field_data)); ?> | |
| 75 | + DROPDOWN | |
| 76 | + <?php endif;?> | |
| 77 | + <?php echo esc_attr(wmvc_show_data('class', $field_data)); ?> | |
| 78 | + wdk_field_id_<?php echo esc_attr(wmvc_show_data('idfield',$field_data));?>" | |
| 79 | + > | |
| 80 | + <label class="wdk-field-label"><?php | |
| 81 | + // Dynamic field values are registered in the translation catalog separately. | |
| 82 | + // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText | |
| 83 | + echo esc_html__(wmvc_show_data('field_label', $field_data),'wpdirectorykit'); ?></label> | |
| 62 | 84 | <div class="wdk-field-group"> |
| 63 | 85 | <?php if(empty($values)):?> |
| 64 | 86 | <?php if($query_type == 'min_max'):?> |
| 65 | 87 | <div class="wdk-row min_max_row"> |
| 66 | 88 | <div class="wdk-col wdk-col-6"> |
| 67 | - <input class="wdk-control" name="<?php echo esc_attr($field_key.'_min'); ?>" type="number" id="<?php echo esc_attr($field_attr_id.'_min'); ?>" value="<?php echo (isset($_GET[$field_key.'_min'])) ? esc_attr(wmvc_xss_clean($_GET[$field_key.'_min'])) : ''; ?>" placeholder="<?php echo esc_html__('Min','wpdirectorykit').' '.esc_attr(trim($placeholder)).' '.esc_attr($prefix.$suffix);?>"> | |
| 89 | + <input class="wdk-control" name="<?php echo esc_attr($field_key.'_min'); ?>" type="number" id="<?php echo esc_attr($field_attr_id.'_min'); ?>" value="<?php echo (isset($_GET[$field_key.'_min'])) ? esc_attr(wmvc_xss_clean($_GET[$field_key.'_min'])) : ''; ?>" placeholder="<?php echo esc_attr__('Min','wpdirectorykit').' '.esc_attr(trim($placeholder)).' '.esc_attr($prefix.$suffix);?>"> | |
| 68 | 90 | </div> |
| 69 | 91 | <div class="wdk-col wdk-col-6"> |
| 70 | - <input class="wdk-control" name="<?php echo esc_attr($field_key.'_max'); ?>" type="number" id="<?php echo esc_attr($field_attr_id.'_max'); ?>" value="<?php echo (isset($_GET[$field_key.'_max'])) ? esc_attr(wmvc_xss_clean($_GET[$field_key.'_max'])) : ''; ?>" placeholder="<?php echo esc_html__('Max','wpdirectorykit').' '.esc_attr(trim($placeholder)).' '.esc_attr($prefix.$suffix);?>"> | |
| 92 | + <input class="wdk-control" name="<?php echo esc_attr($field_key.'_max'); ?>" type="number" id="<?php echo esc_attr($field_attr_id.'_max'); ?>" value="<?php echo (isset($_GET[$field_key.'_max'])) ? esc_attr(wmvc_xss_clean($_GET[$field_key.'_max'])) : ''; ?>" placeholder="<?php echo esc_attr__('Max','wpdirectorykit').' '.esc_attr(trim($placeholder)).' '.esc_attr($prefix.$suffix);?>"> | |
| 71 | 93 | </div> |
| 72 | 94 | </div> |
| 73 | 95 | <?php else:?> |
| 74 | 96 | <input class="wdk-control" name="<?php echo esc_attr($field_key); ?>" type="number" id="<?php echo esc_attr($field_attr_id); ?>" value="<?php echo esc_attr($field_value); ?>" placeholder="<?php echo esc_attr(trim($placeholder));?>"> |
| @@ -75,17 +97,78 @@ | ||
| 75 | 97 | <?php endif;?> |
| 76 | 98 | <?php else:?> |
| 77 | 99 | <?php if($query_type == 'min_max'):?> |
| 78 | 100 | <div class="wdk-row min_max_row"> |
| 79 | - <div class="wdk-col-6"> | |
| 80 | - <?php echo wmvc_select_option($field_key.'_min' , array_merge($values, array(''=> esc_html__('Min','wpdirectorykit').' '.$placeholder)), (isset($_GET[$field_key.'_min'])) ? esc_attr($_GET[$field_key.'_min']) : '', 'class="wdk-control"'); ?> | |
| 101 | + <div class="wdk-col wdk-col-6"> | |
| 102 | + <?php echo wp_kses( | |
| 103 | + wmvc_select_option( | |
| 104 | + $field_key.'_min', | |
| 105 | + (array(''=> __('Min', 'wpdirectorykit').' '.$placeholder.$prefix.$suffix) + $values), | |
| 106 | + (isset($_GET[$field_key.'_min'])) ? esc_attr($_GET[$field_key.'_min']) : '', | |
| 107 | + 'class="wdk-control"' | |
| 108 | + ), | |
| 109 | + [ | |
| 110 | + 'select' => [ | |
| 111 | + 'class' => true, | |
| 112 | + 'name' => true, | |
| 113 | + 'id' => true, | |
| 114 | + ], | |
| 115 | + 'option' => [ | |
| 116 | + 'value' => true, | |
| 117 | + 'selected' => true, | |
| 118 | + ], | |
| 119 | + ] | |
| 120 | + ); ?> | |
| 121 | + | |
| 81 | 122 | </div> |
| 82 | - <div class="wdk-col-6"> | |
| 83 | - <?php echo wmvc_select_option($field_key.'_max', array_merge($values, array(''=> esc_html__('Max','wpdirectorykit').' '.$placeholder)), (isset($_GET[$field_key.'_max'])) ? esc_attr($_GET[$field_key.'_max']) : '', 'class="wdk-control"'); ?> | |
| 123 | + <div class="wdk-col wdk-col-6"> | |
| 124 | + <?php | |
| 125 | + echo wp_kses( | |
| 126 | + wmvc_select_option( | |
| 127 | + $field_key.'_max', | |
| 128 | + (array(''=> __('Max', 'wpdirectorykit').' '.$placeholder.$prefix.$suffix) + $values), | |
| 129 | + (isset($_GET[$field_key.'_max'])) ? esc_attr($_GET[$field_key.'_max']) : '', | |
| 130 | + 'class="wdk-control"' | |
| 131 | + ), | |
| 132 | + [ | |
| 133 | + 'select' => [ | |
| 134 | + 'class' => true, | |
| 135 | + 'name' => true, | |
| 136 | + 'id' => true, | |
| 137 | + ], | |
| 138 | + 'option' => [ | |
| 139 | + 'value' => true, | |
| 140 | + 'selected' => true, | |
| 141 | + ], | |
| 142 | + ] | |
| 143 | + ); | |
| 144 | + ?> | |
| 145 | + | |
| 84 | 146 | </div> |
| 85 | 147 | </div> |
| 86 | 148 | <?php else:?> |
| 87 | - <?php echo wmvc_select_option($field_key , $values, $field_value, 'class="wdk-control"'); ?> | |
| 149 | + <?php | |
| 150 | + echo wp_kses( | |
| 151 | + wmvc_select_option( | |
| 152 | + $field_key, | |
| 153 | + (array(''=> $placeholder) + $values), | |
| 154 | + $field_value, | |
| 155 | + 'class="wdk-control"' | |
| 156 | + ), | |
| 157 | + [ | |
| 158 | + 'select' => [ | |
| 159 | + 'class' => true, | |
| 160 | + 'name' => true, | |
| 161 | + 'id' => true, | |
| 162 | + ], | |
| 163 | + 'option' => [ | |
| 164 | + 'value' => true, | |
| 165 | + 'selected' => true, | |
| 166 | + ], | |
| 167 | + ] | |
| 168 | + ); | |
| 169 | + ?> | |
| 170 | + | |
| 88 | 171 | <?php endif;?> |
| 89 | 172 | <?php endif;?> |
| 90 | 173 | </div> |
| 91 | 174 | </div> |