1<?php 2/** 3 * DokuWiki Plugin pagehere (Syntax Component) 4 * 5 * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html 6 * @author Andreas Gohr <gohr@cosmocode.de> 7 */ 8 9// must be run within Dokuwiki 10if (!defined('DOKU_INC')) die(); 11 12if (!defined('DOKU_LF')) define('DOKU_LF', "\n"); 13if (!defined('DOKU_TAB')) define('DOKU_TAB', "\t"); 14if (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 15 16require_once DOKU_PLUGIN.'syntax.php'; 17 18class syntax_plugin_pagehere extends DokuWiki_Syntax_Plugin { 19 public function getType() { 20 return 'substition'; 21 } 22 23 public function getPType() { 24 return 'normal'; 25 } 26 27 public function getSort() { 28 return 133; 29 } 30 31 32 public function connectTo($mode) { 33 $this->Lexer->addSpecialPattern('{{pagehere}}',$mode,'plugin_pagehere'); 34 } 35 36 public function handle($match, $state, $pos, Doku_Handler $handler){ 37 $data = array(); 38 return $data; 39 } 40 41 public function render($mode, Doku_Renderer $R, $data) { 42 $R->info['cache'] = false; 43 if($mode != 'xhtml') return false; 44 45 global $INFO; 46 global $ID; 47 $check = $INFO['namespace'].':pagehere'; 48 if(auth_quickaclcheck($check) < AUTH_EDIT) return; 49 50 $R->doc .= '<form class="plugin_pagehere" action="'.script().'" method="GET">'; 51 $R->doc .= '<input name="id" type="hidden" value="'.hsc($ID).'" />'; 52 $R->doc .= '<input name="pagehere" class="edit" type="text" id="page__here" />'; 53 $R->doc .= '<input type="submit" value="'.$this->getLang('submit').'" class="btn" />'; 54 $R->doc .= '</form>'; 55 56 return true; 57 } 58} 59 60// vim:ts=4:sw=4:et: 61