diff options
author | Andreas Gohr <gohr@cosmocode.de> | 2019-10-10 09:55:14 +0200 |
---|---|---|
committer | Andreas Gohr <gohr@cosmocode.de> | 2019-10-10 09:55:14 +0200 |
commit | 31a58aba4c24b34c34ad5764d1a35b7c398c3a2c (patch) | |
tree | 7f4d1546fbb69863a7d366fc1ff647f784853b68 /lib/plugins/syntax.php | |
parent | af7ba5aa0bd10fc0ad9ef983006305b4c5a8ed42 (diff) | |
parent | c0c77cd20b23921c9e893bb70b99f38be153875a (diff) | |
download | dokuwiki-31a58aba4c24b34c34ad5764d1a35b7c398c3a2c.tar.gz dokuwiki-31a58aba4c24b34c34ad5764d1a35b7c398c3a2c.zip |
Merge branch 'psr2'
* psr2: (160 commits)
fixed merge error
Moved parts of the Asian word handling to its own class
ignore snake_case error of substr_replace
fixed some line length errors
ignore PSR2 in the old form class
fix PSR2 error in switch statement
replaced deprecated utf8 functions
formatting cleanup
mark old utf8 functions deprecated
some more PSR2 cleanup
Some cleanup for the UTF-8 stuff
Moved all utf8 methods to their own namespaced classes
Create separate table files for UTF-8 handling
Ignore mixed concerns in loader
Use type safe comparisons in loader
Remove obsolete include
adjust phpcs exclude patterns for new plugin classes
🚚 Move Subscription class to deprecated.php
♻️ Split up ChangesSubscriptionSender into multiple classes
Minor optimizations in PluginController
...
Diffstat (limited to 'lib/plugins/syntax.php')
-rw-r--r-- | lib/plugins/syntax.php | 134 |
1 files changed, 1 insertions, 133 deletions
diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index 9e2913d78..a3cbec722 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -1,134 +1,2 @@ <?php -/** - * Syntax Plugin Prototype - * - * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author Andreas Gohr <andi@splitbrain.org> - */ -// must be run within Dokuwiki -if(!defined('DOKU_INC')) die(); - -/** - * All DokuWiki plugins to extend the parser/rendering mechanism - * need to inherit from this class - */ -class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin { - - var $allowedModesSetup = false; - - /** - * Syntax Type - * - * Needs to return one of the mode types defined in $PARSER_MODES in parser.php - * - * @return string - */ - function getType(){ - trigger_error('getType() not implemented in '.get_class($this), E_USER_WARNING); - return ''; - } - - /** - * Allowed Mode Types - * - * Defines the mode types for other dokuwiki markup that maybe nested within the - * plugin's own markup. Needs to return an array of one or more of the mode types - * defined in $PARSER_MODES in parser.php - * - * @return array - */ - function getAllowedTypes() { - return array(); - } - - /** - * Paragraph Type - * - * Defines how this syntax is handled regarding paragraphs. This is important - * for correct XHTML nesting. Should return one of the following: - * - * 'normal' - The plugin can be used inside paragraphs - * 'block' - Open paragraphs need to be closed before plugin output - * 'stack' - Special case. Plugin wraps other paragraphs. - * - * @see Doku_Handler_Block - * - * @return string - */ - function getPType(){ - return 'normal'; - } - - /** - * Handler to prepare matched data for the rendering process - * - * This function can only pass data to render() via its return value - render() - * may be not be run during the object's current life. - * - * Usually you should only need the $match param. - * - * @param string $match The text matched by the patterns - * @param int $state The lexer state for the match - * @param int $pos The character position of the matched text - * @param Doku_Handler $handler The Doku_Handler object - * @return bool|array Return an array with all data you want to use in render, false don't add an instruction - */ - function handle($match, $state, $pos, Doku_Handler $handler){ - trigger_error('handle() not implemented in '.get_class($this), E_USER_WARNING); - } - - /** - * Handles the actual output creation. - * - * The function must not assume any other of the classes methods have been run - * during the object's current life. The only reliable data it receives are its - * parameters. - * - * The function should always check for the given output format and return false - * when a format isn't supported. - * - * $renderer contains a reference to the renderer object which is - * currently handling the rendering. You need to use it for writing - * the output. How this is done depends on the renderer used (specified - * by $format - * - * The contents of the $data array depends on what the handler() function above - * created - * - * @param string $format output format being rendered - * @param Doku_Renderer $renderer the current renderer object - * @param array $data data created by handler() - * @return boolean rendered correctly? (however, returned value is not used at the moment) - */ - function render($format, Doku_Renderer $renderer, $data) { - trigger_error('render() not implemented in '.get_class($this), E_USER_WARNING); - - } - - /** - * There should be no need to override this function - * - * @param string $mode - * @return bool - */ - function accepts($mode) { - - if (!$this->allowedModesSetup) { - global $PARSER_MODES; - - $allowedModeTypes = $this->getAllowedTypes(); - foreach($allowedModeTypes as $mt) { - $this->allowedModes = array_merge($this->allowedModes, $PARSER_MODES[$mt]); - } - - $idx = array_search(substr(get_class($this), 7), (array) $this->allowedModes); - if ($idx !== false) { - unset($this->allowedModes[$idx]); - } - $this->allowedModesSetup = true; - } - - return parent::accepts($mode); - } -} -//Setup VIM: ex: et ts=4 : +dbg_deprecated('Autoloading. Do not require() files yourself.'); |