xref: /plugin/include/syntax/locallink.php (revision 4aa23dc032350bb192c5996b0a65b04b948100b8)
179571bc1SMichael Hamann<?php
279571bc1SMichael Hamann/**
379571bc1SMichael Hamann * Include plugin (locallink component)
479571bc1SMichael Hamann *
579571bc1SMichael Hamann * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
679571bc1SMichael Hamann * @author  Michael Hamann <michael@content-space.de>
779571bc1SMichael Hamann */
879571bc1SMichael Hamann
979571bc1SMichael Hamannif (!defined('DOKU_INC')) die('must be used inside DokuWiki');
1079571bc1SMichael Hamann
1179571bc1SMichael Hamannclass syntax_plugin_include_locallink extends DokuWiki_Syntax_Plugin {
1279571bc1SMichael Hamann
1379571bc1SMichael Hamann    function getType() {
1479571bc1SMichael Hamann        return 'formatting';
1579571bc1SMichael Hamann    }
1679571bc1SMichael Hamann
1779571bc1SMichael Hamann    function getSort() {
1879571bc1SMichael Hamann        return 50;
1979571bc1SMichael Hamann    }
2079571bc1SMichael Hamann
21*4aa23dc0SGerrit Uitslag    function handle($match, $state, $pos, Doku_Handler $handler) {
2279571bc1SMichael Hamann        // this is a syntax plugin that doesn't offer any syntax, so there's nothing to handle by the parser
2379571bc1SMichael Hamann    }
2479571bc1SMichael Hamann
2579571bc1SMichael Hamann    /**
2679571bc1SMichael Hamann     * Displays a local link to an included page
2779571bc1SMichael Hamann     *
2879571bc1SMichael Hamann     * @author Michael Hamann <michael@content-space.de>
2979571bc1SMichael Hamann     */
30*4aa23dc0SGerrit Uitslag    function render($mode, Doku_Renderer $renderer, $data) {
317100e4a0SMichael Hamann        global $ID;
3279571bc1SMichael Hamann        if ($mode == 'xhtml') {
3379571bc1SMichael Hamann            /** @var Doku_Renderer_xhtml $renderer */
341473d1a2SMichael Hamann            list($hash, $name, $id) = $data;
357100e4a0SMichael Hamann            // construct title in the same way it would be done for internal links
361473d1a2SMichael Hamann            $default = $renderer->_simpleTitle($id);
371473d1a2SMichael Hamann            $name    = $renderer->_getLinkTitle($name, $default, $isImage, $id);
3879571bc1SMichael Hamann            $title   = $ID.' ↵';
3979571bc1SMichael Hamann            $renderer->doc .= '<a href="#'.$hash.'" title="'.$title.'" class="wikilink1">';
4079571bc1SMichael Hamann            $renderer->doc .= $name;
4179571bc1SMichael Hamann            $renderer->doc .= '</a>';
4279571bc1SMichael Hamann            return true;
4379571bc1SMichael Hamann        }
4479571bc1SMichael Hamann        return false;
4579571bc1SMichael Hamann    }
4679571bc1SMichael Hamann}
4779571bc1SMichael Hamann// vim:ts=4:sw=4:et:
48