xref: /plugin/mikioplugin/syntax/blockquote.php (revision bfdd301e9a07bf3d6ce275298c1437240d9ca40b)
1*bfdd301eSJames Collins<?php
2*bfdd301eSJames Collins/**
3*bfdd301eSJames Collins * Mikio Syntax Plugin: Blockquote
4*bfdd301eSJames Collins *
5*bfdd301eSJames Collins * Syntax:  <BLOCKQUOTE [footer=] footer-text-colour footer-small></BLOCKQUOTE>
6*bfdd301eSJames Collins *
7*bfdd301eSJames Collins * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
8*bfdd301eSJames Collins * @author     James Collins <james.collins@outlook.com.au>
9*bfdd301eSJames Collins */
10*bfdd301eSJames Collins
11*bfdd301eSJames Collinsif (!defined('DOKU_INC')) die();
12*bfdd301eSJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
13*bfdd301eSJames Collinsrequire_once(dirname(__FILE__).'/core.php');
14*bfdd301eSJames Collins
15*bfdd301eSJames Collinsclass syntax_plugin_mikioplugin_blockquote extends syntax_plugin_mikioplugin_core {
16*bfdd301eSJames Collins    public $tag                 = 'blockquote';
17*bfdd301eSJames Collins    public $options             = array('footer', 'footer-small', 'footer-text-colour');
18*bfdd301eSJames Collins
19*bfdd301eSJames Collins    public function render_lexer_enter(Doku_Renderer $renderer, $data) {
20*bfdd301eSJames Collins        $classes = $this->buildClassString($data);
21*bfdd301eSJames Collins
22*bfdd301eSJames Collins        $renderer->doc .= '<blockquote class="blockquote ' . $classes . '">';
23*bfdd301eSJames Collins    }
24*bfdd301eSJames Collins
25*bfdd301eSJames Collins
26*bfdd301eSJames Collins    public function render_lexer_exit(Doku_Renderer $renderer, $data) {
27*bfdd301eSJames Collins        $footerSmallPrefix = '';
28*bfdd301eSJames Collins        $footerSmallPostfix = '';
29*bfdd301eSJames Collins        $footerStyle = '';
30*bfdd301eSJames Collins
31*bfdd301eSJames Collins        if(array_key_exists('footer-small', $this->values) && $this->values['footer-small'] != false) {
32*bfdd301eSJames Collins            $footerSmallPrefix = '<small>';
33*bfdd301eSJames Collins            $footerSmallPostfix = '</small>';
34*bfdd301eSJames Collins        }
35*bfdd301eSJames Collins
36*bfdd301eSJames Collins        if(array_key_exists('footer-text-colour', $this->values) && $this->values['footer-text-colour'] != '') {
37*bfdd301eSJames Collins            $footerStyle = 'color:' . $this->values['footer-text-colour'] . ';';
38*bfdd301eSJames Collins        }
39*bfdd301eSJames Collins
40*bfdd301eSJames Collins        if($footerStyle != '') $footerStyle = 'style="' . $footerStyle . '"';
41*bfdd301eSJames Collins
42*bfdd301eSJames Collins        if(array_key_exists('footer', $this->values) && $this->values['footer'] != '') {
43*bfdd301eSJames Collins            $renderer->doc .= '<footer class="blockquote-footer" ' . $footerStyle . '>'. $footerSmallPrefix . $this->values['footer'] . $footerSmallPostfix . '</footer>';
44*bfdd301eSJames Collins        }
45*bfdd301eSJames Collins
46*bfdd301eSJames Collins        $renderer->doc .= '</blockquote>';
47*bfdd301eSJames Collins    }
48*bfdd301eSJames Collins}
49*bfdd301eSJames Collins?>