← All changes
|
elementor-elements/views/wdk-listing-fields-section.php
+128
-10
1.3.0
→
1.5.9
View file →
| @@ -28,22 +28,27 @@ | ||
| 28 | 28 | if(wmvc_show_data('field_type', $field) == "CHECKBOX") { |
| 29 | 29 | if(wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id) != 1) |
| 30 | 30 | if(wmvc_show_data('hide_onempty_checkbox', $settings)) continue; |
| 31 | 31 | } else { |
| 32 | - if((empty(wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id)) ||wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id) == '0.00' ) && wmvc_show_data('hide_onempty', $settings)) | |
| 32 | + if((empty(wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id, wdk_field_option(wmvc_show_data('idfield', $field),'empty_value'))) ||wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id) == '0.00' ) && wmvc_show_data('hide_onempty', $settings)) | |
| 33 | 33 | continue; |
| 34 | 34 | } |
| 35 | + | |
| 35 | 36 | } |
| 36 | 37 | ?> |
| 37 | 38 | <div class="wdk-col |
| 38 | 39 | <?php if(wmvc_show_data('field_group_icon_enable', $settings, false) && wmvc_show_data('icon_id', $field, false)):?> icon_group <?php endif;?> |
| 39 | 40 | <?php if(wmvc_show_data('field_label_hide', $settings, false) == 'none'):?> no_label <?php endif;?> |
| 40 | - <?php echo esc_html(wmvc_show_data('field_layout', $settings));?> <?php echo esc_html(wmvc_show_data('field_type', $field));?> | |
| 41 | + <?php echo esc_html(wmvc_show_data('field_layout', $settings));?> <?php echo esc_html(wmvc_show_data('field_type', $field));?> | |
| 42 | + <?php if(wmvc_show_data('field_type', $field) == "FILEUPLOAD"):?> wdk-col-full-always <?php endif;?> | |
| 41 | 43 | "> |
| 42 | - <div class="field-group"> | |
| 44 | + <div class="field-group | |
| 45 | + <?php if(wmvc_show_data('field_type', $field) == "FILEUPLOAD"):?> d-column <?php endif;?> | |
| 46 | + fied_<?php echo esc_attr(wmvc_show_data('idfield', $field));?> | |
| 47 | + "> | |
| 43 | 48 | <?php if(wmvc_show_data('field_group_icon_enable', $settings, false) && wmvc_show_data('icon_id', $field, false)):?> |
| 44 | 49 | <span class="field_icon"> |
| 45 | - <img src="<?php echo esc_url(wdk_image_src($field, 'full',NULL,'icon_id'));?>" alt="<?php echo wmvc_show_data('field_label', $value);?>" class="wdk-icon"> | |
| 50 | + <img src="<?php echo esc_url(wdk_image_src($field, 'full',NULL,'icon_id'));?>" alt="<?php echo esc_attr(wmvc_show_data('field_label', $value));?>" class="wdk-icon"> | |
| 46 | 51 | </span> |
| 47 | 52 | <?php endif;?> |
| 48 | 53 | <span class="field_label"> |
| 49 | 54 | <?php echo esc_html(wmvc_show_data('label_prefix', $settings));?><?php echo esc_html(wmvc_show_data('field_label', $field));?><?php echo esc_html(wmvc_show_data('label_suffix', $settings));?> |
| @@ -54,8 +59,11 @@ | ||
| 54 | 59 | <?php |
| 55 | 60 | if(!$is_edit_mode && !empty($wdk_listing_id)) { |
| 56 | 61 | $field_value = wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id); |
| 57 | 62 | |
| 63 | + if(empty($field_value) && !empty(wdk_field_option(wmvc_show_data('idfield', $field),'empty_value', false))) | |
| 64 | + $field_value = wdk_field_option(wmvc_show_data('idfield', $field),'empty_value'); | |
| 65 | + | |
| 58 | 66 | if(wmvc_show_data('field_type', $field) == "CHECKBOX") { |
| 59 | 67 | if(wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id) == 1){ |
| 60 | 68 | $field_value = '<span class="field_checkbox_success">'.$this->generate_icon($settings['field_checkbox_icon_success']).'</span>'; |
| 61 | 69 | } else { |
| @@ -64,8 +72,23 @@ | ||
| 64 | 72 | } |
| 65 | 73 | else if($field_value == '') { |
| 66 | 74 | $field_value = '-'; |
| 67 | 75 | } |
| 76 | + else if(wmvc_show_data('field_type', $field) == "DROPDOWNMULTIPLE") { | |
| 77 | + if(strpos($field_value, ',') !== FALSE) | |
| 78 | + { | |
| 79 | + $translated_value = []; | |
| 80 | + foreach(explode(',', $field_value) as $value) | |
| 81 | + { | |
| 82 | + // Dynamic field values are registered in the translation catalog separately. | |
| 83 | +// phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText | |
| 84 | + $translated_value []= esc_html__(trim($value), 'wpdirectorykit'); | |
| 85 | + } | |
| 86 | + | |
| 87 | + $field_value = implode(', ', $translated_value); | |
| 88 | + } | |
| 89 | + | |
| 90 | + } | |
| 68 | 91 | else if(wmvc_show_data('field_type', $field) == "INPUTBOX") { |
| 69 | 92 | $field_value = wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id); |
| 70 | 93 | |
| 71 | 94 | if(strpos($field_value, 'vimeo.com') !== FALSE) |
| @@ -91,16 +114,22 @@ | ||
| 91 | 114 | { |
| 92 | 115 | $field_value = '<video src="'.$field_value.'" controls></video> '; |
| 93 | 116 | } |
| 94 | 117 | elseif(filter_var($field_value , FILTER_VALIDATE_URL) !== FALSE) { |
| 95 | - $field_value = '<a href="'.$field_value .'">'.$field_value .'</a>'; | |
| 118 | + $field_value = '<a target="_blank" href="'.$field_value .'">'.$field_value .'</a>'; | |
| 96 | 119 | } |
| 97 | 120 | elseif(filter_var($field_value , FILTER_VALIDATE_EMAIL) !== FALSE) { |
| 98 | 121 | $field_value = '<a href="mailto:'.$field_value .'">'.$field_value .'</a>'; |
| 99 | 122 | } |
| 100 | - elseif(wdk_is_phone($field_value)) { | |
| 123 | + elseif(wdk_field_option (wmvc_show_data('idfield', $field), 'validation') == 'is_phone') { | |
| 101 | 124 | $field_value = '<a href="tel:'.wdk_filter_phone($field_value) .'">'.$field_value .'</a>'; |
| 102 | 125 | } |
| 126 | + elseif(wdk_field_option (wmvc_show_data('idfield', $field), 'validation') == 'is_phone|wdk_viber') { | |
| 127 | + $field_value = '<a href="viber://chat?number='.wdk_filter_viber_phone($field_value) .'">'.$field_value .'</a>'; | |
| 128 | + } | |
| 129 | + elseif(wdk_field_option (wmvc_show_data('idfield', $field), 'validation') == 'is_phone|wdk_whatsapp') { | |
| 130 | + $field_value = '<a target="_blank" href="//wa.me/'.wdk_filter_phone($field_value) .'">'.$field_value .'</a>'; | |
| 131 | + } | |
| 103 | 132 | } |
| 104 | 133 | elseif(wmvc_show_data('idfield', $field) == 'category_id') { |
| 105 | 134 | if(wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id)){ |
| 106 | 135 | $this->WMVC->model('category_m'); |
| @@ -115,20 +144,19 @@ | ||
| 115 | 144 | $field_value = wmvc_show_data('location_title', $tree_data); |
| 116 | 145 | } |
| 117 | 146 | } |
| 118 | 147 | elseif(wmvc_show_data('field_type', $field) == 'DATE') { |
| 119 | - $field_value = wdk_field_value (wmvc_show_data('idfield', $field), $wdk_listing_id); | |
| 120 | - $field_value = wdk_get_date($field_value ); | |
| 148 | + $field_value = wdk_generate_field_date(wmvc_show_data('idfield', $field), $wdk_listing_id); | |
| 121 | 149 | } elseif(wmvc_show_data('field_type', $field) == 'NUMBER') { |
| 122 | 150 | |
| 123 | 151 | /* price format implement */ |
| 124 | 152 | if(function_exists('run_wdk_currency_conversion') && wdk_currencies_is_price_field(wmvc_show_data('idfield', $field))) { |
| 125 | 153 | /* if currency_conversion and field is price */ |
| 126 | - $value = strip_tags(apply_filters( 'wpdirectorykit/listing/field/value', wdk_filter_decimal($field_value), wmvc_show_data('idfield', $field), FALSE)); | |
| 154 | + $value = wp_strip_all_tags(apply_filters( 'wpdirectorykit/listing/field/value', wdk_filter_decimal($field_value), wmvc_show_data('idfield', $field), FALSE)); | |
| 127 | 155 | $field_value = esc_html(wdk_number_format_i18n($value)); |
| 128 | 156 | } elseif(wdk_field_option(wmvc_show_data('idfield', $field), 'is_price_format')) { |
| 129 | 157 | /* if field enabled is_price_format and field type is number*/ |
| 130 | - $value = strip_tags(apply_filters( 'wpdirectorykit/listing/field/value', wdk_filter_decimal($field_value), wmvc_show_data('idfield', $field), FALSE)); | |
| 158 | + $value = wp_strip_all_tags(apply_filters( 'wpdirectorykit/listing/field/value', wdk_filter_decimal($field_value), wmvc_show_data('idfield', $field), FALSE)); | |
| 131 | 159 | $field_value = esc_html(wdk_number_format_i18n($value)); |
| 132 | 160 | } else { |
| 133 | 161 | /* without number format */ |
| 134 | 162 | $field_value = apply_filters( 'wpdirectorykit/listing/field/value', $field_value, wmvc_show_data('idfield', $field)); |
| @@ -133,8 +161,98 @@ | ||
| 133 | 161 | /* without number format */ |
| 134 | 162 | $field_value = apply_filters( 'wpdirectorykit/listing/field/value', $field_value, wmvc_show_data('idfield', $field)); |
| 135 | 163 | } |
| 136 | 164 | |
| 165 | + } elseif( | |
| 166 | + wdk_field_option(wmvc_show_data('idfield', $field), 'field_type') == "FILEUPLOAD" | |
| 167 | + ) { | |
| 168 | + | |
| 169 | + $field_value = wdk_files_data ($field_value, 'full'); | |
| 170 | + | |
| 171 | + wp_enqueue_style('wdk-field-files'); | |
| 172 | + wp_enqueue_style('blueimp-gallery'); | |
| 173 | + wp_enqueue_script('blueimp-gallery'); | |
| 174 | + wp_enqueue_script('wdk-blueimp-gallery'); | |
| 175 | + ?> | |
| 176 | + | |
| 177 | + <div class="wdk-field-files wdk_js_gallery"> | |
| 178 | + <?php if (is_array($field_value) && count($field_value) > 0): ?> | |
| 179 | + <div class="wdk-row"> | |
| 180 | + <?php foreach ($field_value as $image): ?> | |
| 181 | + <?php | |
| 182 | + if ($is_edit_mode) { | |
| 183 | + $src = $image; | |
| 184 | + $image = array('src' => $src, 'title' => esc_html__('Image Title', 'wpdirectorykit')); | |
| 185 | + } else { | |
| 186 | + $src = $image['src']; | |
| 187 | + } | |
| 188 | + ?> | |
| 189 | + <?php | |
| 190 | + if (!in_array(wdk_file_extension($image['src']), array('jpg', 'jpeg', 'bmp', 'png', 'webp'))) | |
| 191 | + continue; | |
| 192 | + ?> | |
| 193 | + | |
| 194 | + <div class="wdk-col"> | |
| 195 | + <figure> | |
| 196 | + <a class="wdk-listing-image-card" href="<?php echo esc_url($image['src']); ?>"> | |
| 197 | + <img src="<?php echo esc_url($src); ?>" class="wdk-listing-image" alt="<?php echo esc_attr(wmvc_show_data('alt', $image, '', TRUE, TRUE)); ?>"> | |
| 198 | + </a> | |
| 199 | + <?php if (false): ?> | |
| 200 | + <figcaption> | |
| 201 | + <a class="skip" href="<?php echo esc_url($image['src']); ?>" target="_blank"> | |
| 202 | + <?php echo esc_html(wmvc_show_data('title', $image, '', TRUE, TRUE)); ?> | |
| 203 | + </a> | |
| 204 | + </figcaption> | |
| 205 | + <?php endif; ?> | |
| 206 | + </figure> | |
| 207 | + </div> | |
| 208 | + <?php endforeach; ?> | |
| 209 | + </div> | |
| 210 | + <?php endif; ?> | |
| 211 | + | |
| 212 | + <?php if (is_array($field_value) && count($field_value) > 0): ?> | |
| 213 | + <div class="files-row"> | |
| 214 | + <ul class="files"> | |
| 215 | + <?php foreach ($field_value as $image): ?> | |
| 216 | + <?php | |
| 217 | + if ($is_edit_mode) { | |
| 218 | + $src = $image; | |
| 219 | + $image = array('src' => $src, 'title' => esc_html__('Image Title', 'wpdirectorykit')); | |
| 220 | + } else { | |
| 221 | + $src = $image['src']; | |
| 222 | + } | |
| 223 | + | |
| 224 | + if (in_array(wdk_file_extension($image['src']), array('jpg', 'jpeg', 'bmp', 'png', 'webp'))) | |
| 225 | + continue; | |
| 226 | + | |
| 227 | + if (file_exists(WPDIRECTORYKIT_PATH . '/public/img/filetype/' . wdk_file_extension($image['src']) . '.png')) { | |
| 228 | + $src = WPDIRECTORYKIT_URL . 'public/img/filetype/' . wdk_file_extension($image['src']) . '.png'; | |
| 229 | + } else { | |
| 230 | + $src = WPDIRECTORYKIT_URL . 'public/img/filetype/_blank.png'; | |
| 231 | + } | |
| 232 | + ?> | |
| 233 | + | |
| 234 | + <li class="list-item"> | |
| 235 | + <a class="file-link" href="<?php echo esc_url($image['src']); ?>" target="_blank" title="<?php echo esc_attr(wmvc_show_data('title', $image, '', TRUE, TRUE)); ?>"> | |
| 236 | + <img src="<?php echo esc_url($src); ?>" class="wdk-listing-file-icon" alt="<?php echo esc_attr(wmvc_show_data('alt', $image, '', TRUE, TRUE)); ?>"> | |
| 237 | + <?php echo esc_html(wmvc_show_data('title', $image, '', TRUE, TRUE)); ?> | |
| 238 | + </a> | |
| 239 | + </li> | |
| 240 | + <?php endforeach; ?> | |
| 241 | + </ul> | |
| 242 | + </div> | |
| 243 | + <?php endif; ?> | |
| 244 | + </div> | |
| 245 | + | |
| 246 | + <?php | |
| 247 | + $field_value =''; | |
| 248 | + | |
| 249 | + } elseif(wmvc_show_data('field_type', $field) == 'TEXTAREA') { | |
| 250 | + global $wp_embed; | |
| 251 | + // Dynamic field values are registered in the translation catalog separately. | |
| 252 | +// phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText | |
| 253 | + $field_value = wpautop(__($field_value, 'wpdirectorykit' )); | |
| 254 | + $field_value = html_entity_decode($wp_embed->autoembed($field_value )); | |
| 137 | 255 | } else { |
| 138 | 256 | $field_value = apply_filters( 'wpdirectorykit/listing/field/value', $field_value, wmvc_show_data('idfield', $field)); |
| 139 | 257 | } |
| 140 | 258 | } else { |