1f1160750SMichael Klier<?php 2f1160750SMichael Klier/** 3f1160750SMichael Klier * Syntax Plugin Backlinks 4f1160750SMichael Klier * 5f1160750SMichael Klier * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 6f1160750SMichael Klier * @author Michael Klier <chi@chimeric.de> 7f1160750SMichael Klier */ 8f1160750SMichael Klier 9f1160750SMichael Klierif(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/'); 10f1160750SMichael Klierif(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 11*356cfb16SMichael Klierrequire_once(DOKU_PLUGIN.'syntax.php'); 12f1160750SMichael Klierif(!defined('DW_LF')) define('DW_LF',"\n"); 13f1160750SMichael Klier 14f1160750SMichael Klier/** 15f1160750SMichael Klier * All DokuWiki plugins to extend the parser/rendering mechanism 16f1160750SMichael Klier * need to inherit from this class 17f1160750SMichael Klier */ 18f1160750SMichael Klierclass syntax_plugin_clearfloat extends DokuWiki_Syntax_Plugin { 19f1160750SMichael Klier 20f1160750SMichael Klier 21f1160750SMichael Klier /** 22f1160750SMichael Klier * General Info 23f1160750SMichael Klier */ 24f1160750SMichael Klier function getInfo(){ 25f1160750SMichael Klier return array( 26f1160750SMichael Klier 'author' => 'Michael Klier (chi)', 27f1160750SMichael Klier 'email' => 'chi@chimeric.de', 28f1160750SMichael Klier 'date' => '2006-05-01', 29f1160750SMichael Klier 'name' => 'Clearfloat', 30f1160750SMichael Klier 'desc' => 'Clears previous floats form images etc.', 31f1160750SMichael Klier 'url' => 'http://www.chimeric.de/dokuwiki/plugins/clearfloat' 32f1160750SMichael Klier ); 33f1160750SMichael Klier } 34f1160750SMichael Klier 35f1160750SMichael Klier /** 36f1160750SMichael Klier * Syntax Type 37f1160750SMichael Klier * 38f1160750SMichael Klier * Needs to return one of the mode types defined in $PARSER_MODES in parser.php 39f1160750SMichael Klier */ 40f1160750SMichael Klier function getType(){ return 'substition'; } 41f1160750SMichael Klier function getPType() { return 'block'; } 42f1160750SMichael Klier function getSort() { return 308; } 43f1160750SMichael Klier 44f1160750SMichael Klier /** 45f1160750SMichael Klier * Connect pattern to lexer 46f1160750SMichael Klier */ 47f1160750SMichael Klier function connectTo($mode) { 48f1160750SMichael Klier $this->Lexer->addSpecialPattern('~~CLEARFLOAT~~',$mode,'plugin_clearfloat'); 49f1160750SMichael Klier } 50f1160750SMichael Klier 51f1160750SMichael Klier /** 52f1160750SMichael Klier * Handler to prepare matched data for the rendering process 53f1160750SMichael Klier */ 54f1160750SMichael Klier function handle($match, $state, $pos, &$handler){ 55f1160750SMichael Klier return array(); 56f1160750SMichael Klier } 57f1160750SMichael Klier 58f1160750SMichael Klier /** 59f1160750SMichael Klier * Handles the actual output creation. 60f1160750SMichael Klier */ 61f1160750SMichael Klier function render($mode, &$renderer, $data) { 62f1160750SMichael Klier global $ID; 63f1160750SMichael Klier 64f1160750SMichael Klier if($mode == 'xhtml'){ 65f1160750SMichael Klier $renderer->doc .= '<div class="clearer"></div>'; 66f1160750SMichael Klier return true; 67f1160750SMichael Klier } 68f1160750SMichael Klier return false; 69f1160750SMichael Klier } 70f1160750SMichael Klier 71f1160750SMichael Klier} 72f1160750SMichael Klier//Setup VIM: ex: et ts=4 enc=utf-8 : 73