xref: /plugin/mikioplugin/syntax/carouselitem.php (revision 57ae4893b5f9053049b9e317e4704416fb882895)
117e6d639SJames Collins<?php
217e6d639SJames Collins/**
317e6d639SJames Collins * Mikio Syntax Plugin: Carousel Item
417e6d639SJames Collins *
5*57ae4893SJames Collins * Syntax:  <CAROUSEL-ITEM [active] [image=] [placeholder-text=] [placeholder-text-colour=] [placeholder-colour=] [title=] [text=] [delay=]>
617e6d639SJames Collins *
717e6d639SJames Collins * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
817e6d639SJames Collins * @author     James Collins <james.collins@outlook.com.au>
917e6d639SJames Collins */
1017e6d639SJames Collins
1117e6d639SJames Collinsif (!defined('DOKU_INC')) die();
1217e6d639SJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
1317e6d639SJames Collinsrequire_once(dirname(__FILE__).'/core.php');
1417e6d639SJames Collins
1517e6d639SJames Collinsclass syntax_plugin_mikioplugin_carouselitem extends syntax_plugin_mikioplugin_core {
1617e6d639SJames Collins    public $tag                 = 'carousel-item';
1717e6d639SJames Collins    public $noEndTag            = true;
18*57ae4893SJames Collins    public $options             = array('active', 'image', 'title', 'text', 'placeholder-text', 'placeholder-text-colour', 'placeholder-colour', 'delay');
1917e6d639SJames Collins
2017e6d639SJames Collins
2117e6d639SJames Collins    public function render_lexer_special(Doku_Renderer $renderer, $data) {
2217e6d639SJames Collins        $classes = $this->buildClassString($data, array('active'), '');
2317e6d639SJames Collins
24*57ae4893SJames Collins        $delay = '';
25*57ae4893SJames Collins        if(array_key_exists('delay', $data) && $data['delay'] != '') {
26*57ae4893SJames Collins            $delay = ' data-interval="' . intval($data['delay'] * 1000) . '" ';
27*57ae4893SJames Collins        }
28*57ae4893SJames Collins
29*57ae4893SJames Collins        $renderer->doc .= '<div class="carousel-item' . $classes . '"' . $delay . '>';
30*57ae4893SJames Collins
31*57ae4893SJames Collins
32*57ae4893SJames Collins        if(array_key_exists('image', $data) && $data['image'] != '') {
33*57ae4893SJames Collins            $renderer->doc .= '<img src="' . $this->getMediaFile($data['image']) . '" class="d-block w-100">';
34*57ae4893SJames Collins        } else {
35*57ae4893SJames Collins            if(array_key_exists('placeholder-text', $data) && $data['placeholder-text'] != '') {
36*57ae4893SJames Collins                $placeholderData = array('classes' => 'd-block w-100');
37*57ae4893SJames Collins                if(array_key_exists('placeholder-text', $data) && $data['placeholder-text'] != '') $placeholderData['text'] = $data['placeholder-text'];
38*57ae4893SJames Collins                if(array_key_exists('placeholder-colour', $data) && $data['placeholder-colour'] != '') $placeholderData['colour'] = $data['placeholder-colour'];
39*57ae4893SJames Collins                if(array_key_exists('placeholder-text-colour', $data) && $data['placeholder-text-colour'] != '') $placeholderData['text-colour'] = $data['placeholder-text-colour'];
40*57ae4893SJames Collins
41*57ae4893SJames Collins                $this->syntaxRender($renderer, 'syntax_plugin_mikioplugin_placeholder', '', $placeholderData);
42*57ae4893SJames Collins            }
43*57ae4893SJames Collins        }
4417e6d639SJames Collins
4517e6d639SJames Collins        if((array_key_exists('title', $data) && $data['title'] != '') || (array_key_exists('title', $data) && $data['title'] != '')) {
4617e6d639SJames Collins            $renderer->doc .= '<div class="carousel-caption d-none d-md-block">';
4717e6d639SJames Collins            if(array_key_exists('title', $data) && $data['title'] != '') $renderer->doc .= '<h5>' . $data['title'] . '</h5>';
4817e6d639SJames Collins            if(array_key_exists('text', $data) && $data['text'] != '') $renderer->doc .= '<p>' . $data['text'] . '</p>';
4917e6d639SJames Collins            $renderer->doc .= '</div>';
5017e6d639SJames Collins        }
5117e6d639SJames Collins
5217e6d639SJames Collins        $renderer->doc .= '</div>';
5317e6d639SJames Collins    }
5417e6d639SJames Collins
5517e6d639SJames Collins}
5617e6d639SJames Collins?>