PluginProbe
Virtue/Ascend/Pinnacle Toolkit / 2.1
Virtue/Ascend/Pinnacle Toolkit v2.1
4.9.12.2 trunk 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.7 All 48 releases
virtue-toolkit / shortcodes.php

shortcodes.php in Virtue/Ascend/Pinnacle Toolkit 2.1, at shortcodes.php

329 lines 13.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 //Shortcode for accordion
3 function kad_accordion_shortcode_function($atts, $content ) {
4 $GLOBALS['pane_count'] = 0;
5 do_shortcode( $content );
6 $random = rand(1, 99);
7 if( is_array( $GLOBALS['panes'] ) ){
8 $i = 0;
9 foreach( $GLOBALS['panes'] as $tab ){
10 if ($i % 2 == 0) {$eo = "even";} else {$eo = "odd";}
11 $tabs[] = '<div class="panel panel-default panel-'.$eo.'"><div class="panel-heading"><a class="accordion-toggle '.$tab['open'].'" data-toggle="collapse" data-parent="#accordionname'.$random.'" href="#collapse'.$random.$tab['link'].'"><h5><i class="icon-minus primary-color"></i><i class="icon-plus"></i>'.$tab['title'].'</h5></a></div><div id="collapse'.$random.$tab['link'].'" class="panel-collapse collapse '.$tab['in'].'"><div class="panel-body postclass">'.$tab['content'].'</div></div></div>';
12 $i++;
13 }
14 $return = "\n".'<div class="panel-group" id="accordionname'.$random.'">'.implode( "\n", $tabs ).'</div>'."\n";
15 }
16 return $return;
17 }
18
19 function kad_accordion_pane_function($atts, $content ) {
20 extract(shortcode_atts(array(
21 'title' => 'Pane %d',
22 'start' => ''
23 ), $atts));
24 if ($start != '') {$open = '';} else {$open = 'collapsed';}
25 if ($start != '') {$in = 'in';} else {$in = '';}
26
27 $x = $GLOBALS['pane_count'];
28 $GLOBALS['panes'][$x] = array( 'title' => $title, 'open' => $open, 'in' => $in, 'link' => $GLOBALS['pane_count'], 'content' => do_shortcode( $content ) );
29
30 $GLOBALS['pane_count']++;
31 }
32 function kad_tab_shortcode_function($atts, $content ) {
33 $GLOBALS['tab_count'] = 0;
34 do_shortcode( $content );
35 $random = rand(1, 99);
36 if( is_array( $GLOBALS['tabs'] ) ){
37
38 foreach( $GLOBALS['tabs'] as $nav ){
39 $tabnav[] = '<li class="'.$nav['active'].'"><a href="#sctab'.$random.$nav['link'].'">'.$nav['title'].'</a></li>';
40 }
41
42 foreach( $GLOBALS['tabs'] as $tab ){
43 $tabs[] = '<div class="tab-pane clearfix '.$tab['active'].'" id="sctab'.$random.$tab['link'].'">'.$tab['content'].'</div>';
44 }
45
46 $return = "\n".'<ul class="nav nav-tabs sc_tabs">'.implode( "\n", $tabnav ).'</ul> <div class="tab-content postclass">'.implode( "\n", $tabs ).'</div>'."\n";
47 }
48 return $return;
49 }
50 function kad_tab_pane_function($atts, $content ) {
51 extract(shortcode_atts(array(
52 'title' => 'Tab %d',
53 'start' => ''
54 ), $atts));
55 if ($start != '') {$active = 'active';} else {$active = '';}
56
57 $x = $GLOBALS['tab_count'];
58 $GLOBALS['tabs'][$x] = array( 'title' => $title, 'active' => $active, 'link' => $GLOBALS['tab_count'], 'content' => do_shortcode( $content ) );
59
60 $GLOBALS['tab_count']++;
61 }
62
63 //Shortcode for columns
64 function kad_column_shortcode_function( $atts, $content ) {
65 return '<div class="row">'.do_shortcode($content).'</div>';
66 }
67 function kad_hcolumn_shortcode_function( $atts, $content ) {
68 return '<div class="row">'.do_shortcode($content).'</div>';
69 }
70 function kad_column11_function( $atts, $content ) {
71 return '<div class="col-md-11">'.do_shortcode($content).'</div>';
72 }
73 function kad_column10_function( $atts, $content ) {
74 return '<div class="col-md-10">'.do_shortcode($content).'</div>';
75 }
76 function kad_column9_function( $atts, $content ) {
77 return '<div class="col-md-9">'.do_shortcode($content).'</div>';
78 }
79 function kad_column8_function( $atts, $content ) {
80 return '<div class="col-md-8">'.do_shortcode($content).'</div>';
81 }
82 function kad_column7_function( $atts, $content ) {
83 return '<div class="col-md-7">'.do_shortcode($content).'</div>';
84 }
85 function kad_column6_function( $atts, $content ) {
86 return '<div class="col-md-6">'.do_shortcode($content).'</div>';
87 }
88 function kad_column5_function( $atts, $content ) {
89 return '<div class="col-md-5">'.do_shortcode($content).'</div>';
90 }
91 function kad_column4_function( $atts, $content ) {
92 return '<div class="col-md-4">'.do_shortcode($content).'</div>';
93 }
94 function kad_column3_function( $atts, $content ) {
95 return '<div class="col-md-3">'.do_shortcode($content).'</div>';
96 }
97 function kad_column2_function( $atts, $content ) {
98 return '<div class="col-md-2">'.do_shortcode($content).'</div>';
99 }
100 function kad_column1_function( $atts, $content ) {
101 return '<div class="col-md-1">'.do_shortcode($content).'</div>';
102 }
103 //Shortcode for Icons
104 function kad_icon_shortcode_function( $atts) {
105 extract(shortcode_atts(array(
106 'icon' => '',
107 'size' => '',
108 'color' => '',
109 'float'=> ''
110 ), $atts));
111 if ($float != '') $output = '<i class="'.$icon.'" style="font-size:'.$size.'; color:'.$color.'; float:'.$float.'; padding:10px;"></i>';
112 else $output = '<i class="'.$icon.'" style="font-size:'.$size.'; color:'.$color.';"></i>';
113 return $output;
114 }
115 // Video Shortcode
116 function kad_video_shortcode_function( $atts, $content) {
117 extract(shortcode_atts(array(
118 'width' => '',
119 ), $atts));
120 if($width != '') { $output = '<div style="max-width:'.$width.'px;"><div class="videofit">'.$content.'</div></div>';}
121 else { $output = '<div class="videofit">'.$content.'</div>'; }
122 return $output;
123 }
124 // Based on Ultimate Shortcodes youtube and vimeo shortcodes
125 function kad_youtube_shortcode_function( $atts, $content) {
126 // Prepare data
127 $return = array();
128 $params = array();
129 $atts = shortcode_atts(array(
130 'url' => false,
131 'width' => 600,
132 'height' => 400,
133 'maxwidth' => '',
134 'autoplay' => 'false',
135 'controls' => 'true',
136 'hidecontrols' => 'false',
137 'fs' => 'true',
138 'modestbranding' => 'false',
139 'theme' => 'dark'
140 ), $atts, 'kad_youtube' );
141
142 if ( !$atts['url'] ) return '<p class="error">YouTube: ' . __( 'please specify correct url', 'virtue' ) . '</p>';
143 $id = ( preg_match( '%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $atts['url'], $match ) ) ? $match[1] : false;
144 // Check that url is specified
145 if ( !$id ) return '<p class="error">YouTube: ' . __( 'please specify correct url', 'virtue' ) . '</p>';
146 // Prepare params
147 if($atts['hidecontrols'] == 'true') {$atts['controls'] = 'false';}
148 foreach ( array('autoplay', 'controls', 'fs', 'modestbranding', 'theme' ) as $param ) $params[$param] = str_replace( array( 'false', 'true', 'alt' ), array( '0', '1', '2' ), $atts[$param] );
149 // Prepare player parameters
150 $params = http_build_query( $params );
151 if($atts['maxwidth']) {$maxwidth = 'style="max-width:'.$atts['maxwidth'].'px;"';} else{ $maxwidth = '';}
152 // Create player
153 $return[] = '<div class="kad-youtube-shortcode videofit" '.$maxwidth.' >';
154 $return[] = '<iframe width="' . $atts['width'] . '" height="' . $atts['height'] . '" src="http://www.youtube.com/embed/' . $id . '?' . $params . '" frameborder="0" allowfullscreen="true"></iframe>';
155 $return[] = '</div>';
156 // Return result
157 return implode( '', $return );
158 }
159 function kad_vimeo_shortcode_function( $atts, $content) {
160 $return = array();
161 $atts = shortcode_atts( array(
162 'url' => false,
163 'width' => 600,
164 'height' => 400,
165 'maxwidth' => '',
166 'autoplay' => 'no'
167 ), $atts, 'vimeo' );
168 if ( !$atts['url'] ) return '<p class="error">Vimeo: ' . __( 'please specify correct url', 'virtue' ) . '</p>';
169 $id = ( preg_match( '~(?:<iframe [^>]*src=")?(?:https?:\/\/(?:[\w]+\.)*vimeo\.com(?:[\/\w]*\/videos?)?\/([0-9]+)[^\s]*)"?(?:[^>]*></iframe>)?(?:<p>.*</p>)?~ix', $atts['url'], $match ) ) ? $match[1] : false;
170 // Check that url is specified
171 if ( !$id ) return '<p class="error">Vimeo: ' . __( 'please specify correct url', 'virtue' ) . '</p>';
172
173 if($atts['maxwidth']) {$maxwidth = 'style="max-width:'.$atts['maxwidth'].'px;"';} else{ $maxwidth = '';}
174 $autoplay = ( $atts['autoplay'] === 'yes' ) ? '&amp;autoplay=1' : '';
175 // Create player
176 $return[] = '<div class="kad-vimeo-shortcode videofit '.$maxwidth.'">';
177 $return[] = '<iframe width="' . $atts['width'] . '" height="' . $atts['height'] .
178 '" src="http://player.vimeo.com/video/' . $id . '?title=0&amp;byline=0&amp;portrait=0&amp;color=ffffff' .
179 $autoplay . '" frameborder="0" allowfullscreen="true"></iframe>';
180 $return[] = '</div>';
181 // Return result
182 return implode( '', $return );
183 }
184 //Button
185 function kad_button_shortcode_function( $atts) {
186 extract(shortcode_atts(array(
187 'id' => rand(1, 99),
188 'bcolor' => '',
189 'bhovercolor' => '',
190 'thovercolor' => '',
191 'link' => '',
192 'text' => '',
193 'target' => '_self',
194 'tcolor' => '',
195 ), $atts));
196 $output = '<a href="'.$link.'" class="kad-btn kad-btn-primary" id="kadbtn'.$id.'" target="'.$target.'" style="background-color:'.$bcolor.'; color:'.$tcolor.'">'.$text.'</a>';
197 $output .= '<style type="text/css" media="screen">#kadbtn'.$id.':hover {background:'.$bhovercolor.' !important; color:'.$thovercolor.' !important;} </style>';
198 return $output;
199 }
200 function kad_blockquote_shortcode_function( $atts, $content) {
201 extract(shortcode_atts(array(
202 'align' => 'center',
203 ), $atts));
204 switch ($align)
205 {
206 case "center":
207 $output = '<div class="blockquote-full postclass clearfix">' . do_shortcode($content) . '</div>';
208 break;
209
210 case "left":
211 $output = '<div class="blockquote-left postclass clearfix">' . do_shortcode($content) . '</div>';
212 break;
213
214 case "right":
215 $output = '<div class="blockquote-right postclass clearfix">' . do_shortcode($content) . '</div>';
216 break;
217 }
218 return $output;
219 }
220 function kad_pullquote_shortcode_function( $atts, $content) {
221 extract( shortcode_atts( array(
222 'align' => 'center'
223 ), $atts ));
224
225 switch ($align)
226 {
227 case "center":
228 $output = '<div class="pullquote-center">' . do_shortcode($content) . '</div>';
229 break;
230
231 case "right":
232 $output = '<div class="pullquote-right">' . do_shortcode($content) . '</div>';
233 break;
234
235 case "left":
236 $output = '<div class="pullquote-left">' . do_shortcode($content) . '</div>';
237 break;
238 }
239
240 return $output;
241 }
242 function kad_hrule_function( ) {
243 return '<div class="hrule clearfix"></div>';
244 }
245 function kad_hrpadding10_function( ) {
246 return '<div class="space_20 clearfix"></div>';
247 }
248 function kad_hrpadding20_function( ) {
249 return '<div class="space_40 clearfix"></div>';
250 }
251 function kad_hrpadding40_function( ) {
252 return '<div class="space_80 clearfix"></div>';
253 }
254 function kad_clearfix_function( ) {
255 return '<div class="clearfix"></div>';
256 }
257 function kad_columnhelper_function( ) {
258 return '';
259 }
260 function virtuetoolkit_register_shortcodes(){
261 add_shortcode('accordion', 'kad_accordion_shortcode_function');
262 add_shortcode('pane', 'kad_accordion_pane_function');
263 add_shortcode('tabs', 'kad_tab_shortcode_function');
264 add_shortcode('tab', 'kad_tab_pane_function');
265 add_shortcode('columns', 'kad_column_shortcode_function');
266 add_shortcode('hcolumns', 'kad_hcolumn_shortcode_function');
267 add_shortcode('span11', 'kad_column11_function');
268 add_shortcode('span10', 'kad_column10_function');
269 add_shortcode('span9', 'kad_column9_function');
270 add_shortcode('span8', 'kad_column8_function');
271 add_shortcode('span7', 'kad_column7_function');
272 add_shortcode('span6', 'kad_column6_function');
273 add_shortcode('span5', 'kad_column5_function');
274 add_shortcode('span4', 'kad_column4_function');
275 add_shortcode('span3', 'kad_column3_function');
276 add_shortcode('span2', 'kad_column2_function');
277 add_shortcode('span1', 'kad_column1_function');
278 add_shortcode('columnhelper', 'kad_columnhelper_function');
279 add_shortcode('icon', 'kad_icon_shortcode_function');
280 add_shortcode('pullquote', 'kad_pullquote_shortcode_function');
281 add_shortcode('blockquote', 'kad_blockquote_shortcode_function');
282 add_shortcode('btn', 'kad_button_shortcode_function');
283 add_shortcode('hr', 'kad_hrule_function');
284 add_shortcode('space_20', 'kad_hrpadding10_function');
285 add_shortcode('space_40', 'kad_hrpadding20_function');
286 add_shortcode('space_80', 'kad_hrpadding40_function');
287 add_shortcode('kad_youtube', 'kad_youtube_shortcode_function');
288 add_shortcode('kad_vimeo', 'kad_vimeo_shortcode_function');
289 add_shortcode('clear', 'kad_clearfix_function');
290 }
291 add_action( 'init', 'virtuetoolkit_register_shortcodes');
292
293
294 function virtue_register_button( $buttons ) {
295 array_push( $buttons, "|", "kadcolumns" );
296 array_push( $buttons, "|", "kaddivider" );
297 array_push( $buttons, "|", "kadaccordion" );
298 array_push( $buttons, "|", "kadquote" );
299 array_push( $buttons, "|", "kadbtn" );
300 array_push( $buttons, "|", "kadicon" );
301 array_push( $buttons, "|", "kadyoutube" );
302 array_push( $buttons, "|", "kadvimeo" );
303 return $buttons;
304 }
305 function virtue_add_plugin( $plugin_array ) {
306 $plugin_array['kadcolumns'] = VIRTUE_TOOLKIT_URL . '/shortcodes/columns/columns_shortgen.js';
307 $plugin_array['kadicon'] = VIRTUE_TOOLKIT_URL . '/shortcodes/icons/icon_shortgen.js';
308 $plugin_array['kadaccordion'] = VIRTUE_TOOLKIT_URL . '/shortcodes/accordion/accordion_shortgen.js';
309 $plugin_array['kadyoutube'] = VIRTUE_TOOLKIT_URL . '/shortcodes/youtube/youtube_shortgen.js';
310 $plugin_array['kadvimeo'] = VIRTUE_TOOLKIT_URL . '/shortcodes/vimeo/vimeo_shortgen.js';
311 $plugin_array['kadquote'] = VIRTUE_TOOLKIT_URL . '/shortcodes/pullquote/quote_shortgen.js';
312 $plugin_array['kadbtn'] = VIRTUE_TOOLKIT_URL . '/shortcodes/btns/btns_shortgen.js';
313 $plugin_array['kaddivider'] = VIRTUE_TOOLKIT_URL . '/shortcodes/divider/divider_shortgen.js';
314 return $plugin_array;
315 }
316 function virtue_tinymce_shortcode_button() {
317
318 if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
319 return;
320 }
321
322 if ( get_user_option('rich_editing') == 'true' ) {
323 add_filter( 'mce_external_plugins', 'virtue_add_plugin' );
324 add_filter( 'mce_buttons_3', 'virtue_register_button' );
325 }
326
327 }
328 add_action('init', 'virtue_tinymce_shortcode_button');
329