117e6d639SJames Collins<?php 217e6d639SJames Collins/** 317e6d639SJames Collins * Mikio Syntax Plugin: Carousel 417e6d639SJames Collins * 57935713eSJames Collins * @link http://github.com/nomadjimbob/mikioplugin 617e6d639SJames Collins * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 717e6d639SJames Collins * @author James Collins <james.collins@outlook.com.au> 817e6d639SJames Collins */ 917e6d639SJames Collinsif (!defined('DOKU_INC')) die(); 1017e6d639SJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 1117e6d639SJames Collinsrequire_once(dirname(__FILE__).'/core.php'); 1217e6d639SJames Collins 1317e6d639SJames Collinsclass syntax_plugin_mikioplugin_carousel extends syntax_plugin_mikioplugin_core { 1417e6d639SJames Collins public $tag = 'carousel'; 157935713eSJames Collins public $hasEndTag = true; 167935713eSJames Collins public $options = array( 177935713eSJames Collins 'transition' => array('type' => 'choice', 187935713eSJames Collins 'data' => array('slide', 'fade'), 197935713eSJames Collins 'default' => ''), 207935713eSJames Collins 'indicators' => array('type' => 'boolean', 'default' => 'true'), 217935713eSJames Collins 'controls' => array('type' => 'boolean', 'default' => 'true'), 227935713eSJames Collins 'start' => array('type' => 'boolean', 'default' => 'false'), 237935713eSJames Collins ); 2417e6d639SJames Collins 25*6b66a10dSJames Collins public function __construct() { 26*6b66a10dSJames Collins $this->addCommonOptions('height'); 27*6b66a10dSJames Collins } 28*6b66a10dSJames Collins 2917e6d639SJames Collins 3017e6d639SJames Collins public function render_lexer_enter(Doku_Renderer $renderer, $data) { 317935713eSJames Collins $classes = $this->buildClass($data, array('transition')); 32*6b66a10dSJames Collins $styles = $this->buildStyle(array('height' => $data['height']), TRUE); 3317e6d639SJames Collins 34*6b66a10dSJames Collins $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel' . $classes . '" data-auto-start="' . ($data['start'] ? 'true' : 'false') . '"' . $styles . '>'; 357935713eSJames Collins $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel-inner">'; 3617e6d639SJames Collins } 3717e6d639SJames Collins 3817e6d639SJames Collins 3917e6d639SJames Collins public function render_lexer_exit(Doku_Renderer $renderer, $data) { 4057ae4893SJames Collins $renderer->doc .= '</div>'; 4157ae4893SJames Collins 427935713eSJames Collins if($data['controls'] === TRUE) { 437935713eSJames Collins $renderer->doc .= '<a href="#" class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel-control ' . $this->classPrefix . 'carousel-control-prev" role="button"></a>'; 447935713eSJames Collins $renderer->doc .= '<a href="#" class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel-control ' . $this->classPrefix . 'carousel-control-next" role="button"></a>'; 457935713eSJames Collins } 4657ae4893SJames Collins 477935713eSJames Collins if($data['indicators'] === TRUE) { 487935713eSJames Collins $renderer->doc .= '<ul class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel-indicators"></ul>'; 4957ae4893SJames Collins } 5057ae4893SJames Collins 5157ae4893SJames Collins $renderer->doc .= '</div>'; 5217e6d639SJames Collins } 5317e6d639SJames Collins} 5417e6d639SJames Collins?>