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/'); 11356cfb16SMichael 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( 26151d17abSMichael Klier 'author' => 'Michael Klier', 27f1160750SMichael Klier 'email' => 'chi@chimeric.de', 28a8dc4981SMichael Klier 'date' => '2007-01-08', 29f1160750SMichael Klier 'name' => 'Clearfloat', 30151d17abSMichael Klier 'desc' => 'Clears previous floats from images.', 31378943caSMichael Klier 'url' => 'http://www.chimeric.de/projects/dokuwiki/plugin/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'); 49*1e0871f0SMichael Klier $this->Lexer->addSpecialPattern('~~CL~~',$mode,'plugin_clearfloat'); 50f1160750SMichael Klier } 51f1160750SMichael Klier 52f1160750SMichael Klier /** 53f1160750SMichael Klier * Handler to prepare matched data for the rendering process 54f1160750SMichael Klier */ 55f1160750SMichael Klier function handle($match, $state, $pos, &$handler){ 56f1160750SMichael Klier return array(); 57f1160750SMichael Klier } 58f1160750SMichael Klier 59f1160750SMichael Klier /** 60f1160750SMichael Klier * Handles the actual output creation. 61f1160750SMichael Klier */ 62f1160750SMichael Klier function render($mode, &$renderer, $data) { 63f1160750SMichael Klier if($mode == 'xhtml'){ 64a8dc4981SMichael Klier $renderer->doc .= '<div class="clearer"></div>' . DW_LF; 65f1160750SMichael Klier return true; 66f1160750SMichael Klier } 67f1160750SMichael Klier return false; 68f1160750SMichael Klier } 69f1160750SMichael Klier 70f1160750SMichael Klier} 71f1160750SMichael Klier//Setup VIM: ex: et ts=4 enc=utf-8 : 72