1<?php 2/** 3 * 4 * @url http://www.tux-tips.de/ 5 * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 6 * @author dan.kreiser <dan.kreiser@gmail.com> 7 */ 8 9if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/'); 10if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); 11require_once(DOKU_PLUGIN.'syntax.php'); 12 13class Syntax_Plugin_symbols extends DokuWiki_Syntax_Plugin { 14 15 function getInfo() { 16 return array( 17 'author' => 'Dan Kreiser', 18 'email' => 'dan-kreiser@gmail.com', 19 'date' => '2011-03-01', 20 'name' => 'symbols', 21 'desc' => 'display some small symbols', 22 'url' => 'http://www.tux-tips.de/tux-wiki/doku.php?id=start:dokuwiki:plugins', 23 ); 24 } 25 26 /** 27 * What kind of syntax are we? 28 */ 29 function getType(){ 30 return 'substition'; 31 } 32 33 /** 34 * What can we Do? 35 */ 36 function getAllowedTypes() { 37 return array(); 38 } 39 40 /** 41 * Where to sort in? 42 */ 43 function getSort(){ 44 return 999; 45 } 46 47 48 function connectTo($mode) { 49 $this->Lexer->addSpecialPattern('i_alert_icon',$mode,'plugin_symbols'); 50 $this->Lexer->addSpecialPattern('i_apple_icon',$mode,'plugin_symbols'); 51 $this->Lexer->addSpecialPattern('i_english_icon',$mode,'plugin_symbols'); 52 $this->Lexer->addSpecialPattern('i_fax_icon',$mode,'plugin_symbols'); 53 $this->Lexer->addSpecialPattern('i_german_icon',$mode,'plugin_symbols'); 54 $this->Lexer->addSpecialPattern('i_help_icon',$mode,'plugin_symbols'); 55 $this->Lexer->addSpecialPattern('i_home_icon',$mode,'plugin_symbols'); 56 $this->Lexer->addSpecialPattern('i_ihp_icon',$mode,'plugin_symbols'); 57 $this->Lexer->addSpecialPattern('i_important_icon',$mode,'plugin_symbols'); 58 $this->Lexer->addSpecialPattern('i_info_icon',$mode,'plugin_symbols'); 59 $this->Lexer->addSpecialPattern('i_linux_icon',$mode,'plugin_symbols'); 60 $this->Lexer->addSpecialPattern('i_mail_icon',$mode,'plugin_symbols'); 61 $this->Lexer->addSpecialPattern('i_no_icon',$mode,'plugin_symbols'); 62 $this->Lexer->addSpecialPattern('i_opensource_icon',$mode,'plugin_symbols'); 63 $this->Lexer->addSpecialPattern('i_phone_icon',$mode,'plugin_symbols'); 64 $this->Lexer->addSpecialPattern('i_star_icon',$mode,'plugin_symbols'); 65 $this->Lexer->addSpecialPattern('i_tip_icon',$mode,'plugin_symbols'); 66 $this->Lexer->addSpecialPattern('i_todo_icon',$mode,'plugin_symbols'); 67 $this->Lexer->addSpecialPattern('i_windows_icon',$mode,'plugin_symbols'); 68 $this->Lexer->addSpecialPattern('i_yes_icon',$mode,'plugin_symbols'); 69 } 70 71 function handle($match, $state, $pos, &$handler) { 72 return array($match); 73 } 74 75 function render($mode, &$renderer, $data) { 76 $name= substr($data[0],2, -5); 77 $renderer->doc .= '<img src="'. DOKU_URL .'lib/plugins/symbols/images/toolbar/symbols/' . $data[0] . '.png" alt="' . $name . '" title="' . $name .'" />'; 78 return true; 79 } 80 81} 82