xref: /plugin/include/syntax/locallink.php (revision 79571bc1a30553a19f80c43e27d69aaadccd893e)
1*79571bc1SMichael Hamann<?php
2*79571bc1SMichael Hamann/**
3*79571bc1SMichael Hamann * Include plugin (locallink component)
4*79571bc1SMichael Hamann *
5*79571bc1SMichael Hamann * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
6*79571bc1SMichael Hamann * @author  Michael Hamann <michael@content-space.de>
7*79571bc1SMichael Hamann */
8*79571bc1SMichael Hamann
9*79571bc1SMichael Hamannif (!defined('DOKU_INC')) die('must be used inside DokuWiki');
10*79571bc1SMichael Hamann
11*79571bc1SMichael Hamannclass syntax_plugin_include_locallink extends DokuWiki_Syntax_Plugin {
12*79571bc1SMichael Hamann
13*79571bc1SMichael Hamann    function getType() {
14*79571bc1SMichael Hamann        return 'formatting';
15*79571bc1SMichael Hamann    }
16*79571bc1SMichael Hamann
17*79571bc1SMichael Hamann    function getSort() {
18*79571bc1SMichael Hamann        return 50;
19*79571bc1SMichael Hamann    }
20*79571bc1SMichael Hamann
21*79571bc1SMichael Hamann    function handle($match, $state, $pos, &$handler) {
22*79571bc1SMichael Hamann        // this is a syntax plugin that doesn't offer any syntax, so there's nothing to handle by the parser
23*79571bc1SMichael Hamann    }
24*79571bc1SMichael Hamann
25*79571bc1SMichael Hamann    /**
26*79571bc1SMichael Hamann     * Displays a local link to an included page
27*79571bc1SMichael Hamann     *
28*79571bc1SMichael Hamann     * @author Michael Hamann <michael@content-space.de>
29*79571bc1SMichael Hamann     */
30*79571bc1SMichael Hamann    function render($mode, &$renderer, $data) {
31*79571bc1SMichael Hamann        if ($mode == 'xhtml') {
32*79571bc1SMichael Hamann            /** @var Doku_Renderer_xhtml $renderer */
33*79571bc1SMichael Hamann            list($hash, $name) = $data;
34*79571bc1SMichael Hamann            global $ID;
35*79571bc1SMichael Hamann            $name  = $renderer->_getLinkTitle($name, $hash, $isImage);
36*79571bc1SMichael Hamann            $title = $ID.' ↵';
37*79571bc1SMichael Hamann            $renderer->doc .= '<a href="#'.$hash.'" title="'.$title.'" class="wikilink1">';
38*79571bc1SMichael Hamann            $renderer->doc .= $name;
39*79571bc1SMichael Hamann            $renderer->doc .= '</a>';
40*79571bc1SMichael Hamann            return true;
41*79571bc1SMichael Hamann        }
42*79571bc1SMichael Hamann        return false;
43*79571bc1SMichael Hamann    }
44*79571bc1SMichael Hamann}
45*79571bc1SMichael Hamann// vim:ts=4:sw=4:et:
46