diff options
author | Yaco <franco@reevo.org> | 2022-03-08 13:08:34 +0000 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2022-03-08 13:08:34 +0000 |
commit | c985c40d3f3fc6a2be3be3186df3bf2f32189475 (patch) | |
tree | cee11f5e5a7e351ee0fec36d58d72cbee4f7e49b /platform/www/lib/plugins/translation/syntax/trans.php |
first commit after acervus codebase
Diffstat (limited to 'platform/www/lib/plugins/translation/syntax/trans.php')
-rw-r--r-- | platform/www/lib/plugins/translation/syntax/trans.php | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/platform/www/lib/plugins/translation/syntax/trans.php b/platform/www/lib/plugins/translation/syntax/trans.php new file mode 100644 index 0000000..152276e --- /dev/null +++ b/platform/www/lib/plugins/translation/syntax/trans.php @@ -0,0 +1,72 @@ +<?php +/** + * Translation Plugin: Simple multilanguage plugin + * + * @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(); + +/** + * Class syntax_plugin_translation_trans + */ +class syntax_plugin_translation_trans extends DokuWiki_Syntax_Plugin { + /** + * What kind of syntax are we? + */ + function getType() { + return 'substition'; + } + + /** + * Where to sort in? + */ + function getSort() { + return 155; + } + + /** + * Connect pattern to lexer + * + * @param string $mode + */ + function connectTo($mode) { + $this->Lexer->addSpecialPattern('~~TRANS~~', $mode, 'plugin_translation_trans'); + } + + /** + * Handler to prepare matched data for the rendering process + * + * @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) { + return array(); + } + + /** + * Handles the actual output creation. + * + * @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) { + if($format != 'xhtml') return false; + // disable caching + $renderer->nocache(); + + /** @var helper_plugin_translation $hlp */ + $hlp = plugin_load('helper', 'translation'); + $renderer->doc .= $hlp->showTranslations(); + return true; + } + +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : |