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