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