PluginProbe
WP Directory Kit / 1.5.7
WP Directory Kit v1.5.7
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.7, at shortcodes/shortcode-wdk-listing-field-value-text.php

143 lines 6.1 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 = $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 if(wdk_field_option($data['settings']['field_id'], 'is_visible_frontend') != 1) {
55 return false;
56 }
57
58 if(!empty($data['settings']['field_id'])){
59 if(strpos($data['settings']['field_id'],'__') !== FALSE){
60 $data['settings']['field_id'] = substr($data['settings']['field_id'], strpos($data['settings']['field_id'],'__')+2);
61 }
62
63 if($data['settings']['norender'] == 1) {
64 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
65 } elseif(wdk_field_option($data['settings']['field_id'], 'field_type') == "CHECKBOX") {
66 if(wdk_field_value ($data['settings']['field_id'], $post_id) == 1){
67 $data['field_value'] = '<span class="field_checkbox_success"><span class="label label-success"><span class="dashicons dashicons-saved"></span></span></span>';
68 } else {
69 $data['field_value'] = '<span class="field_checkbox_unsuccess"><span class="label label-success"><span class="dashicons dashicons-unsaved"></span></span></span>';
70 }
71 } else if(wdk_field_option($data['settings']['field_id'],'field_type') == "INPUTBOX") {
72 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
73
74 if(strpos($data['field_value'], 'vimeo.com') !== FALSE)
75 {
76 $data['field_value'] = wp_oembed_get($data['field_value'], array("width"=>"800", "height"=>"450"));
77 }
78 elseif(strpos($data['field_value'], 'watch?v=') !== FALSE)
79 {
80 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'watch?v=')+8);
81 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
82 }
83 elseif(strpos($data['field_value'], 'youtu.be/') !== FALSE)
84 {
85 $embed_code = substr($data['field_value'], strpos($data['field_value'], 'youtu.be/')+9);
86 $data['field_value'] = wp_oembed_get('https://www.youtube.com/watch?v='.$embed_code, array("width"=>"800", "height"=>"455"));
87 }
88 elseif(filter_var($data['field_value'], FILTER_VALIDATE_URL) !== FALSE && preg_match('/\.(mp4|flv|wmw|ogv|webm|ogg)$/i', $data['field_value']))
89 {
90 $data['field_value'] = '<video src="'.$data['field_value'].'" controls></video> ';
91 }
92 elseif(filter_var($data['field_value'] , FILTER_VALIDATE_URL) !== FALSE) {
93 $data['field_value'] = '<a href="'.$data['field_value'] .'">'.wdk_field_label($data['settings']['field_id']).'</a>';
94 }
95 }
96 elseif($data['settings']['field_id'] == 'category_id') {
97 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
98 $WMVC->model('category_m');
99 $tree_data = $WMVC->category_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
100 $data['field_value'] = wmvc_show_data('category_title', $tree_data);
101 }
102 }
103 elseif($data['settings']['field_id'] == 'location_id') {
104 if(wdk_field_value ($data['settings']['field_id'], $post_id)){
105 $WMVC->model('location_m');
106 $tree_data = $WMVC->location_m->get(wdk_field_value ($data['settings']['field_id'], $post_id), TRUE);
107 $data['field_value'] = wmvc_show_data('location_title', $tree_data);
108 }
109 }
110 else {
111 $data['field_value'] = wdk_field_value ($data['settings']['field_id'], $post_id);
112 }
113
114 $data['field_prefix'] = wdk_field_option ($data['settings']['field_id'], 'prefix');
115 $data['field_suffix'] = wdk_field_option ($data['settings']['field_id'], 'suffix');
116 }
117
118 $data['is_edit_mode']= false;
119
120 /* return false if no content */
121 if(wdk_field_value($data['settings']['field_id'], $post_id) == '')
122 return false;
123
124 $data['field_value'] = apply_filters( 'wpdirectorykit/listing/field/value', (wmvc_show_data('value', $data['field_value'])), $data['settings']['field_id']);
125
126 if($data['settings']['norender'] == 1) {
127 return $data['field_value'];
128 } else {
129 return wdk_shortcodes_view('shortcode-wdk-listing-field-value-text', $data);
130 }
131 }
132
133
134 function link_shortcode( $atts, $content = null ) {
135 extract( shortcode_atts( array(
136 'url' => '#',
137 'text' => 'Click Here'
138 ), $atts ) );
139 return '<a href="' . esc_url( $url ) . '">' . esc_attr( $text ) . '</a>';
140 }
141 add_shortcode( 'link', 'link_shortcode' );
142
143 ?>