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