diff options
Diffstat (limited to 'tpl_functions.php')
-rw-r--r-- | tpl_functions.php | 55 |
1 files changed, 42 insertions, 13 deletions
diff --git a/tpl_functions.php b/tpl_functions.php index 6dc9e4bc2..0dfee9595 100644 --- a/tpl_functions.php +++ b/tpl_functions.php @@ -1,37 +1,66 @@ <?php +/** + * Template Functions + * + * This file provides template specific custom functions that are + * not provided by the DokuWiki core. + */ // must be run from within DokuWiki if (!defined('DOKU_INC')) die(); -if (!defined('DOKU_LF')) define('DOKU_LF',"\n"); - -/* @todo: fix label of buttons */ /** * Create link/button to discussion page and back + * + * @author Anika Henke <anika@selfthinker.org> */ -function _tpl_discussion($discussNS='discussion:',$link=0) { +function _tpl_discussion($discussNS='discussion',$link=0,$wrapper=0,$reverse=0) { global $ID; - if(substr($ID,0,strlen($discussNS))==$discussNS) { - $backID = substr(strstr($ID,':'),1); + + if ($reverse) { + $discussPage = $ID.':'.$discussNS; + $isDiscussPage = substr($ID,-strlen($discussNS),strlen($discussNS))==$discussNS; + $backID = substr($ID,0,-strlen($discussNS)); + } else { + $discussPage = $discussNS.':'.$ID; + $isDiscussPage = substr($ID,0,strlen($discussNS))==$discussNS; + $backID = strstr($ID,':'); + } + + if ($wrapper) echo "<$wrapper>"; + + if($isDiscussPage) { if ($link) - tpl_link(wl($backID),tpl_getLang('btn_back2article')); + tpl_pagelink($backID,tpl_getLang('back_to_article')); else - echo html_btn('back2article',$backID,'',array()); + echo html_btn('back2article',$backID,'',array(),0,0,tpl_getLang('back_to_article')); } else { if ($link) - tpl_link(wl($discussNS.$ID),tpl_getLang('btn_discussion')); + tpl_pagelink($discussPage,tpl_getLang('discussion')); else - echo html_btn('discussion',$discussNS.$ID,'',array()); + echo html_btn('discussion',$discussPage,'',array(),0,0,tpl_getLang('discussion')); } + + if ($wrapper) echo "</$wrapper>"; } /** * Create link/button to user page + * + * @author Anika Henke <anika@selfthinker.org> */ -function _tpl_userpage($userNS='user:',$link=0) { +function _tpl_userpage($userNS='user',$link=0,$wrapper=false) { + if (!$_SERVER['REMOTE_USER']) return; + global $conf; + $userPage = $userNS.':'.$_SERVER['REMOTE_USER'].':'.$conf['start']; + + if ($wrapper) echo "<$wrapper>"; + if ($link) - tpl_link(wl($userNS.$_SERVER['REMOTE_USER'].':'.$conf['start']),tpl_getLang('btn_userpage')); + tpl_pagelink($userPage,tpl_getLang('userpage')); else - echo html_btn('userpage',$userNS.$_SERVER['REMOTE_USER'].':'.$conf['start'],'',array()); + echo html_btn('userpage',$userPage,'',array(),0,0,tpl_getLang('userpage')); + + if ($wrapper) echo "</$wrapper>"; } |