From 896a5c22ad2bfe6b07b70324ed639fbaf9a20869 Mon Sep 17 00:00:00 2001 From: andi Date: Sun, 26 Jun 2005 17:16:17 +0200 Subject: plugin info added Each plugin now needs to return some infos about it self. This allows to display a list of installed plugins using the info plugin. darcs-hash:20050626151617-9977f-0be6e15b32c35b23967e509b0057a00226df150c.gz --- lib/plugins/info/syntax.php | 61 ++++++++++++++++++++++++++++++++++++++++++--- lib/plugins/syntax.php | 16 ++++++++++++ 2 files changed, 74 insertions(+), 3 deletions(-) diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php index f0afcf2ec..34acd98b7 100644 --- a/lib/plugins/info/syntax.php +++ b/lib/plugins/info/syntax.php @@ -16,6 +16,20 @@ require_once(DOKU_PLUGIN.'syntax.php'); */ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { + /** + * return some info + */ + function getInfo(){ + return array( + 'author' => 'Andreas Gohr', + 'email' => 'andi@splitbrain.org', + 'date' => '2005-06-26', + 'name' => 'Info Plugin', + 'desc' => 'Displays information about various DokuWiki internals', + 'url' => 'http://wiki.splitbrain.org/plugin:info', + ); + } + /** * What kind of syntax are we? */ @@ -23,6 +37,13 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { return 'substition'; } + /** + * What about paragraphs? + */ + function getPType(){ + return 'block'; + } + /** * Where to sort in? */ @@ -54,15 +75,18 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { if($mode == 'xhtml'){ //handle various info stuff switch ($data[0]){ - case 'version'; + case 'version': $renderer->doc .= getVersion(); break; - case 'syntaxmodes'; + case 'syntaxmodes': $renderer->doc .= $this->_syntaxmodes_xhtml(); break; - case 'syntaxtypes'; + case 'syntaxtypes': $renderer->doc .= $this->_syntaxtypes_xhtml(); break; + case 'syntaxplugins': + $this->_syntaxplugins_xhtml($renderer); + break; default: $renderer->doc .= "no info about ".htmlspecialchars($data[0]); } @@ -71,6 +95,37 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin { return false; } + /** + * list all installed syntax plugins + * + * uses some of the original renderer methods + */ + function _syntaxplugins_xhtml(& $renderer){ + global $lang; + $renderer->doc .= ''; + } + /** * lists all known syntax types and their registered modes */ diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index 2a67a5ca5..bf03fdf2c 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -16,6 +16,22 @@ require_once(DOKU_INC.'inc/parser/parser.php'); */ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { + /** + * General Info + * + * Needs to return a associative array with the following values: + * + * author - Author of the plugin + * email - Email address to contact the author + * date - Last modified date of the plugin in YYYY-MM-DD format + * name - Name of the plugin + * desc - Short description of the plugin (Text only) + * url - Website with more information on the plugin (eg. syntax description) + */ + function getInfo(){ + trigger_error('getType() not implemented in '.get_class($this), E_USER_WARNING); + } + /** * Syntax Type * -- cgit v1.2.3