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
← All changes | application/helpers/Listing.php +190 -9 1.3.0 → 1.5.9 View file →
@@ -87,8 +87,31 @@
87 87 return $default;
88 88 }
89 89 }
90 90
91 +if(!function_exists('wdk_generate_field_date')) {
92 + /**
93 + * Return Date field
94 + *
95 + * @param int|string $field_id field id
96 + * @param int|object|array $listing listing object|array or id
97 + * @param string $default The default value, will be return if empty or no exists
98 + * @return string
99 + */
100 + function wdk_generate_field_date ($field_id='', $wdk_listing_id = array(), $default = '') {
101 +
102 + $field_value = wdk_field_value ($field_id, $wdk_listing_id);
103 + if(!empty($field_value)) {
104 + if(wdk_field_option ($field_id, 'date_format')) {
105 + return date_i18n(wdk_field_option ($field_id, 'date_format'), strtotime($field_value));
106 + } else {
107 + return wdk_get_date($field_value );
108 + }
109 + }
110 + return $default;
111 + }
112 +}
113 +
91 114 if(!function_exists('wdk_listing_images')) {
92 115 /**
93 116 * Initialize the class and set its properties.
94 117 *
@@ -109,14 +132,22 @@
109 132 if(is_array($image_ids)) {
110 133 foreach ($image_ids as $key => $image_id) {
111 134 if(is_numeric($image_id))
112 135 {
113 - $image = wp_get_attachment_url( $image_id, $size );
114 - $output[] = $image;
136 + do_action('wdk/helpers/wdk_listing_images/get_attached/before', $image_id, $size);
137 +
138 + /*
139 + $image = wp_get_attachment_url( $image_id, $size );
140 + $output[] = $image;
141 + */
142 + $image = wp_get_attachment_image_src( $image_id, $size );
143 + if($image)
144 + $output[] = $image[0];
115 145 }
116 146 }
117 147 } else if(is_numeric($image_ids))
118 - {
148 + {
149 + do_action('wdk/helpers/wdk_listing_images/get_attached/before', $image_ids, $size);
119 150 $image = wp_get_attachment_url( $image_ids, $size );
120 151 $output[] = $image;
121 152 }
122 153 return $output;
@@ -218,8 +249,61 @@
218 249 return $output;
219 250 }
220 251 }
221 252
253 +if(!function_exists('wdk_files_data')) {
254 + /**
255 + * Initialize the class and set its properties.
256 + *
257 + * @param string files ids
258 + * @param string $size The size of image
259 + * @param string|array $ext_list Allowed extensions, mixed sring with separated like jpg,doc,pdf or array
260 + * @return array
261 + */
262 + function wdk_files_data ($listing = '', $size = 'thumb', $ext_list = array()) {
263 + $output = array();
264 +
265 + $image_ids = '';
266 + if(is_string($listing)){
267 + $image_ids = explode(',', $listing);
268 + }
269 +
270 + if(is_string($ext_list)){
271 + if(!empty($ext_list)) {
272 + $ext_list = explode(',', $ext_list);
273 + } else {
274 + $ext_list = array();
275 + }
276 + }
277 + if(is_array($image_ids)) {
278 + foreach ($image_ids as $key => $image_id) {
279 + if(is_numeric($image_id))
280 + {
281 + $image = wp_get_attachment_url( $image_id, $size );
282 + if(!empty($ext_list) && !in_array(wdk_file_extension($image), $ext_list)) {
283 + continue;
284 + }
285 +
286 + if(empty($image)/* || !file_exists(str_replace(WP_CONTENT_URL, WP_CONTENT_DIR, $image))*/)
287 + {
288 + $image = wdk_placeholder_image_src();
289 + }
290 + $attr = wdk_image_attr($image_id);
291 + $output[] = array('src' =>$image, 'title' => $attr['title'], 'alt' => $attr['alt']);
292 + }
293 + }
294 + } else if(is_numeric($image_ids))
295 + {
296 + $image = wp_get_attachment_url( $image_ids, $size );
297 + if(!empty($ext_list) && !in_array(wdk_file_extension($image), $ext_list)) {
298 + $attr = wdk_image_attr($image_ids);
299 + $output[] = array('src' =>$image, 'title' => $attr['title'], 'alt' => $attr['alt']);
300 + }
301 + }
302 + return $output;
303 + }
304 +}
305 +
222 306 if(!function_exists('wdk_image_src')) {
223 307 /**
224 308 * Initialize the class and set its properties.
225 309 *
@@ -395,12 +479,15 @@
395 479 foreach ($list as $key => $field) {
396 480 $row = array();
397 481 $row['value'] = wdk_field_value($field->field_id, $listing, $default);
398 482
399 - if(wmvc_show_data('field_id', $field) == 'agent_image') {
483 + if(in_array(wmvc_show_data('field_id', $field), array('agent_image','agent_email','agent_name'))) {
400 484 $row['value'] = wmvc_show_data('user_id_editor', $listing);
401 485 }
402 486
487 + if(empty($row['value']) && !empty(wdk_field_option($field->field_id,'empty_value', false)))
488 + $row['value'] = wdk_field_option($field->field_id,'empty_value');
489 +
403 490 if(empty($row['value'])) continue;
404 491
405 492 if(wmvc_show_data('field_id', $field) == 'category_id') {
406 493
@@ -414,8 +501,9 @@
414 501 {
415 502 $tree_data = $category_static[$row['value']];
416 503 }
417 504
505 + $row['field_label'] = esc_html__('Category','wpdirectorykit');
418 506 $row['value'] = wmvc_show_data('category_title', $tree_data);
419 507
420 508 if(isset($listing->categories_list)){
421 509 $other_categories = wdk_generate_other_categories_fast($listing->categories_list);
@@ -434,8 +522,9 @@
434 522 {
435 523 $tree_data = $location_static[$row['value']];
436 524 }
437 525
526 + $row['field_label'] = esc_html__('Location','wpdirectorykit');
438 527 $row['value'] = wmvc_show_data('location_title', $tree_data);
439 528
440 529 if(isset($listing->locations_list)){
441 530 $other_locations = wdk_generate_other_locations_fast($listing->locations_list);
@@ -442,9 +531,13 @@
442 531 if(!empty($other_locations))
443 532 $row['value'] .=', '.join(', ',$other_locations);
444 533 }
445 534 } else if(wdk_field_option($field->field_id, 'field_type') == 'DATE') {
446 - $row['value'] = wdk_get_date($row['value'], FALSE);
535 + $row['field_label'] = esc_html__('Date','wpdirectorykit');
536 + $row['value'] = wdk_generate_field_date($field->field_id, $listing);
537 + } else if(wmvc_show_data('field_id', $field) == 'date_modified') {
538 + $row['field_label'] = esc_html__('Date','wpdirectorykit');
539 + $row['value'] = wdk_generate_field_date($field->field_id, $listing);
447 540 } else {
448 541
449 542 }
450 543
@@ -515,18 +608,37 @@
515 608 /* Favorite module */
516 609 $data ['favorite_added'] = wmvc_show_data('is_favorite', $listing, false, TRUE, TRUE);
517 610 /* End Favorite module */
518 611
519 - $output = $WMVC->view('frontend/'.$template, $data, FALSE);
612 + if(is_intval($template)) {
613 + $output = '';
614 + $post_data = get_post($template);
520 615
616 + global $wdk_listing_id;
617 + $wdk_listing_id = wmvc_show_data('post_id', $listing);
618 +
619 + if ($post_data) {
620 + if ($post_data->post_type == 'page' || $post_data->post_type == 'elementor_library') {
621 + $elementor_instance = \Elementor\Plugin::instance();
622 + $output = $elementor_instance->frontend->get_builder_content_for_display($template);
623 + if (empty($output))
624 + $output = $post_data->post_content;
625 + } else {
626 + $output = $post_data->post_content;
627 + }
628 + }
629 + } else {
630 + $output = $WMVC->view('frontend/'.$template, $data, FALSE);
631 + }
521 632 $output = sprintf($html_sprintf, $output);
633 +
522 634 if($json_output) {
523 635 $output = str_replace("'", "\'", $output);
524 636 $output = str_replace('"', '\"', $output);
525 637 $output = str_replace(array("\n", "\r"), '', $output);
526 638 }
527 -
528 - return ($output);
639 +
640 + return $output;
529 641 }
530 642 }
531 643
532 644 if(!function_exists('wdk_image_alt')) {
@@ -764,9 +876,9 @@
764 876 return $default;
765 877 }
766 878
767 879 if(wdk_field_option($field_id, 'is_price_format') && wdk_field_option($field_id, 'field_type') == 'NUMBER') {
768 - $value = wdk_number_format_i18n(wdk_filter_decimal($value));
880 + $value = wdk_filter_decimal(wdk_number_format_i18n($value));
769 881 } elseif(wdk_field_option($field_id, 'field_type') == 'DATE') {
770 882 $value = wdk_get_date($value, FALSE);
771 883 } else {
772 884 $value = wdk_filter_decimal($value);
@@ -882,8 +994,11 @@
882 994 if(!empty($user_data)) {
883 995 if(wmvc_show_data($field,$user_data['userdata'], false, TRUE, TRUE)) {
884 996 $output = wmvc_show_data($field,$user_data['userdata'], false, TRUE, TRUE);
885 997 }
998 + if(wmvc_show_data($field, $user_data, false, TRUE, TRUE)) {
999 + $output = wmvc_show_data($field,$user_data, false, TRUE, TRUE);
1000 + }
886 1001 }
887 1002
888 1003 return $output;
889 1004 }
@@ -924,8 +1039,74 @@
924 1039 $location = wdk_generate_other_locations_fast($location_id);
925 1040
926 1041 if(!empty($location)) {
927 1042 $output = $location[$location_id];
1043 + }
1044 +
1045 + return $output;
1046 + }
1047 +}
1048 +
1049 +if(!function_exists('wdk_get_category_id')) {
1050 + /**
1051 + * Get Category id by category name
1052 + *
1053 + * @param int $category_name category name
1054 + * @param string $empty, value if empty or not find
1055 + * @return string category_id
1056 + */
1057 + function wdk_get_category_id ($category_name='', $empty = false) {
1058 + $output = $empty;
1059 + $category_name = trim($category_name);
1060 + static $categories_list = NULL;
1061 +
1062 + if(is_null($categories_list)) {
1063 + $categories_list = array();
1064 + $WMVC = &wdk_get_instance();
1065 + $WMVC->model('category_m');
1066 + $categories = $WMVC->category_m->get();
1067 +
1068 + if($categories) foreach ($categories as $item) {
1069 + $categories_list[$item->idcategory] = $item->category_title;
1070 + }
1071 + }
1072 +
1073 + $key = array_search($category_name, $categories_list);
1074 + if($key) {
1075 + $output = $key;
1076 + }
1077 + return $output;
1078 + }
1079 +}
1080 +
1081 +if(!function_exists('wdk_get_location_id')) {
1082 + /**
1083 + * Get Location id by location name
1084 + *
1085 + * @param int $location_name location name
1086 + * @param string $empty, value if empty or not find
1087 + * @return string location_id
1088 + */
1089 + function wdk_get_location_id ($location_name='', $empty = false) {
1090 + $output = $empty;
1091 + $location_name = trim($location_name);
1092 +
1093 + static $locations_list = NULL;
1094 +
1095 + if(is_null($locations_list)) {
1096 + $locations_list = array();
1097 + $WMVC = &wdk_get_instance();
1098 + $WMVC->model('location_m');
1099 + $locations = $WMVC->location_m->get();
1100 +
1101 + if($locations) foreach ($locations as $item) {
1102 + $locations_list[$item->idlocation] = $item->location_title;
1103 + }
1104 + }
1105 +
1106 + $key = array_search($location_name, $locations_list);
1107 + if($key) {
1108 + $output = $key;
928 1109 }
929 1110
930 1111 return $output;
931 1112 }