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 +251 -159 2.0 → 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,58 +164,73 @@
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(
187 - 'id' => rand(1, 99),
232 + 'id' => rand(1, 999),
188 233 'bcolor' => '',
189 234 'bhovercolor' => '',
190 235 'thovercolor' => '',
191 236 'link' => '',
@@ -192,13 +237,30 @@
192 237 'text' => '',
193 238 'target' => '_self',
194 239 'tcolor' => '',
195 240 ), $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>';
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 +
198 260 return $output;
199 261 }
200 -function kad_blockquote_shortcode_function( $atts, $content) {
262 +function virtue_toolkit_blockquote_shortcode_function( $atts, $content) {
201 263 extract(shortcode_atts(array(
202 264 'align' => 'center',
203 265 ), $atts));
204 266 switch ($align)
@@ -203,22 +265,22 @@
203 265 ), $atts));
204 266 switch ($align)
205 267 {
206 268 case "center":
207 - $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>';
208 270 break;
209 271
210 272 case "left":
211 - $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>';
212 274 break;
213 275
214 276 case "right":
215 - $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>';
216 278 break;
217 279 }
218 280 return $output;
219 281 }
220 -function kad_pullquote_shortcode_function( $atts, $content) {
282 +function virtue_toolkit_pullquote_shortcode_function( $atts, $content) {
221 283 extract( shortcode_atts( array(
222 284 'align' => 'center'
223 285 ), $atts ));
224 286
@@ -224,86 +286,92 @@
224 286
225 287 switch ($align)
226 288 {
227 289 case "center":
228 - $output = '<div class="pullquote-center">' . do_shortcode($content) . '</div>';
290 + $output = '<div class="pullquote pullquote-center">' . do_shortcode(wp_kses_post($content)) . '</div>';
229 291 break;
230 292
231 293 case "right":
232 - $output = '<div class="pullquote-right">' . do_shortcode($content) . '</div>';
294 + $output = '<div class="pullquote pullquote-right">' . do_shortcode(wp_kses_post($content)) . '</div>';
233 295 break;
234 296
235 297 case "left":
236 - $output = '<div class="pullquote-left">' . do_shortcode($content) . '</div>';
298 + $output = '<div class="pullquote pullquote-left">' . do_shortcode(wp_kses_post($content)) . '</div>';
237 299 break;
238 300 }
239 301
240 302 return $output;
241 303 }
242 -function kad_hrule_function( ) {
304 +function virtue_toolkit_hrule_function( ) {
243 305 return '<div class="hrule clearfix"></div>';
244 306 }
245 -function kad_hrpadding10_function( ) {
307 +function virtue_toolkit_hrpadding10_function( ) {
246 308 return '<div class="space_20 clearfix"></div>';
247 309 }
248 -function kad_hrpadding20_function( ) {
310 +function virtue_toolkit_hrpadding20_function( ) {
249 311 return '<div class="space_40 clearfix"></div>';
250 312 }
251 -function kad_hrpadding40_function( ) {
313 +function virtue_toolkit_hrpadding40_function( ) {
252 314 return '<div class="space_80 clearfix"></div>';
253 315 }
254 -function kad_clearfix_function( ) {
316 +function virtue_toolkit_clearfix_function( ) {
255 317 return '<div class="clearfix"></div>';
256 318 }
257 -function kad_columnhelper_function( ) {
319 +function virtue_toolkit_columnhelper_function( ) {
258 320 return '';
259 321 }
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');
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');
290 354 }
291 -add_action( 'init', 'virtuetoolkit_register_shortcodes');
355 +add_action( 'init', 'virtue_toolkit_register_shortcodes');
292 356
293 357
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;
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;
304 372 }
305 -function virtue_add_plugin( $plugin_array ) {
373 +function virtue_toolkit_add_plugin( $plugin_array ) {
306 374 $plugin_array['kadcolumns'] = VIRTUE_TOOLKIT_URL . '/shortcodes/columns/columns_shortgen.js';
307 375 $plugin_array['kadicon'] = VIRTUE_TOOLKIT_URL . '/shortcodes/icons/icon_shortgen.js';
308 376 $plugin_array['kadaccordion'] = VIRTUE_TOOLKIT_URL . '/shortcodes/accordion/accordion_shortgen.js';
309 377 $plugin_array['kadyoutube'] = VIRTUE_TOOLKIT_URL . '/shortcodes/youtube/youtube_shortgen.js';
@@ -312,17 +380,41 @@
312 380 $plugin_array['kadbtn'] = VIRTUE_TOOLKIT_URL . '/shortcodes/btns/btns_shortgen.js';
313 381 $plugin_array['kaddivider'] = VIRTUE_TOOLKIT_URL . '/shortcodes/divider/divider_shortgen.js';
314 382 return $plugin_array;
315 383 }
316 -function virtue_tinymce_shortcode_button() {
384 +function virtue_toolkit_tinymce_shortcode_button() {
317 385
318 - if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
319 - return;
320 - }
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 + }
321 393
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 - }
394 +}
395 +add_action('init', 'virtue_toolkit_tinymce_shortcode_button');
326 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;
327 406 }
328 -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);