1*17e6d639SJames Collins<?php 2*17e6d639SJames Collins/** 3*17e6d639SJames Collins * Mikio Syntax Plugin: Card 4*17e6d639SJames Collins * 5*17e6d639SJames Collins * Syntax: <CARD [width=] [height=] [image=] [title=] [header=] [subtitle=] [listgroup] [nobody]></CARD> 6*17e6d639SJames Collins * 7*17e6d639SJames Collins * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 8*17e6d639SJames Collins * @author James Collins <james.collins@outlook.com.au> 9*17e6d639SJames Collins */ 10*17e6d639SJames Collins 11*17e6d639SJames Collinsif (!defined('DOKU_INC')) die(); 12*17e6d639SJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 13*17e6d639SJames Collinsrequire_once(dirname(__FILE__).'/core.php'); 14*17e6d639SJames Collins 15*17e6d639SJames Collinsclass syntax_plugin_mikioplugin_card extends syntax_plugin_mikioplugin_core { 16*17e6d639SJames Collins public $tag = 'card'; 17*17e6d639SJames Collins public $options = array('width', 'height', 'image', 'title', 'subtitle', 'listgroup', 'nobody', 'header'); 18*17e6d639SJames Collins 19*17e6d639SJames Collins 20*17e6d639SJames Collins public function render_lexer_enter(Doku_Renderer $renderer, $data) { 21*17e6d639SJames Collins $styles = []; 22*17e6d639SJames Collins $body = true; 23*17e6d639SJames Collins 24*17e6d639SJames Collins $this->setAttr($styles, 'width', $data); 25*17e6d639SJames Collins $this->setAttr($styles, 'height', $data); 26*17e6d639SJames Collins 27*17e6d639SJames Collins $renderer->doc .= '<div class="card"' . $this->listAttr('style', $styles) . '>'; 28*17e6d639SJames Collins if(array_key_exists('image', $data) && $data['image'] != '') $renderer->doc .= '<img src="' . $this->getMediaFile($data['image']) . '" class="card-img-top">'; 29*17e6d639SJames Collins 30*17e6d639SJames Collins if((array_key_exists('listgroup', $data) && $data['listgroup'] == true) || (array_key_exists('nobody', $data) && $data['nobody'] == true)) $body = false; 31*17e6d639SJames Collins 32*17e6d639SJames Collins if(array_key_exists('header', $data) && $data['header'] != '') $this->syntaxRender($renderer, 'syntax_plugin_mikioplugin_cardheader', $data['header']); 33*17e6d639SJames Collins 34*17e6d639SJames Collins if($body) { 35*17e6d639SJames Collins $renderer->doc .= '<div class="card-body">'; 36*17e6d639SJames Collins } 37*17e6d639SJames Collins 38*17e6d639SJames Collins if(array_key_exists('title', $data) && $data['title'] != '') $this->syntaxRender($renderer, 'syntax_plugin_mikioplugin_cardtitle', $data['title']); 39*17e6d639SJames Collins if(array_key_exists('subtitle', $data) && $data['subtitle'] != '') $this->syntaxRender($renderer, 'syntax_plugin_mikioplugin_cardsubtitle', $data['subtitle']); 40*17e6d639SJames Collins } 41*17e6d639SJames Collins 42*17e6d639SJames Collins 43*17e6d639SJames Collins public function render_lexer_exit(Doku_Renderer $renderer, $data) { 44*17e6d639SJames Collins if((!array_key_exists('listgroup', $this->values) || $this->values['listgroup'] == false) && (!array_key_exists('nobody', $this->values) || $this->values['nobody'] == false)) { 45*17e6d639SJames Collins $renderer->doc .= '</div>'; 46*17e6d639SJames Collins } 47*17e6d639SJames Collins 48*17e6d639SJames Collins $renderer->doc .= '</div>'; 49*17e6d639SJames Collins } 50*17e6d639SJames Collins} 51*17e6d639SJames Collins?>