PluginProbe
Virtue/Ascend/Pinnacle Toolkit / 4.9.12.2
Virtue/Ascend/Pinnacle Toolkit v4.9.12.2
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
← All changes | shortcodes.php +255 -159 1.7 → 4.9.12.2 View file →
@@ -1,132 +1,162 @@
1 1 <?php
2 2 //Shortcode for accordion
3 -function kad_accordion_shortcode_function($atts, $content ) {
4 - $GLOBALS['pane_count'] = 0;
3 +function virtue_toolkit_accordion_shortcode_function($atts, $content ) {
4 + extract(shortcode_atts(array(
5 + 'id' => rand(1, 999)
6 +), $atts));
7 + global $kt_pane_count, $kt_panes;
8 + $kt_pane_count = 0;
9 + $kt_panes = array();
10 + $return = '';
5 11 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 -}
12 + if( is_array( $kt_panes ) && !empty($kt_panes)){
13 + $i = 0;
14 + foreach( $kt_panes as $tab ){
15 + if ($i % 2 == 0) {
16 + $eo = "even";
17 + } else {
18 + $eo = "odd";
19 + }
20 + $tabs[] = '<div class="panel panel-default panel-'.esc_attr($eo).'"><div class="panel-heading"><a class="accordion-toggle '.esc_attr($tab['open']).'" data-toggle="collapse" data-parent="#accordionname'.esc_attr($id).'" href="#collapse'.esc_attr($id.$tab['link']).'"><h5><i class="icon-minus kt-icon-minus primary-color"></i><i class="icon-plus kt-icon-plus"></i>'.wp_kses_post($tab['title']).'</h5></a></div><div id="collapse'.esc_attr($id.$tab['link']).'" class="panel-collapse collapse '.esc_attr($tab['in']).'"><div class="panel-body postclass">'.do_shortcode($tab['content']).'</div></div></div>';
21 + $i++;
22 + }
23 + $return = "\n".'<div class="panel-group kt-accordion" id="accordionname'.esc_attr($id).'">'.implode( "\n", $tabs ).'</div>'."\n";
24 + }
16 25 return $return;
17 26 }
18 27
19 -function kad_accordion_pane_function($atts, $content ) {
28 +function virtue_toolkit_accordion_pane_function($atts, $content ) {
20 29 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 = '';}
30 + 'title' => 'Pane %d',
31 + 'start' => ''
32 + ), $atts));
33 + if (!empty($start) || $start == 'closed') {
34 + $open = '';
35 + } else {
36 + $open = 'collapsed';
37 + }
38 + if (!empty($start) || $start == 'closed') {
39 + $in = 'in';
40 + } else {
41 + $in = '';
42 + }
43 + global $kt_pane_count, $kt_panes;
44 + $x = $kt_pane_count;
45 + $kt_panes[$x] = array( 'title' => $title, 'open' => $open, 'in' => $in, 'link' => $kt_pane_count, 'content' => $content );
26 46
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']++;
47 + $kt_pane_count++;
31 48 }
32 -function kad_tab_shortcode_function($atts, $content ) {
33 - $GLOBALS['tab_count'] = 0;
49 +function virtue_toolkit_tab_shortcode_function($atts, $content ) {
50 + extract(shortcode_atts(array(
51 + 'id' => rand(1, 9999),
52 + 'style' => '1',
53 + ), $atts));
54 + global $kt_tab_count, $kt_tabs;
55 + $kt_tab_count = 0;
56 + $kt_tabs = array();
57 + $return = '';
34 58 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>';
59 + if( is_array( $kt_tabs ) && !empty($kt_tabs)) {
60 + foreach( $kt_tabs as $nav ){
61 + $tabnav[] = '<li class="'.esc_attr($nav['active']).'"><a href="#sctab'.esc_attr($id.$nav['link']).'">'.wp_kses_post($nav['title']).'</a></li>';
62 + }
63 + foreach( $kt_tabs as $tab ){
64 + $tabs[] = '<div class="tab-pane clearfix '.esc_attr($tab['active']).'" id="sctab'.esc_attr($id.$tab['link']).'">'.do_shortcode( $tab['content']).'</div>';
65 + }
66 +
67 + $return = "\n".'<ul class="nav nav-tabs sc_tabs kt-tabs kt-sc-tabs kt-tabs-style'.esc_attr($style).'">'.implode( "\n", $tabnav ).'</ul> <div class="tab-content kt-tab-content postclass">'.implode( "\n", $tabs ).'</div>'."\n";
40 68 }
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";
69 + return $return;
47 70 }
48 -return $return;
49 -}
50 -function kad_tab_pane_function($atts, $content ) {
71 +function virtue_toolkit_tab_pane_function($atts, $content ) {
51 72 extract(shortcode_atts(array(
52 -'title' => 'Tab %d',
53 -'start' => ''
54 -), $atts));
55 -if ($start != '') {$active = 'active';} else {$active = '';}
73 + 'title' => 'Tab %d',
74 + 'start' => ''
75 + ), $atts));
76 + if (!empty($start)) {
77 + $active = 'active';
78 + } else {
79 + $active = '';
80 + }
81 + global $kt_tab_count, $kt_tabs;
56 82
57 -$x = $GLOBALS['tab_count'];
58 -$GLOBALS['tabs'][$x] = array( 'title' => $title, 'active' => $active, 'link' => $GLOBALS['tab_count'], 'content' => do_shortcode( $content ) );
83 + $x = $kt_tab_count;
84 + $kt_tabs[$x] = array( 'title' => $title, 'active' => $active, 'link' => $kt_tab_count, 'content' => $content );
59 85
60 -$GLOBALS['tab_count']++;
86 + $kt_tab_count++;
61 87 }
62 88
63 89 //Shortcode for columns
64 -function kad_column_shortcode_function( $atts, $content ) {
90 +function virtue_toolkit_column_shortcode_function( $atts, $content ) {
65 91 return '<div class="row">'.do_shortcode($content).'</div>';
66 92 }
67 -function kad_hcolumn_shortcode_function( $atts, $content ) {
93 +function virtue_toolkit_hcolumn_shortcode_function( $atts, $content ) {
68 94 return '<div class="row">'.do_shortcode($content).'</div>';
69 95 }
70 -function kad_column11_function( $atts, $content ) {
96 +function virtue_toolkit_column11_function( $atts, $content ) {
71 97 return '<div class="col-md-11">'.do_shortcode($content).'</div>';
72 98 }
73 -function kad_column10_function( $atts, $content ) {
99 +function virtue_toolkit_column10_function( $atts, $content ) {
74 100 return '<div class="col-md-10">'.do_shortcode($content).'</div>';
75 101 }
76 -function kad_column9_function( $atts, $content ) {
102 +function virtue_toolkit_column9_function( $atts, $content ) {
77 103 return '<div class="col-md-9">'.do_shortcode($content).'</div>';
78 104 }
79 -function kad_column8_function( $atts, $content ) {
105 +function virtue_toolkit_column8_function( $atts, $content ) {
80 106 return '<div class="col-md-8">'.do_shortcode($content).'</div>';
81 107 }
82 -function kad_column7_function( $atts, $content ) {
108 +function virtue_toolkit_column7_function( $atts, $content ) {
83 109 return '<div class="col-md-7">'.do_shortcode($content).'</div>';
84 110 }
85 -function kad_column6_function( $atts, $content ) {
111 +function virtue_toolkit_column6_function( $atts, $content ) {
86 112 return '<div class="col-md-6">'.do_shortcode($content).'</div>';
87 113 }
88 -function kad_column5_function( $atts, $content ) {
114 +function virtue_toolkit_column5_function( $atts, $content ) {
89 115 return '<div class="col-md-5">'.do_shortcode($content).'</div>';
90 116 }
91 -function kad_column4_function( $atts, $content ) {
117 +function virtue_toolkit_column4_function( $atts, $content ) {
92 118 return '<div class="col-md-4">'.do_shortcode($content).'</div>';
93 119 }
94 -function kad_column3_function( $atts, $content ) {
120 +function virtue_toolkit_column3_function( $atts, $content ) {
95 121 return '<div class="col-md-3">'.do_shortcode($content).'</div>';
96 122 }
97 -function kad_column2_function( $atts, $content ) {
123 +function virtue_toolkit_column2_function( $atts, $content ) {
98 124 return '<div class="col-md-2">'.do_shortcode($content).'</div>';
99 125 }
100 -function kad_column1_function( $atts, $content ) {
126 +function virtue_toolkit_column1_function( $atts, $content ) {
101 127 return '<div class="col-md-1">'.do_shortcode($content).'</div>';
102 128 }
103 129 //Shortcode for Icons
104 -function kad_icon_shortcode_function( $atts) {
130 +function virtue_toolkit_icon_shortcode_function( $atts) {
105 131 extract(shortcode_atts(array(
106 132 'icon' => '',
107 133 'size' => '',
108 134 'color' => '',
109 135 '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>';
136 + ), $atts));
137 + if ($float != '') {
138 + $output = '<i class="'.esc_attr($icon).'" style="font-size:'.esc_attr($size).'; color:'.esc_attr($color).'; float:'.esc_attr($float).'; padding:10px;"></i>';
139 + } else {
140 + $output = '<i class="'.esc_attr($icon).'" style="font-size:'.esc_attr($size).'; color:'.esc_attr($color).';"></i>';
141 + }
113 142 return $output;
114 143 }
115 144 // Video Shortcode
116 -function kad_video_shortcode_function( $atts, $content) {
145 +function virtue_toolkit_video_shortcode_function( $atts, $content) {
117 146 extract(shortcode_atts(array(
118 147 'width' => '',
119 148 ), $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>'; }
149 + if(!empty($width)) {
150 + $output = '<div style="max-width:'.esc_attr($width).'px;"><div class="videofit">'.wp_kses_post($content).'</div></div>';
151 + } else {
152 + $output = '<div class="videofit">'.wp_kses_post($content).'</div>';
153 + }
122 154 return $output;
123 155 }
124 156 // Based on Ultimate Shortcodes youtube and vimeo shortcodes
125 -function kad_youtube_shortcode_function( $atts, $content) {
157 +function virtue_toolkit_youtube_shortcode_function( $atts, $content) {
126 158 // Prepare data
127 - $return = array();
128 - $params = array();
129 159 $atts = shortcode_atts(array(
130 160 'url' => false,
131 161 'width' => 600,
132 162 'height' => 400,
@@ -134,65 +164,103 @@
134 164 'autoplay' => 'false',
135 165 'controls' => 'true',
136 166 'hidecontrols' => 'false',
137 167 'fs' => 'true',
168 + 'loop' => 'false',
169 + 'rel' => 'false',
170 + 'vq' => '',
138 171 'modestbranding' => 'false',
139 172 'theme' => 'dark'
140 173 ), $atts, 'kad_youtube' );
174 + $return = array();
175 + $params = array();
141 176
142 - if ( !$atts['url'] ) return '<p class="error">YouTube: ' . __( 'please specify correct url', 'virtue' ) . '</p>';
177 + if ( !$atts['url'] ){
178 + return '<p class="error">YouTube: ' . __( 'please specify correct url', 'virtue-toolkit' ) . '</p>';
179 + }
143 180 $id = ( preg_match( '%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $atts['url'], $match ) ) ? $match[1] : false;
144 181 // Check that url is specified
145 - if ( !$id ) return '<p class="error">YouTube: ' . __( 'please specify correct url', 'virtue' ) . '</p>';
182 + if ( !$id ) {
183 + return '<p class="error">YouTube: ' . __( 'please specify correct url', 'virtue-toolkit' ) . '</p>';
184 + }
146 185 // Prepare params
147 186 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] );
187 + foreach ( array('autoplay', 'controls', 'fs', 'modestbranding', 'theme', 'rel', 'loop' ) as $param ) $params[$param] = str_replace( array( 'false', 'true', 'alt' ), array( '0', '1', '2' ), $atts[$param] );
149 188 // Prepare player parameters
189 + if(!empty($atts['vq']) ) {$params['vq'] = $atts['vq']; }
150 190 $params = http_build_query( $params );
151 - if($atts['maxwidth']) {$maxwidth = 'style="max-width:'.$atts['maxwidth'].'px;"';} else{ $maxwidth = '';}
191 + $maxwidth = absint( $atts['maxwidth'] );
192 + $style = $maxwidth ? ' style="max-width:' . $maxwidth . 'px;"' : '';
152 193 // 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>';
194 + $return[] = '<div class="kad-youtube-shortcode videofit"' . $style . '>';
195 + $return[] = '<iframe width="' . esc_attr($atts['width']) . '" height="' . esc_attr($atts['height']) . '" src="//www.youtube.com/embed/' . esc_attr($id) . '?' . esc_attr($params) . '" frameborder="0" allowfullscreen="true"></iframe>';
155 196 $return[] = '</div>';
156 197 // Return result
157 198 return implode( '', $return );
158 199 }
159 -function kad_vimeo_shortcode_function( $atts, $content) {
160 - $return = array();
200 +function virtue_toolkit_vimeo_shortcode_function( $atts, $content) {
161 201 $atts = shortcode_atts( array(
162 202 'url' => false,
163 203 'width' => 600,
164 204 'height' => 400,
165 - 'maxwidth' => '',
205 + 'maxwidth' => '',
166 206 'autoplay' => 'no'
167 207 ), $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>';
208 +
209 + if ( !$atts['url'] ){
210 + return '<p class="error">Vimeo: ' . __( 'please specify correct url', 'virtue-toolkit' ) . '</p>';
211 + }
212 + $id = ( preg_match( '~(?:<iframe [^>]*src=")?(?:https?:\/\/(?:[\w]+\.)*vimeo\.com(?:[\/\w]*\/videos?)?\/([0-9]+)[^\s]*)"?(?:[^>]*></iframe>)?(?:<p>.*</p>)?~ix', $atts['url'], $match ) ) ? $match[1] : false;
213 + // Check that url is specified
214 + if ( !$id ) {
215 + return '<p class="error">Vimeo: ' . __( 'please specify correct url', 'virtue-toolkit' ) . '</p>';
216 + }
217 + $return = array();
218 + $maxwidth = absint( $atts['maxwidth'] );
219 + $style = $maxwidth ? ' style="max-width:' . $maxwidth . 'px;"' : '';
220 + $autoplay = ( $atts['autoplay'] === 'yes' ) ? '&amp;autoplay=1' : '';
221 + // Create player
222 + $return[] = '<div class="kad-vimeo-shortcode videofit"' . $style . '>';
223 + $return[] = '<iframe width="' . esc_attr($atts['width']) . '" height="' . esc_attr($atts['height']) .'" src="//player.vimeo.com/video/' . esc_attr($id) . '?title=0&amp;byline=0&amp;portrait=0&amp;color=ffffff' .esc_attr($autoplay) . '" frameborder="0" allowfullscreen="true"></iframe>';
224 + $return[] = '</div>';
172 225
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
226 + // Return result
182 227 return implode( '', $return );
183 228 }
184 229 //Button
185 -function kad_button_shortcode_function( $atts) {
230 +function virtue_toolkit_button_shortcode_function( $atts) {
186 231 extract(shortcode_atts(array(
232 + 'id' => rand(1, 999),
187 233 'bcolor' => '',
234 + 'bhovercolor' => '',
235 + 'thovercolor' => '',
188 236 'link' => '',
189 237 'text' => '',
238 + 'target' => '_self',
190 239 'tcolor' => '',
191 240 ), $atts));
192 - return '<a href="'.$link.'" class="kad-btn kad-btn-primary" style="background-color:'.$bcolor.'; color:'.$tcolor.'">'.$text.'</a>';
241 + // Colors come from the button UI as hex values; keep only valid hex.
242 + $bcolor = (string) sanitize_hex_color( $bcolor );
243 + $bhovercolor = (string) sanitize_hex_color( $bhovercolor );
244 + $tcolor = (string) sanitize_hex_color( $tcolor );
245 + $thovercolor = (string) sanitize_hex_color( $thovercolor );
246 + $output = '<a href="'.esc_url($link).'" class="btn button btn-shortcode kad-btn kad-btn-primary" id="kadbtn'.esc_attr($id).'" target="'.esc_attr($target).'" style="';
247 + if(!empty($bcolor)) {
248 + $output .= 'background-color:'.esc_attr($bcolor).';';
249 + }
250 + if(!empty($tcolor)) {
251 + $output .= 'color:'.esc_attr($tcolor).';';
252 + }
253 + $output .= '"';
254 + if($thovercolor == $tcolor) {$thovercolor = null;}
255 + if(!empty($bhovercolor) || !empty($thovercolor)) {
256 + $output .= 'onMouseOver="this.style.background=\''.esc_attr($bhovercolor).'\',this.style.color=\''.esc_attr($thovercolor).'\'" onMouseOut="this.style.background=\''.esc_attr($bcolor).'\', this.style.color=\''.esc_attr($tcolor).'\'"';
257 + }
258 + $output .= '>'.wp_kses_post($text).'</a>';
259 +
260 + return $output;
193 261 }
194 -function kad_blockquote_shortcode_function( $atts, $content) {
262 +function virtue_toolkit_blockquote_shortcode_function( $atts, $content) {
195 263 extract(shortcode_atts(array(
196 264 'align' => 'center',
197 265 ), $atts));
198 266 switch ($align)
@@ -197,22 +265,22 @@
197 265 ), $atts));
198 266 switch ($align)
199 267 {
200 268 case "center":
201 - $output = '<div class="blockquote-full postclass clearfix">' . do_shortcode($content) . '</div>';
269 + $output = '<div class="blockquote blockquote-full postclass clearfix">' . do_shortcode(wp_kses_post($content)) . '</div>';
202 270 break;
203 271
204 272 case "left":
205 - $output = '<div class="blockquote-left postclass clearfix">' . do_shortcode($content) . '</div>';
273 + $output = '<div class="blockquote blockquote-left postclass clearfix">' . do_shortcode(wp_kses_post($content)) . '</div>';
206 274 break;
207 275
208 276 case "right":
209 - $output = '<div class="blockquote-right postclass clearfix">' . do_shortcode($content) . '</div>';
277 + $output = '<div class="blockquote blockquote-right postclass clearfix">' . do_shortcode(wp_kses_post($content)) . '</div>';
210 278 break;
211 279 }
212 280 return $output;
213 281 }
214 -function kad_pullquote_shortcode_function( $atts, $content) {
282 +function virtue_toolkit_pullquote_shortcode_function( $atts, $content) {
215 283 extract( shortcode_atts( array(
216 284 'align' => 'center'
217 285 ), $atts ));
218 286
@@ -218,91 +286,95 @@
218 286
219 287 switch ($align)
220 288 {
221 289 case "center":
222 - $output = '<div class="pullquote-center">' . do_shortcode($content) . '</div>';
290 + $output = '<div class="pullquote pullquote-center">' . do_shortcode(wp_kses_post($content)) . '</div>';
223 291 break;
224 292
225 293 case "right":
226 - $output = '<div class="pullquote-right">' . do_shortcode($content) . '</div>';
294 + $output = '<div class="pullquote pullquote-right">' . do_shortcode(wp_kses_post($content)) . '</div>';
227 295 break;
228 296
229 297 case "left":
230 - $output = '<div class="pullquote-left">' . do_shortcode($content) . '</div>';
298 + $output = '<div class="pullquote pullquote-left">' . do_shortcode(wp_kses_post($content)) . '</div>';
231 299 break;
232 300 }
233 301
234 302 return $output;
235 303 }
236 -function kad_hrule_function( ) {
304 +function virtue_toolkit_hrule_function( ) {
237 305 return '<div class="hrule clearfix"></div>';
238 306 }
239 -function kad_hrpadding10_function( ) {
307 +function virtue_toolkit_hrpadding10_function( ) {
240 308 return '<div class="space_20 clearfix"></div>';
241 309 }
242 -function kad_hrpadding20_function( ) {
310 +function virtue_toolkit_hrpadding20_function( ) {
243 311 return '<div class="space_40 clearfix"></div>';
244 312 }
245 -function kad_hrpadding40_function( ) {
313 +function virtue_toolkit_hrpadding40_function( ) {
246 314 return '<div class="space_80 clearfix"></div>';
247 315 }
248 -function kad_clearfix_function( ) {
316 +function virtue_toolkit_clearfix_function( ) {
249 317 return '<div class="clearfix"></div>';
250 318 }
251 -function kad_columnhelper_function( ) {
319 +function virtue_toolkit_columnhelper_function( ) {
252 320 return '';
253 321 }
254 -function virtuetoolkit_register_shortcodes(){
255 - add_shortcode('accordion', 'kad_accordion_shortcode_function');
256 - add_shortcode('pane', 'kad_accordion_pane_function');
257 - add_shortcode('tabs', 'kad_tab_shortcode_function');
258 - add_shortcode('tab', 'kad_tab_pane_function');
259 - add_shortcode('columns', 'kad_column_shortcode_function');
260 - add_shortcode('hcolumns', 'kad_hcolumn_shortcode_function');
261 - add_shortcode('span11', 'kad_column11_function');
262 - add_shortcode('span10', 'kad_column10_function');
263 - add_shortcode('span9', 'kad_column9_function');
264 - add_shortcode('span8', 'kad_column8_function');
265 - add_shortcode('span7', 'kad_column7_function');
266 - add_shortcode('span6', 'kad_column6_function');
267 - add_shortcode('span5', 'kad_column5_function');
268 - add_shortcode('span4', 'kad_column4_function');
269 - add_shortcode('span3', 'kad_column3_function');
270 - add_shortcode('span2', 'kad_column2_function');
271 - add_shortcode('span1', 'kad_column1_function');
272 - add_shortcode('columnhelper', 'kad_columnhelper_function');
273 - add_shortcode('icon', 'kad_icon_shortcode_function');
274 - add_shortcode('video', 'kad_video_shortcode_function');
275 - add_shortcode('pullquote', 'kad_pullquote_shortcode_function');
276 - add_shortcode('blockquote', 'kad_blockquote_shortcode_function');
277 - add_shortcode('btn', 'kad_button_shortcode_function');
278 - add_shortcode('hr', 'kad_hrule_function');
279 - add_shortcode('space_20', 'kad_hrpadding10_function');
280 - add_shortcode('space_40', 'kad_hrpadding20_function');
281 - add_shortcode('space_80', 'kad_hrpadding40_function');
282 - add_shortcode('kad_youtube', 'kad_youtube_shortcode_function');
283 - add_shortcode('kad_vimeo', 'kad_vimeo_shortcode_function');
284 - add_shortcode('clear', 'kad_clearfix_function');
322 +function virtue_toolkit_register_shortcodes(){
323 + add_shortcode('accordion', 'virtue_toolkit_accordion_shortcode_function');
324 + add_shortcode('pane', 'virtue_toolkit_accordion_pane_function');
325 + add_shortcode('tabs', 'virtue_toolkit_tab_shortcode_function');
326 + add_shortcode('tab', 'virtue_toolkit_tab_pane_function');
327 + add_shortcode('columns', 'virtue_toolkit_column_shortcode_function');
328 + add_shortcode('hcolumns', 'virtue_toolkit_hcolumn_shortcode_function');
329 + add_shortcode('span11', 'virtue_toolkit_column11_function');
330 + add_shortcode('span10', 'virtue_toolkit_column10_function');
331 + add_shortcode('span9', 'virtue_toolkit_column9_function');
332 + add_shortcode('span8', 'virtue_toolkit_column8_function');
333 + add_shortcode('span7', 'virtue_toolkit_column7_function');
334 + add_shortcode('span6', 'virtue_toolkit_column6_function');
335 + add_shortcode('span5', 'virtue_toolkit_column5_function');
336 + add_shortcode('span4', 'virtue_toolkit_column4_function');
337 + add_shortcode('span3', 'virtue_toolkit_column3_function');
338 + add_shortcode('span2', 'virtue_toolkit_column2_function');
339 + add_shortcode('span1', 'virtue_toolkit_column1_function');
340 + add_shortcode('columnhelper', 'virtue_toolkit_columnhelper_function');
341 + add_shortcode('icon', 'virtue_toolkit_icon_shortcode_function');
342 + add_shortcode('pullquote', 'virtue_toolkit_pullquote_shortcode_function');
343 + add_shortcode('blockquote', 'virtue_toolkit_blockquote_shortcode_function');
344 + add_shortcode('btn', 'virtue_toolkit_button_shortcode_function');
345 + add_shortcode('hr', 'virtue_toolkit_hrule_function');
346 + add_shortcode('space_20', 'virtue_toolkit_hrpadding10_function');
347 + add_shortcode('space_40', 'virtue_toolkit_hrpadding20_function');
348 + add_shortcode('space_80', 'virtue_toolkit_hrpadding40_function');
349 + add_shortcode('kad_youtube', 'virtue_toolkit_youtube_shortcode_function');
350 + add_shortcode('kt_youtube', 'virtue_toolkit_youtube_shortcode_function');
351 + add_shortcode('kad_vimeo', 'virtue_toolkit_vimeo_shortcode_function');
352 + add_shortcode('kt_vimeo', 'virtue_toolkit_vimeo_shortcode_function');
353 + add_shortcode('clear', 'virtue_toolkit_clearfix_function');
285 354 }
286 -add_action( 'init', 'virtuetoolkit_register_shortcodes');
355 +add_action( 'init', 'virtue_toolkit_register_shortcodes');
287 356
288 357
289 -function virtue_register_button( $buttons ) {
290 - array_push( $buttons, "|", "kadcolumns" );
291 - array_push( $buttons, "|", "kaddivider" );
292 - array_push( $buttons, "|", "kadaccordion" );
293 - array_push( $buttons, "|", "kadquote" );
294 - array_push( $buttons, "|", "kadbtn" );
295 - array_push( $buttons, "|", "kadicon" );
296 - array_push( $buttons, "|", "kadyoutube" );
297 - array_push( $buttons, "|", "kadvimeo" );
298 - return $buttons;
358 +function virtue_toolkit_register_button( $buttons ) {
359 + if ( empty( $buttons ) ) {
360 + $buttons = array();
361 + }
362 + array_push( $buttons, "|", "kadcolumns" );
363 + array_push( $buttons, "|", "kaddivider" );
364 + array_push( $buttons, "|", "kadaccordion" );
365 + array_push( $buttons, "|", "kadquote" );
366 + array_push( $buttons, "|", "kadbtn" );
367 + array_push( $buttons, "|", "kadicon" );
368 + array_push( $buttons, "|", "kadyoutube" );
369 + array_push( $buttons, "|", "kadvimeo" );
370 +
371 + return $buttons;
299 372 }
300 -function virtue_add_plugin( $plugin_array ) {
373 +function virtue_toolkit_add_plugin( $plugin_array ) {
301 374 $plugin_array['kadcolumns'] = VIRTUE_TOOLKIT_URL . '/shortcodes/columns/columns_shortgen.js';
302 375 $plugin_array['kadicon'] = VIRTUE_TOOLKIT_URL . '/shortcodes/icons/icon_shortgen.js';
303 376 $plugin_array['kadaccordion'] = VIRTUE_TOOLKIT_URL . '/shortcodes/accordion/accordion_shortgen.js';
304 - $plugin_array['kadvideo'] = VIRTUE_TOOLKIT_URL . '/shortcodes/video/video_shortgen.js';
305 377 $plugin_array['kadyoutube'] = VIRTUE_TOOLKIT_URL . '/shortcodes/youtube/youtube_shortgen.js';
306 378 $plugin_array['kadvimeo'] = VIRTUE_TOOLKIT_URL . '/shortcodes/vimeo/vimeo_shortgen.js';
307 379 $plugin_array['kadquote'] = VIRTUE_TOOLKIT_URL . '/shortcodes/pullquote/quote_shortgen.js';
308 380 $plugin_array['kadbtn'] = VIRTUE_TOOLKIT_URL . '/shortcodes/btns/btns_shortgen.js';
@@ -308,17 +380,41 @@
308 380 $plugin_array['kadbtn'] = VIRTUE_TOOLKIT_URL . '/shortcodes/btns/btns_shortgen.js';
309 381 $plugin_array['kaddivider'] = VIRTUE_TOOLKIT_URL . '/shortcodes/divider/divider_shortgen.js';
310 382 return $plugin_array;
311 383 }
312 -function virtue_tinymce_shortcode_button() {
384 +function virtue_toolkit_tinymce_shortcode_button() {
313 385
314 - if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
315 - return;
316 - }
386 + if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
387 + return;
388 + }
389 + if ( get_user_option('rich_editing') == 'true' ) {
390 + add_filter( 'mce_external_plugins', 'virtue_toolkit_add_plugin' );
391 + add_filter( 'mce_buttons_3', 'virtue_toolkit_register_button', 50 );
392 + }
317 393
318 - if ( get_user_option('rich_editing') == 'true' ) {
319 - add_filter( 'mce_external_plugins', 'virtue_add_plugin' );
320 - add_filter( 'mce_buttons_3', 'virtue_register_button' );
321 - }
394 +}
395 +add_action('init', 'virtue_toolkit_tinymce_shortcode_button');
322 396
397 +// Clean up Shortcodes
398 +function virtue_toolkit_content_clean_shortcodes($content){
399 + $array = array (
400 + '<p>[' => '[',
401 + ']</p>' => ']',
402 + ']<br />' => ']'
403 + );
404 + $content = strtr($content, $array);
405 + return $content;
323 406 }
324 -add_action('init', 'virtue_tinymce_shortcode_button');
407 +add_filter('the_content', 'virtue_toolkit_content_clean_shortcodes');
408 +function virtue_toolkit_widget_clean_shortcodes($text){
409 + $array = array (
410 + '<p>[' => '[',
411 + ']</p>' => ']',
412 + '<p></p>' => '',
413 + ']<br />' => ']',
414 + '<br />[' => '['
415 + );
416 + $text = strtr($text, $array);
417 + return $text;
418 +}
419 +add_filter('widget_text', 'virtue_toolkit_widget_clean_shortcodes');
420 +add_filter('widget_text', 'do_shortcode', 50);