xref: /plugin/include/syntax/locallink.php (revision dc971206f46709f6cdf0cfe6d8fb33c31912b6bd)
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 Hamannclass syntax_plugin_include_locallink extends DokuWiki_Syntax_Plugin {
1079571bc1SMichael Hamann
1179571bc1SMichael Hamann    function getType() {
1279571bc1SMichael Hamann        return 'formatting';
1379571bc1SMichael Hamann    }
1479571bc1SMichael Hamann
1579571bc1SMichael Hamann    function getSort() {
1679571bc1SMichael Hamann        return 50;
1779571bc1SMichael Hamann    }
1879571bc1SMichael Hamann
19*4aa23dc0SGerrit Uitslag    function handle($match, $state, $pos, Doku_Handler $handler) {
2079571bc1SMichael Hamann        // this is a syntax plugin that doesn't offer any syntax, so there's nothing to handle by the parser
2179571bc1SMichael Hamann    }
2279571bc1SMichael Hamann
2379571bc1SMichael Hamann    /**
2479571bc1SMichael Hamann     * Displays a local link to an included page
2579571bc1SMichael Hamann     *
2679571bc1SMichael Hamann     * @author Michael Hamann <michael@content-space.de>
2779571bc1SMichael Hamann     */
28*4aa23dc0SGerrit Uitslag    function render($mode, Doku_Renderer $renderer, $data) {
297100e4a0SMichael Hamann        global $ID;
3079571bc1SMichael Hamann        if ($mode == 'xhtml') {
3179571bc1SMichael Hamann            /** @var Doku_Renderer_xhtml $renderer */
321473d1a2SMichael Hamann            list($hash, $name, $id) = $data;
337100e4a0SMichael Hamann            // construct title in the same way it would be done for internal links
341473d1a2SMichael Hamann            $default = $renderer->_simpleTitle($id);
351473d1a2SMichael Hamann            $name    = $renderer->_getLinkTitle($name, $default, $isImage, $id);
3679571bc1SMichael Hamann            $title   = $ID.' ↵';
3779571bc1SMichael Hamann            $renderer->doc .= '<a href="#'.$hash.'" title="'.$title.'" class="wikilink1">';
3879571bc1SMichael Hamann            $renderer->doc .= $name;
3979571bc1SMichael Hamann            $renderer->doc .= '</a>';
4079571bc1SMichael Hamann            return true;
4179571bc1SMichael Hamann        }
4279571bc1SMichael Hamann        return false;
4379571bc1SMichael Hamann    }
4479571bc1SMichael Hamann}
4579571bc1SMichael Hamann// vim:ts=4:sw=4:et:
46