PluginProbe
WP Directory Kit / 1.5.5
WP Directory Kit v1.5.5
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 / shortcodes / shortcode-wdk-listing-field-value.php

shortcode-wdk-listing-field-value.php in WP Directory Kit 1.5.5, at shortcodes/shortcode-wdk-listing-field-value.php

128 lines 5.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit; // Exit if accessed directly.
5 }
6
7 /*
8 * Widget [wdk-listing-field-value], show latest listings in list view
9 * atts list:
10 *
11 * field_id (int) - field id
12 * post_id (int) - post_id
13 *
14 * Layout path :
15 * get_template_directory().'/wpdirectorykit/shortcodes/views/shortcode-latest-listings-list.php'
16 * WPDIRECTORYKIT_PATH.'shortcodes/views/shortcode-latest-listings-list.php'
17 */
18
19 add_shortcode('wdk-listing-field-value', 'shortcode_wdk_listing_field_value');
20 function shortcode_wdk_listing_field_value($atts, $content){
21 $atts = shortcode_atts(array(
22 'id'=>NULL,
23 'field_id'=>'',
24 'post_id'=>'',
25 'enable_html'=>'',
26 ), $atts);
27 $data = array();
28
29 /* settings from atts */
30 $data['settings'] = $atts;
31 $data['id_element'] = '';
32
33 /* load css/js */
34
35 $WMVC = &wdk_get_instance();
36 $WMVC->model('listingfield_m');
37 $WMVC->model('listing_m');
38 $WMVC->load_helper('listing');
39 global $wdk_listing_id;
40 $post_id = $wdk_listing_id;
41 if (!empty($data['settings']['post_id'])) {
42 $post_id = $data['settings']['post_id'];
43 }
44
45 $data['field_value'] = '';
46 $data['field_prefix'] = '';
47 $data['field_suffix'] = '';
48
49 /* protect check */
50 if(in_array($data['settings']['field_id'], ['post_password', 'status']) ) {
51 return false;
52 }
53 if(wdk_field_option($data['settings']['field_id'], 'is_visible_frontend') != 1) {
54 return false;
55 }
56
57 if(!empty($data['settings']['field_id'])){
58 if(strpos($data['settings']['field_id'],'__') !== FALSE){
59 $data['settings']['field_id'] = substr($data['settings']['field_id'], strpos($data['settings']['field_id'],'__')+2);
60 }
61
62 if(wdk_field_option($data['settings']['field_id'], 'field_type') == "CHECKBOX") {
63 if(wdk_field_value ($data['settings']['field_id'], $post_id) == 1){
64 $data['field_value'] = '<span class="field_checkbox_success"><span class="label label-success"><span class="dashicons dashicons-saved"></span></span></span>';
65 } else {
66 $data['field_value'] = '<span class="field_checkbox_unsuccess"><span class="label label-success"><span class="dashicons dashicons-unsaved"></span></span></span>';
67 }
68 } else if(wdk_field_option($data['settings']['field_id'],'field_type') == "INPUTBOX") {
69 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
70
71 if(strpos($data['field_value'], 'vimeo.com') !== FALSE)
72 {
73 $data['field_value'] = wp_oembed_get($data['field_value'], array("width"=>"800", "height"=>"450"));
74 }
75 elseif(strpos($data['field_value'], 'watch?v=') !== FALSE)
76 {
77 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'watch?v=')+8);
78 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
79 }
80 elseif(strpos($data['field_value'], 'youtu.be/') !== FALSE)
81 {
82 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'youtu.be/')+9);
83 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
84 }
85 elseif(filter_var($data['field_value'], FILTER_VALIDATE_URL) !== FALSE && preg_match('/\.(mp4|flv|wmw|ogv|webm|ogg)$/i', $data['field_value']))
86 {
87 $data['field_value'] = '<video src="'.$data['field_value'].'" controls></video> ';
88 }
89 elseif(filter_var($data['field_value'] , FILTER_VALIDATE_URL) !== FALSE) {
90 $data['field_value'] = '<a href="'.$data['field_value'] .'">'.wdk_field_label($data['settings']['field_id']).'</a>';
91 }
92 }
93 elseif($data['settings']['field_id'] == 'category_id') {
94 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
95 $WMVC->model('category_m');
96 $tree_data = $WMVC->category_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
97 $data['field_value'] = wmvc_show_data('category_title', $tree_data);
98 }
99 }
100 elseif($data['settings']['field_id'] == 'location_id') {
101 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
102 $WMVC->model('location_m');
103 $tree_data = $WMVC->location_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
104 $data['field_value'] = wmvc_show_data('location_title', $tree_data);
105 }
106 }
107 else {
108 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
109 }
110
111 $data['field_prefix'] = wdk_field_option ($data['settings']['field_id'], 'prefix');
112 $data['field_suffix'] = wdk_field_option ($data['settings']['field_id'], 'suffix');
113 }
114
115 $data['is_edit_mode']= false;
116
117 /* return false if no content */
118 if(wdk_field_value($data['settings']['field_id'], $post_id) == '')
119 return false;
120
121 $data['field_prefix'] = apply_filters( 'wpdirectorykit/listing/field/prefix', $data['field_prefix'], $data['settings']['field_id']);
122 $data['field_value'] = apply_filters( 'wpdirectorykit/listing/field/value', (wmvc_show_data('value', $data['field_value'])), $data['settings']['field_id']);
123 $data['field_suffix'] = apply_filters( 'wpdirectorykit/listing/field/suffix',$data['field_suffix'], $data['settings']['field_id']);
124
125 return wdk_shortcodes_view('shortcode-wdk-listing-field-value', $data);
126 }
127
128 ?>