From 8e2dc29944744fd1e096de7934b35130e752ba32 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Tue, 12 Nov 2013 22:37:07 +0100 Subject: [PATCH] init --- DokuWikiObjectRepresentation.class.php | 27 +++++++++++ plugin.info.txt | 7 +++ syntax.php | 66 ++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 DokuWikiObjectRepresentation.class.php create mode 100644 plugin.info.txt create mode 100644 syntax.php diff --git a/DokuWikiObjectRepresentation.class.php b/DokuWikiObjectRepresentation.class.php new file mode 100644 index 0000000..c5a2093 --- /dev/null +++ b/DokuWikiObjectRepresentation.class.php @@ -0,0 +1,27 @@ + + */ + +// must be run within DokuWiki +if (!defined('DOKU_INC')) die(); + +if (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN', DOKU_INC . 'lib/plugins/'); +require_once DOKU_PLUGIN . 'syntax.php'; + +require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'DokuWikiObjectRepresentation.class.php'; + +/** + * All DokuWiki plugins to extend the parser/rendering mechanism + * need to inherit from this class + */ +class syntax_plugin_objectrepresentation extends DokuWiki_Syntax_Plugin +{ + + function getInfo() + { + return array('author' => 'me', + 'email' => 'me@someplace.com', + 'date' => '2005-07-28', + 'name' => 'Now Plugin', + 'desc' => 'Include the current date and time', + 'url' => 'http://www.dokuwiki.org/devel:syntax_plugins'); + } + + function getType() + { + return 'substition'; + } + + function getSort() + { + return 32; + } + + function connectTo($mode) + { + $this->Lexer->addSpecialPattern('\[NOW\]', $mode, 'plugin_objectrepresentation'); + } + + function handle($match, $state, $pos, &$handler) + { + return array($match, $state, $pos); + } + + function render($mode, &$renderer, $data) + { + global $ID; + + $iter = new DokuWikiIterator(); + // $data is what the function handle return'ed. + if ($mode == 'xhtml') { + $renderer->doc .= date('r'); + return true; + } + return false; + } +} \ No newline at end of file