1*f5938de5SJames Collins<?php 2*f5938de5SJames Collins/** 3*f5938de5SJames Collins * Mikio Syntax Plugin: Accordion Item 4*f5938de5SJames Collins * 5*f5938de5SJames Collins * Syntax: <ACCORDION-ITEM></ACCORDION-ITEM> 6*f5938de5SJames Collins * 7*f5938de5SJames Collins * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 8*f5938de5SJames Collins * @author James Collins <james.collins@outlook.com.au> 9*f5938de5SJames Collins */ 10*f5938de5SJames Collins 11*f5938de5SJames Collinsif (!defined('DOKU_INC')) die(); 12*f5938de5SJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 13*f5938de5SJames Collinsrequire_once(dirname(__FILE__).'/core.php'); 14*f5938de5SJames Collins 15*f5938de5SJames Collinsclass syntax_plugin_mikioplugin_accordionitem extends syntax_plugin_mikioplugin_core { 16*f5938de5SJames Collins public $tag = 'accordion-item'; 17*f5938de5SJames Collins public $options = array('title', 'id', 'parent', 'show'); 18*f5938de5SJames Collins 19*f5938de5SJames Collins 20*f5938de5SJames Collins public function render_lexer_enter(Doku_Renderer $renderer, $data) { 21*f5938de5SJames Collins $id = ''; 22*f5938de5SJames Collins $parent = ''; 23*f5938de5SJames Collins $title = ''; 24*f5938de5SJames Collins $heading = 'heading_' . rand(0, 32767); 25*f5938de5SJames Collins $collapse = 'collapse_' . rand(0, 32767); 26*f5938de5SJames Collins $show = ''; 27*f5938de5SJames Collins 28*f5938de5SJames Collins if(array_key_exists('id', $data) && $data['id'] != '') { 29*f5938de5SJames Collins $id = $data['id']; 30*f5938de5SJames Collins } else { 31*f5938de5SJames Collins $id = 'accordion_item_' . rand(0, 32767); 32*f5938de5SJames Collins $this->values['id'] = $id; 33*f5938de5SJames Collins } 34*f5938de5SJames Collins 35*f5938de5SJames Collins if(array_key_exists('parent', $data) && $data['parent'] != '') $parent = $data['parent']; 36*f5938de5SJames Collins if(array_key_exists('title', $data) && $data['title'] != '') $title = $data['title']; 37*f5938de5SJames Collins if(array_key_exists('show', $data) && $data['show'] != false) $show = 'show'; 38*f5938de5SJames Collins 39*f5938de5SJames Collins $renderer->doc .= '<div class="card"><div class="card-header" id="' . $heading . '"><h5 class="mb-0"><button class="btn btn-link" data-toggle="collapse" data-target="#' . $collapse . '" aria-expanded="true" aria-controls="' . $collapse . '">' . $title . '</button></h5></div><div id="' . $collapse . '" class="collapse ' . $show . '" aria-labelledby="' . $heading . '" data-parent="#' . $parent . '"><div class="card-body">'; 40*f5938de5SJames Collins } 41*f5938de5SJames Collins 42*f5938de5SJames Collins 43*f5938de5SJames Collins public function render_lexer_exit(Doku_Renderer $renderer, $data) { 44*f5938de5SJames Collins $renderer->doc .= '</div></div></div>'; 45*f5938de5SJames Collins } 46*f5938de5SJames Collins} 47*f5938de5SJames Collins?>