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