1*2e6b7ea4Sfiwswe<?php 2*2e6b7ea4Sfiwswe/** 3*2e6b7ea4Sfiwswe * DokuWiki Plugin embeddedphp (Syntax Component) 4*2e6b7ea4Sfiwswe * 5*2e6b7ea4Sfiwswe * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html 6*2e6b7ea4Sfiwswe * @author fiwswe <dwplugin@fwml.de> 7*2e6b7ea4Sfiwswe */ 8*2e6b7ea4Sfiwsweclass syntax_plugin_embeddedphp_phpblock extends syntax_plugin_embeddedphp_phpinline 9*2e6b7ea4Sfiwswe{ 10*2e6b7ea4Sfiwswe /** @inheritDoc */ 11*2e6b7ea4Sfiwswe public function GetTag(): string 12*2e6b7ea4Sfiwswe { 13*2e6b7ea4Sfiwswe return 'PHP'; 14*2e6b7ea4Sfiwswe } 15*2e6b7ea4Sfiwswe 16*2e6b7ea4Sfiwswe /** @inheritDoc */ 17*2e6b7ea4Sfiwswe public function getPType() 18*2e6b7ea4Sfiwswe { 19*2e6b7ea4Sfiwswe return 'block'; 20*2e6b7ea4Sfiwswe } 21*2e6b7ea4Sfiwswe 22*2e6b7ea4Sfiwswe /** @inheritDoc */ 23*2e6b7ea4Sfiwswe public function render($mode, Doku_Renderer $renderer, $data) 24*2e6b7ea4Sfiwswe { 25*2e6b7ea4Sfiwswe if ($mode === 'xhtml') { 26*2e6b7ea4Sfiwswe if (is_array($data) && (count($data) > 1)) { 27*2e6b7ea4Sfiwswe $this->phpblock($data[1], $renderer); 28*2e6b7ea4Sfiwswe 29*2e6b7ea4Sfiwswe return true; 30*2e6b7ea4Sfiwswe } 31*2e6b7ea4Sfiwswe } 32*2e6b7ea4Sfiwswe 33*2e6b7ea4Sfiwswe return false; 34*2e6b7ea4Sfiwswe } 35*2e6b7ea4Sfiwswe 36*2e6b7ea4Sfiwswe /** 37*2e6b7ea4Sfiwswe * Output block level PHP code 38*2e6b7ea4Sfiwswe * 39*2e6b7ea4Sfiwswe * If $conf['phpok'] is true this should evaluate the given code and append the result 40*2e6b7ea4Sfiwswe * to $doc 41*2e6b7ea4Sfiwswe * 42*2e6b7ea4Sfiwswe * @param string $text The PHP code 43*2e6b7ea4Sfiwswe * @param Doku_Renderer $renderer Renderer used for output 44*2e6b7ea4Sfiwswe */ 45*2e6b7ea4Sfiwswe public function phpblock($text, Doku_Renderer $renderer): void { 46*2e6b7ea4Sfiwswe $this->php($text, $renderer, 'pre'); 47*2e6b7ea4Sfiwswe } 48*2e6b7ea4Sfiwswe 49*2e6b7ea4Sfiwswe /** @inheritDoc */ 50*2e6b7ea4Sfiwswe public function isBlockElement(): bool 51*2e6b7ea4Sfiwswe { 52*2e6b7ea4Sfiwswe return true; 53*2e6b7ea4Sfiwswe } 54*2e6b7ea4Sfiwswe} 55*2e6b7ea4Sfiwswe 56