1dafc4672Slisps<?php 2dafc4672Slisps/** 3dafc4672Slisps * DokuWiki Plugin nosecedit (Syntax Component) 4dafc4672Slisps * 5dafc4672Slisps * 6dafc4672Slisps * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 7dafc4672Slisps * @author lisps 8*a342ad33Seinhirn * @author einhirn 9dafc4672Slisps */ 10dafc4672Slisps 11*a342ad33Seinhirnuse dokuwiki\Extension\SyntaxPlugin; 12dafc4672Slisps 13dafc4672Slisps/* 14dafc4672Slisps * All DokuWiki plugins to extend the parser/rendering mechanism 15dafc4672Slisps * need to inherit from this class 16dafc4672Slisps */ 17dafc4672Slispsclass syntax_plugin_nosecedit extends DokuWiki_Syntax_Plugin 18dafc4672Slisps{ 19dafc4672Slisps 20dafc4672Slisps /* 21dafc4672Slisps * enable sectionedit by default 22dafc4672Slisps */ 23*a342ad33Seinhirn public function __construct() 24dafc4672Slisps { 25dafc4672Slisps global $ID; 26dafc4672Slisps 27*a342ad33Seinhirn if ($ID != "") { 28dafc4672Slisps p_set_metadata($ID,array("sectionedit"=>"on"),FALSE,TRUE); 29dafc4672Slisps } 30dafc4672Slisps } 31dafc4672Slisps 32dafc4672Slisps /* 33dafc4672Slisps * What kind of syntax are we? 34dafc4672Slisps */ 35*a342ad33Seinhirn public function getType() 36dafc4672Slisps { 37dafc4672Slisps return 'substition'; 38dafc4672Slisps } 39dafc4672Slisps 40dafc4672Slisps /* 41dafc4672Slisps * Where to sort in? 42dafc4672Slisps */ 43*a342ad33Seinhirn public function getSort() 44dafc4672Slisps { 45dafc4672Slisps return 155; 46dafc4672Slisps } 47dafc4672Slisps 48dafc4672Slisps /* 49dafc4672Slisps * Paragraph Type 50dafc4672Slisps */ 51*a342ad33Seinhirn public function getPType() 52dafc4672Slisps { 53dafc4672Slisps return 'normal'; 54dafc4672Slisps } 55dafc4672Slisps 56dafc4672Slisps /* 57dafc4672Slisps * Connect pattern to lexer 58dafc4672Slisps */ 59*a342ad33Seinhirn public function connectTo($mode) 60dafc4672Slisps { 61dafc4672Slisps $this->Lexer->addSpecialPattern("~~NOSECTIONEDIT~~",$mode,'plugin_nosecedit'); 62dafc4672Slisps } 63dafc4672Slisps 64dafc4672Slisps 65dafc4672Slisps /* 66dafc4672Slisps * Handle the matches 67dafc4672Slisps */ 68*a342ad33Seinhirn public function handle($match, $state, $pos, Doku_Handler $handler) 69dafc4672Slisps { 70dafc4672Slisps global $ID; 71dafc4672Slisps return (array($ID=>TRUE)); 72dafc4672Slisps } 73dafc4672Slisps 74dafc4672Slisps /* 75dafc4672Slisps * Create output 76dafc4672Slisps */ 77*a342ad33Seinhirn public function render($mode, Doku_Renderer $renderer, $opt) 78dafc4672Slisps { 79dafc4672Slisps global $ID; 80dafc4672Slisps 81dafc4672Slisps //save flags to metadata 82dafc4672Slisps //if($mode == 'metadata') 83dafc4672Slisps { 84*a342ad33Seinhirn if (isset($opt[$ID])==TRUE) { 85*a342ad33Seinhirn p_set_metadata($ID,array("sectionedit"=>"off"),TRUE,TRUE); 86dafc4672Slisps } 87*a342ad33Seinhirn else { 88dafc4672Slisps p_set_metadata($ID,array("sectionedit"=>"on"),FALSE,TRUE); 89dafc4672Slisps } 90dafc4672Slisps } 91dafc4672Slisps return (TRUE); 92dafc4672Slisps } 93dafc4672Slisps} 94dafc4672Slisps//Setup VIM: ex: et ts=4 enc=utf-8 : 95