xref: /plugin/mikioplugin/syntax/carouselitem.php (revision 43f781e093f174cd46c2e45e4d44e0e810d8d148)
117e6d639SJames Collins<?php
217e6d639SJames Collins/**
317e6d639SJames Collins * Mikio Syntax Plugin: Carousel Item
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_carouselitem extends syntax_plugin_mikioplugin_core {
1417e6d639SJames Collins    public $tag                 = 'carousel-item';
15*43f781e0SJames Collins    public $requires_tag        = 'carousel';
167935713eSJames Collins    public $hasEndTag           = false;
177935713eSJames Collins    public $options             = array(
187935713eSJames Collins        'active'                    => array('type' => 'boolean',   'default'   => 'false'),
197935713eSJames Collins        'image'                     => array('type' => 'media',     'default'   => ''),
207935713eSJames Collins        'title'                     => array('type' => 'text',      'default'   => ''),
217935713eSJames Collins        'text'                      => array('type' => 'text',      'default'   => ''),
227935713eSJames Collins        'url'                       => array('type' => 'url',       'default'   => ''),
237935713eSJames Collins        'background-color'         => array('type' => 'color',     'default'   => ''),
247935713eSJames Collins        'placeholder-text'          => array('type' => 'text',      'default'   => ''),
257935713eSJames Collins        'placeholder-text-color'   => array('type' => 'color',     'default'   => ''),
267935713eSJames Collins        'placeholder-color'        => array('type' => 'color',     'default'   => ''),
277935713eSJames Collins        'delay'                     => array('type' => 'float',    'default'   =>'4.5'),
287935713eSJames Collins    );
2917e6d639SJames Collins
30f003e4a8SJames Collins    public function __construct() {
31f003e4a8SJames Collins        $this->options['placeholder-color']['default'] = $this->callMikioOptionDefault('placeholder', 'color');
32f003e4a8SJames Collins        $this->options['placeholder-text-color']['default'] = $this->callMikioOptionDefault('placeholder', 'text-color');
33f003e4a8SJames Collins    }
34f003e4a8SJames Collins
3517e6d639SJames Collins
3617e6d639SJames Collins    public function render_lexer_special(Doku_Renderer $renderer, $data) {
377935713eSJames Collins        $classes = $this->buildClass($data, array('active'), '');
3817e6d639SJames Collins
397935713eSJames Collins        $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel-item' . $classes . '"' . ($data['delay'] != '' ? ' data-interval="' . $data['delay'] . '"' : '') . '>';
4057ae4893SJames Collins
4157ae4893SJames Collins
427935713eSJames Collins        if($data['image'] != '') {
437935713eSJames Collins            $renderer->doc .= '<img src="' . $data['image'] . '">';
4457ae4893SJames Collins        } else {
457935713eSJames Collins            if($data['placeholder-text'] != '') {
467935713eSJames Collins                $this->syntaxRender($renderer, 'placeholder', '', array('text' => $data['placeholder-text'], 'color' => $data['placeholder-color'], 'text-color' => $data['placeholder-text-color']));
4757ae4893SJames Collins            }
4857ae4893SJames Collins        }
4917e6d639SJames Collins
507935713eSJames Collins        if($data['title'] != '' || $data['text'] != '') {
517935713eSJames Collins            $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel-caption">';
527935713eSJames Collins
537935713eSJames Collins            if($data['title'] != '') {
547935713eSJames Collins                $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'carousel-caption-title">' . ($data['url'] != '' ? '<a href="' . $data['url'] . '">' : '') . $data['title'] . ($data['url'] != '' ? '</a>' : '') . '</div>';
557935713eSJames Collins            }
567935713eSJames Collins
577935713eSJames Collins            if($data['text'] != '') {
587935713eSJames Collins                $renderer->doc .= '<p>' . $data['text'] . '</p>';
597935713eSJames Collins            }
607935713eSJames Collins
6117e6d639SJames Collins            $renderer->doc .= '</div>';
6217e6d639SJames Collins        }
6317e6d639SJames Collins
6417e6d639SJames Collins        $renderer->doc .= '</div>';
6517e6d639SJames Collins    }
6617e6d639SJames Collins
6717e6d639SJames Collins}
6817e6d639SJames Collins?>