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