1*dbdb1408SJames Collins<?php 2*dbdb1408SJames Collins/** 3*dbdb1408SJames Collins * Mikio Syntax Plugin: Set Attr 4*dbdb1408SJames Collins * 5*dbdb1408SJames Collins * @link http://github.com/nomadjimbob/mikioplugin 6*dbdb1408SJames Collins * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 7*dbdb1408SJames Collins * @author James Collins <james.collins@outlook.com.au> 8*dbdb1408SJames Collins */ 9*dbdb1408SJames Collinsif (!defined('DOKU_INC')) die(); 10*dbdb1408SJames Collinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 11*dbdb1408SJames Collinsrequire_once(dirname(__FILE__).'/core.php'); 12*dbdb1408SJames Collins 13*dbdb1408SJames Collinsclass syntax_plugin_mikioplugin_setattr extends syntax_plugin_mikioplugin_core { 14*dbdb1408SJames Collins public $tag = 'setattr'; 15*dbdb1408SJames Collins public $hasEndTag = false; 16*dbdb1408SJames Collins public $attrs = null; 17*dbdb1408SJames Collins 18*dbdb1408SJames Collins public function __construct() { 19*dbdb1408SJames Collins $this->attrs = array(); 20*dbdb1408SJames Collins } 21*dbdb1408SJames Collins 22*dbdb1408SJames Collins public function getType() { return 'substition'; } 23*dbdb1408SJames Collins public function getPType() { return 'normal'; } 24*dbdb1408SJames Collins 25*dbdb1408SJames Collins public function render_lexer_special(Doku_Renderer $renderer, $data) { 26*dbdb1408SJames Collins if(array_key_exists('name', $data)) { 27*dbdb1408SJames Collins $a = $data; 28*dbdb1408SJames Collins unset($a['name']); 29*dbdb1408SJames Collins 30*dbdb1408SJames Collins if(!is_array($this->attrs)) $this->attrs = array(); 31*dbdb1408SJames Collins 32*dbdb1408SJames Collins $this->attrs[$data['name']] = $a; 33*dbdb1408SJames Collins } 34*dbdb1408SJames Collins 35*dbdb1408SJames Collins $renderer->doc .= ''; 36*dbdb1408SJames Collins } 37*dbdb1408SJames Collins 38*dbdb1408SJames Collins public function mikioCall($data) { 39*dbdb1408SJames Collins if(is_array($this->attrs) && array_key_exists($data, $this->attrs)) { 40*dbdb1408SJames Collins return $this->attrs[$data]; 41*dbdb1408SJames Collins } 42*dbdb1408SJames Collins 43*dbdb1408SJames Collins return array(); 44*dbdb1408SJames Collins } 45*dbdb1408SJames Collins} 46*dbdb1408SJames Collins?>