* * INSEE city: code database */ if (!defined ('DOKU_INC')) define ('DOKU_INC', realpath (__DIR__.'/../../../').'/'); if (!defined ('DOKU_PLUGIN')) define ('DOKU_PLUGIN', DOKU_INC.'lib/plugins/'); require_once(DOKU_PLUGIN.'syntax.php'); // ============================================================ class syntax_plugin_ol3 extends DokuWiki_Syntax_Plugin { // ============================================================ function getType () { return 'substition'; } function getPType () { return 'block'; } function getSort () { return 299; } function connectTo ($mode) { $this->Lexer->addSpecialPattern ('\{\{ol3[^}]*\}\}', $mode, 'plugin_ol3'); } // ============================================================ function handle ($match, $state, $pos, Doku_Handler $handler) { switch ($state) { case DOKU_LEXER_SPECIAL : return array ($state, trim (substr ($match, 5, -2))); // "{{ol3" => 5 "}}" => 2 } return false; } // ============================================================ function render ($mode, Doku_Renderer $renderer, $indata) { $dumy = ""; if (empty($indata)) return false; if ($mode != 'xhtml') return false; list ($instr, $data) = $indata; switch ($instr) { case DOKU_LEXER_SPECIAL : $args = " ".$data." "; if (preg_match_all ("#(\"[^\"]*\")* help (\"[^\"]*\")*#", strtolower ($args), $dumy) > 0) { $renderer->doc .= $this->ol3Help (); return true; } if (preg_match_all ("#(\"[^\"]*\")* test (\"[^\"]*\")*#", strtolower ($args), $dumy) > 0) { $renderer->doc .= $this->ol3Test (); return true; } } return true; } // ============================================================ function ol3Help () { $url = "http://admin.parlenet.org/plugins/ol3/"; return '

Help OL3

'.NL. ''.NL. '

'.$url.'

'.NL; } // ============================================================ function ol3Test () { return ''.NL. '
'.NL; } // ============================================================ }