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 +254 -159 1.8 → 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,66 +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' => '',
190 238 'target' => '_self',
191 239 'tcolor' => '',
192 240 ), $atts));
193 - return '<a href="'.$link.'" class="kad-btn kad-btn-primary" target="'.$target.'" 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;
194 261 }
195 -function kad_blockquote_shortcode_function( $atts, $content) {
262 +function virtue_toolkit_blockquote_shortcode_function( $atts, $content) {
196 263 extract(shortcode_atts(array(
197 264 'align' => 'center',
198 265 ), $atts));
199 266 switch ($align)
@@ -198,22 +265,22 @@
198 265 ), $atts));
199 266 switch ($align)
200 267 {
201 268 case "center":
202 - $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>';
203 270 break;
204 271
205 272 case "left":
206 - $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>';
207 274 break;
208 275
209 276 case "right":
210 - $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>';
211 278 break;
212 279 }
213 280 return $output;
214 281 }
215 -function kad_pullquote_shortcode_function( $atts, $content) {
282 +function virtue_toolkit_pullquote_shortcode_function( $atts, $content) {
216 283 extract( shortcode_atts( array(
217 284 'align' => 'center'
218 285 ), $atts ));
219 286
@@ -219,91 +286,95 @@
219 286
220 287 switch ($align)
221 288 {
222 289 case "center":
223 - $output = '<div class="pullquote-center">' . do_shortcode($content) . '</div>';
290 + $output = '<div class="pullquote pullquote-center">' . do_shortcode(wp_kses_post($content)) . '</div>';
224 291 break;
225 292
226 293 case "right":
227 - $output = '<div class="pullquote-right">' . do_shortcode($content) . '</div>';
294 + $output = '<div class="pullquote pullquote-right">' . do_shortcode(wp_kses_post($content)) . '</div>';
228 295 break;
229 296
230 297 case "left":
231 - $output = '<div class="pullquote-left">' . do_shortcode($content) . '</div>';
298 + $output = '<div class="pullquote pullquote-left">' . do_shortcode(wp_kses_post($content)) . '</div>';
232 299 break;
233 300 }
234 301
235 302 return $output;
236 303 }
237 -function kad_hrule_function( ) {
304 +function virtue_toolkit_hrule_function( ) {
238 305 return '<div class="hrule clearfix"></div>';
239 306 }
240 -function kad_hrpadding10_function( ) {
307 +function virtue_toolkit_hrpadding10_function( ) {
241 308 return '<div class="space_20 clearfix"></div>';
242 309 }
243 -function kad_hrpadding20_function( ) {
310 +function virtue_toolkit_hrpadding20_function( ) {
244 311 return '<div class="space_40 clearfix"></div>';
245 312 }
246 -function kad_hrpadding40_function( ) {
313 +function virtue_toolkit_hrpadding40_function( ) {
247 314 return '<div class="space_80 clearfix"></div>';
248 315 }
249 -function kad_clearfix_function( ) {
316 +function virtue_toolkit_clearfix_function( ) {
250 317 return '<div class="clearfix"></div>';
251 318 }
252 -function kad_columnhelper_function( ) {
319 +function virtue_toolkit_columnhelper_function( ) {
253 320 return '';
254 321 }
255 -function virtuetoolkit_register_shortcodes(){
256 - add_shortcode('accordion', 'kad_accordion_shortcode_function');
257 - add_shortcode('pane', 'kad_accordion_pane_function');
258 - add_shortcode('tabs', 'kad_tab_shortcode_function');
259 - add_shortcode('tab', 'kad_tab_pane_function');
260 - add_shortcode('columns', 'kad_column_shortcode_function');
261 - add_shortcode('hcolumns', 'kad_hcolumn_shortcode_function');
262 - add_shortcode('span11', 'kad_column11_function');
263 - add_shortcode('span10', 'kad_column10_function');
264 - add_shortcode('span9', 'kad_column9_function');
265 - add_shortcode('span8', 'kad_column8_function');
266 - add_shortcode('span7', 'kad_column7_function');
267 - add_shortcode('span6', 'kad_column6_function');
268 - add_shortcode('span5', 'kad_column5_function');
269 - add_shortcode('span4', 'kad_column4_function');
270 - add_shortcode('span3', 'kad_column3_function');
271 - add_shortcode('span2', 'kad_column2_function');
272 - add_shortcode('span1', 'kad_column1_function');
273 - add_shortcode('columnhelper', 'kad_columnhelper_function');
274 - add_shortcode('icon', 'kad_icon_shortcode_function');
275 - add_shortcode('video', 'kad_video_shortcode_function');
276 - add_shortcode('pullquote', 'kad_pullquote_shortcode_function');
277 - add_shortcode('blockquote', 'kad_blockquote_shortcode_function');
278 - add_shortcode('btn', 'kad_button_shortcode_function');
279 - add_shortcode('hr', 'kad_hrule_function');
280 - add_shortcode('space_20', 'kad_hrpadding10_function');
281 - add_shortcode('space_40', 'kad_hrpadding20_function');
282 - add_shortcode('space_80', 'kad_hrpadding40_function');
283 - add_shortcode('kad_youtube', 'kad_youtube_shortcode_function');
284 - add_shortcode('kad_vimeo', 'kad_vimeo_shortcode_function');
285 - 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');
286 354 }
287 -add_action( 'init', 'virtuetoolkit_register_shortcodes');
355 +add_action( 'init', 'virtue_toolkit_register_shortcodes');
288 356
289 357
290 -function virtue_register_button( $buttons ) {
291 - array_push( $buttons, "|", "kadcolumns" );
292 - array_push( $buttons, "|", "kaddivider" );
293 - array_push( $buttons, "|", "kadaccordion" );
294 - array_push( $buttons, "|", "kadquote" );
295 - array_push( $buttons, "|", "kadbtn" );
296 - array_push( $buttons, "|", "kadicon" );
297 - array_push( $buttons, "|", "kadyoutube" );
298 - array_push( $buttons, "|", "kadvimeo" );
299 - 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;
300 372 }
301 -function virtue_add_plugin( $plugin_array ) {
373 +function virtue_toolkit_add_plugin( $plugin_array ) {
302 374 $plugin_array['kadcolumns'] = VIRTUE_TOOLKIT_URL . '/shortcodes/columns/columns_shortgen.js';
303 375 $plugin_array['kadicon'] = VIRTUE_TOOLKIT_URL . '/shortcodes/icons/icon_shortgen.js';
304 376 $plugin_array['kadaccordion'] = VIRTUE_TOOLKIT_URL . '/shortcodes/accordion/accordion_shortgen.js';
305 - $plugin_array['kadvideo'] = VIRTUE_TOOLKIT_URL . '/shortcodes/video/video_shortgen.js';
306 377 $plugin_array['kadyoutube'] = VIRTUE_TOOLKIT_URL . '/shortcodes/youtube/youtube_shortgen.js';
307 378 $plugin_array['kadvimeo'] = VIRTUE_TOOLKIT_URL . '/shortcodes/vimeo/vimeo_shortgen.js';
308 379 $plugin_array['kadquote'] = VIRTUE_TOOLKIT_URL . '/shortcodes/pullquote/quote_shortgen.js';
309 380 $plugin_array['kadbtn'] = VIRTUE_TOOLKIT_URL . '/shortcodes/btns/btns_shortgen.js';
@@ -309,17 +380,41 @@
309 380 $plugin_array['kadbtn'] = VIRTUE_TOOLKIT_URL . '/shortcodes/btns/btns_shortgen.js';
310 381 $plugin_array['kaddivider'] = VIRTUE_TOOLKIT_URL . '/shortcodes/divider/divider_shortgen.js';
311 382 return $plugin_array;
312 383 }
313 -function virtue_tinymce_shortcode_button() {
384 +function virtue_toolkit_tinymce_shortcode_button() {
314 385
315 - if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
316 - return;
317 - }
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 + }
318 393
319 - if ( get_user_option('rich_editing') == 'true' ) {
320 - add_filter( 'mce_external_plugins', 'virtue_add_plugin' );
321 - add_filter( 'mce_buttons_3', 'virtue_register_button' );
322 - }
394 +}
395 +add_action('init', 'virtue_toolkit_tinymce_shortcode_button');
323 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;
324 406 }
325 -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);