aboutsummaryrefslogtreecommitdiff
path: root/mod/dokuwiki/vendors/dokuwiki/lib/plugins/indexmenu/syntax/tag.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/dokuwiki/vendors/dokuwiki/lib/plugins/indexmenu/syntax/tag.php')
-rw-r--r--mod/dokuwiki/vendors/dokuwiki/lib/plugins/indexmenu/syntax/tag.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/mod/dokuwiki/vendors/dokuwiki/lib/plugins/indexmenu/syntax/tag.php b/mod/dokuwiki/vendors/dokuwiki/lib/plugins/indexmenu/syntax/tag.php
new file mode 100644
index 000000000..962f7efca
--- /dev/null
+++ b/mod/dokuwiki/vendors/dokuwiki/lib/plugins/indexmenu/syntax/tag.php
@@ -0,0 +1,70 @@
+<?php
+
+/**
+ * Info Indexmenu tag: Tag a page with a sort number.
+ *
+ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author Samuele Tognini <samuele@netsons.org>
+ *
+ */
+
+if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
+if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
+require_once(DOKU_PLUGIN.'syntax.php');
+
+/**
+ * All DokuWiki plugins to extend the parser/rendering mechanism
+ * need to inherit from this class
+ */
+class syntax_plugin_indexmenu_tag extends DokuWiki_Syntax_Plugin {
+
+ /**
+ * return some info
+ */
+ function getInfo(){
+ return array(
+ 'author' => 'Samuele Tognini',
+ 'email' => 'samuele@netsons.org',
+ 'date' => rtrim(io_readFile(DOKU_PLUGIN.'indexmenu/VERSION.txt')),
+ 'name' => 'Indexmenu tag',
+ 'desc' => 'Indexmenu tag plugin.',
+ 'url' => 'http://wiki.splitbrain.org/plugin:indexmenu'
+ );
+ }
+
+ /**
+ * What kind of syntax are we?
+ */
+ function getType(){
+ return 'substition';
+ }
+
+ /**
+ * Where to sort in?
+ */
+ function getSort(){
+ return 139;
+ }
+
+ /**
+ * Connect pattern to lexer
+ */
+ function connectTo($mode) {
+ $this->Lexer->addSpecialPattern('{{indexmenu_n>.+?}}',$mode,'plugin_indexmenu_tag');
+ }
+
+ /**
+ * Handle the match
+ */
+ function handle($match, $state, $pos, &$handler){
+ $match = substr($match,14,-2);
+ return array($match);
+ }
+
+ /**
+ * Render output
+ */
+ function render($mode, &$renderer, $data) {
+ if (is_numeric($data[0])) $renderer->meta['indexmenu_n'] = $data[0];;
+ }
+} \ No newline at end of file