PluginProbe
Easy Bootstrap Shortcode / 3.7
Easy Bootstrap Shortcode v3.7
trunk 2.4.0 2.5 3.4 3.5 3.6 3.7 4.0.0 4.4 4.5 4.5.4 5.0.0 5.0.1 5.0.2
easy-bootstrap-shortcodes / shortcode / toggles / plugin_shortcode.php

plugin_shortcode.php in Easy Bootstrap Shortcode 3.7, at shortcode/toggles/plugin_shortcode.php

56 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /* * *********************************************************
4 * jQuery UI Accordion (toggles)
5 * ********************************************************* */
6
7 $_oscitas_accordion = array();
8
9 function osc_theme_toggles($params, $content = null) {
10 global $_oscitas_accordion;
11 extract(shortcode_atts(array(
12 'id' => count($_oscitas_accordion),
13 'class' => ''
14 ), $params));
15 $_oscitas_accordion[$id] = array();
16 $scontent = do_shortcode($content);
17
18 $output = '';
19 if (trim($scontent) != '' || count($_oscitas_accordion[$id]['details'])) {
20 $scontent = isset($_oscitas_accordion[$id]['details']) && is_array($_oscitas_accordion[$id]['details']) ? implode('', $_oscitas_accordion[$id]['details']) : '';
21 $output .= '<div class="panel-group ' . $class . '" id="oscitas-accordion-' . $id . '">' . $scontent;
22 $output .= '</div>';
23 }
24 return $output;
25 }
26
27 add_shortcode('toggles', 'osc_theme_toggles');
28
29 function osc_theme_toggle($params, $content = null) {
30 global $_oscitas_accordion;
31 extract(shortcode_atts(array(
32 'title' => 'title',
33 'class' => ''
34 ), $params));
35 $con = do_shortcode($content);
36 $index = count($_oscitas_accordion) - 1;
37 $id = 'details-' . $index . '-' . count($_oscitas_accordion[$index]['details']);
38 $_oscitas_accordion[$index]['details'][] = <<<EOS
39 <div class="panel panel-default">
40 <div class="panel-heading">
41 <h4 class="panel-title">
42 <a class="accordion-toggle" data-toggle="collapse"
43 data-parent="#oscitas-accordion-{$index}"
44 href="#{$id}">
45 {$title}
46 </a>
47 </h4>
48 </div>
49 <div id="{$id}" class="panel-collapse collapse {$class}">
50 <div class="panel-body">{$con}</div>
51 </div>
52 </div>
53 EOS;
54 }
55
56 add_shortcode('toggle', 'osc_theme_toggle');