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
wpdirectorykit / shortcodes / shortcode-wdk-listing-field-value-text.php

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

149 lines 6.3 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-text], 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-text', 'shortcode_wdk_listing_field_value_text');
20 function shortcode_wdk_listing_field_value_text($atts, $content){
21 $atts = shortcode_atts(array(
22 'id'=>NULL,
23 'field_id'=>'',
24 'post_id'=>'',
25 'enable_html'=>'',
26 'norender'=>'',
27 ), $atts);
28 $data = array();
29
30 /* settings from atts */
31 $data['settings'] = $atts;
32 $data['id_element'] = '';
33
34 /* load css/js */
35
36 $WMVC = &wdk_get_instance();
37 $WMVC->model('listingfield_m');
38 $WMVC->model('listing_m');
39 $WMVC->load_helper('listing');
40 global $wdk_listing_id;
41 $post_id = $wdk_listing_id;
42 if (!empty($data['settings']['post_id'])) {
43 $post_id = (int)$data['settings']['post_id'];
44 }
45
46 $data['field_value'] = '';
47 $data['field_prefix'] = '';
48 $data['field_suffix'] = '';
49
50 /* protect check */
51 if(in_array($data['settings']['field_id'], ['post_password', 'status']) ) {
52 return false;
53 }
54
55 $post_data = get_post($post_id);
56 if (!$post_data || $post_data->post_status != 'publish' || post_password_required($post_data)) {
57 return false;
58 }
59
60 if(wdk_field_option($data['settings']['field_id'], 'is_visible_frontend') != 1) {
61 return false;
62 }
63
64 if(!empty($data['settings']['field_id'])){
65 if(strpos($data['settings']['field_id'],'__') !== FALSE){
66 $data['settings']['field_id'] = substr($data['settings']['field_id'], strpos($data['settings']['field_id'],'__')+2);
67 }
68
69 if($data['settings']['norender'] == 1) {
70 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
71 } elseif(wdk_field_option($data['settings']['field_id'], 'field_type') == "CHECKBOX") {
72 if(wdk_field_value ($data['settings']['field_id'], $post_id) == 1){
73 $data['field_value'] = '<span class="field_checkbox_success"><span class="label label-success"><span class="dashicons dashicons-saved"></span></span></span>';
74 } else {
75 $data['field_value'] = '<span class="field_checkbox_unsuccess"><span class="label label-success"><span class="dashicons dashicons-unsaved"></span></span></span>';
76 }
77 } else if(wdk_field_option($data['settings']['field_id'],'field_type') == "INPUTBOX") {
78 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
79
80 if(strpos($data['field_value'], 'vimeo.com') !== FALSE)
81 {
82 $data['field_value'] = wp_oembed_get($data['field_value'], array("width"=>"800", "height"=>"450"));
83 }
84 elseif(strpos($data['field_value'], 'watch?v=') !== FALSE)
85 {
86 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'watch?v=')+8);
87 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
88 }
89 elseif(strpos($data['field_value'], 'youtu.be/') !== FALSE)
90 {
91 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'youtu.be/')+9);
92 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
93 }
94 elseif(filter_var($data['field_value'], FILTER_VALIDATE_URL) !== FALSE && preg_match('/\.(mp4|flv|wmw|ogv|webm|ogg)$/i', $data['field_value']))
95 {
96 $data['field_value'] = '<video src="'.$data['field_value'].'" controls></video> ';
97 }
98 elseif(filter_var($data['field_value'] , FILTER_VALIDATE_URL) !== FALSE) {
99 $data['field_value'] = '<a href="'.$data['field_value'] .'">'.wdk_field_label($data['settings']['field_id']).'</a>';
100 }
101 }
102 elseif($data['settings']['field_id'] == 'category_id') {
103 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
104 $WMVC->model('category_m');
105 $tree_data = $WMVC->category_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
106 $data['field_value'] = wmvc_show_data('category_title', $tree_data);
107 }
108 }
109 elseif($data['settings']['field_id'] == 'location_id') {
110 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
111 $WMVC->model('location_m');
112 $tree_data = $WMVC->location_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
113 $data['field_value'] = wmvc_show_data('location_title', $tree_data);
114 }
115 }
116 else {
117 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
118 }
119
120 $data['field_prefix'] = wdk_field_option ($data['settings']['field_id'], 'prefix');
121 $data['field_suffix'] = wdk_field_option ($data['settings']['field_id'], 'suffix');
122 }
123
124 $data['is_edit_mode']= false;
125
126 /* return false if no content */
127 if(wdk_field_value($data['settings']['field_id'], $post_id) == '')
128 return false;
129
130 $data['field_value'] = apply_filters( 'wpdirectorykit/listing/field/value', (wmvc_show_data('value', $data['field_value'])), $data['settings']['field_id']);
131
132 if($data['settings']['norender'] == 1) {
133 return $data['field_value'];
134 } else {
135 return wdk_shortcodes_view('shortcode-wdk-listing-field-value-text', $data);
136 }
137 }
138
139
140 function link_shortcode( $atts, $content = null ) {
141 extract( shortcode_atts( array(
142 'url' => '#',
143 'text' => 'Click Here'
144 ), $atts ) );
145 return '<a href="' . esc_url( $url ) . '">' . esc_attr( $text ) . '</a>';
146 }
147 add_shortcode( 'link', 'link_shortcode' );
148
149 ?>