summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/default.php5
-rw-r--r--conf/metadata.php5
-rw-r--r--lang/en/settings.php5
-rw-r--r--main.php8
-rw-r--r--tpl_functions.php53
5 files changed, 42 insertions, 34 deletions
diff --git a/conf/default.php b/conf/default.php
index e5bce5e9d..57b7bd581 100644
--- a/conf/default.php
+++ b/conf/default.php
@@ -5,8 +5,7 @@
*/
$conf['tagline'] = 'This is the tagline - explaining what this site is about.';
-$conf['discussionNS'] = 'discussion';
-$conf['discussNSreverse'] = 0;
-$conf['userNS'] = 'user';
+$conf['discussionPage'] = 'discussion:@ID@';
+$conf['userPage'] = 'user:@USER@:';
$conf['sidebarID'] = 'sidebar';
$conf['hideTools'] = 0;
diff --git a/conf/metadata.php b/conf/metadata.php
index 792c47ae2..88583bcd0 100644
--- a/conf/metadata.php
+++ b/conf/metadata.php
@@ -5,8 +5,7 @@
*/
$meta['tagline'] = array('string');
-$meta['discussionNS'] = array('string');
-$meta['discussNSreverse'] = array('onoff');
-$meta['userNS'] = array('string');
+$meta['discussionPage'] = array('string');
+$meta['userPage'] = array('string');
$meta['sidebarID'] = array('string');
$meta['hideTools'] = array('onoff');
diff --git a/lang/en/settings.php b/lang/en/settings.php
index e2fde20c4..356e95234 100644
--- a/lang/en/settings.php
+++ b/lang/en/settings.php
@@ -5,8 +5,7 @@
*/
$lang['tagline'] = 'Tagline';
-$lang['discussionNS'] = 'Discussion namespace (leave empty to disable discussions)';
-$lang['discussNSreverse'] = 'Reverse discussion namespace? (e.g. "foo:bar:discussion" instead of "discussion:foo:bar")';
-$lang['userNS'] = 'User namespace (leave empty to disable user pages)';
+$lang['discussionPage'] = 'Discussion page (leave empty to disable discussions)';
+$lang['userPage'] = 'User page (leave empty to disable user pages)';
$lang['sidebarID'] = 'page name of page included in sidebar';
$lang['hideTools'] = 'Hide tools when not logged in?';
diff --git a/main.php b/main.php
index 05829d192..d47f8d359 100644
--- a/main.php
+++ b/main.php
@@ -66,9 +66,7 @@ $showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && $_SERVER
echo '</li>';
}
tpl_action('admin', 1, 'li');
- if (tpl_getConf('userNS')) {
- _tpl_userpage(tpl_getConf('userNS'),1,'li');
- }
+ _tpl_action('userpage', 1, 'li');
tpl_action('profile', 1, 'li');
tpl_action('login', 1, 'li');
?>
@@ -138,9 +136,7 @@ $showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && $_SERVER
<ul>
<?php
tpl_action('edit', 1, 'li');
- if (tpl_getConf('discussionNS')) {
- _tpl_discussion(tpl_getConf('discussionNS'),1,'li',tpl_getConf('discussNSreverse'));
- }
+ _tpl_action('discussion', 1, 'li');
tpl_action('history', 1, 'li');
tpl_action('backlink', 1, 'li');
tpl_action('subscribe', 1, 'li');
diff --git a/tpl_functions.php b/tpl_functions.php
index d258ed38b..fcd50585a 100644
--- a/tpl_functions.php
+++ b/tpl_functions.php
@@ -16,31 +16,26 @@ if (!defined('DOKU_INC')) die();
*
* @author Anika Henke <anika@selfthinker.org>
*/
-function _tpl_discussion($discussNS='discussion',$link=0,$wrapper=0,$reverse=0) {
+function _tpl_discussion($discussionPage,$title,$backTitle,$link=0,$wrapper=0) {
global $ID;
- 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,':');
- }
+ $discussPage = str_replace('@ID@',$ID,$discussionPage);
+ $discussPageRaw = str_replace('@ID@','',$discussionPage);
+ $isDiscussPage = strpos($ID,$discussPageRaw)!==false;
+ $backID = str_replace($discussPageRaw,'',$ID);
if ($wrapper) echo "<$wrapper>";
- if($isDiscussPage) {
+ if ($isDiscussPage) {
if ($link)
- tpl_pagelink($backID,tpl_getLang('back_to_article'));
+ tpl_pagelink($backID,$backTitle);
else
- echo html_btn('back2article',$backID,'',array(),0,0,tpl_getLang('back_to_article'));
+ echo html_btn('back2article',$backID,'',array(),0,0,$backTitle);
} else {
if ($link)
- tpl_pagelink($discussPage,tpl_getLang('discussion'));
+ tpl_pagelink($discussPage,$title);
else
- echo html_btn('discussion',$discussPage,'',array(),0,0,tpl_getLang('discussion'));
+ echo html_btn('discussion',$discussPage,'',array(),0,0,$title);
}
if ($wrapper) echo "</$wrapper>";
@@ -51,23 +46,43 @@ function _tpl_discussion($discussNS='discussion',$link=0,$wrapper=0,$reverse=0)
*
* @author Anika Henke <anika@selfthinker.org>
*/
-function _tpl_userpage($userNS='user',$link=0,$wrapper=false) {
+function _tpl_userpage($userPage,$title,$link=0,$wrapper=0) {
if (!$_SERVER['REMOTE_USER']) return;
global $conf;
- $userPage = $userNS.':'.$_SERVER['REMOTE_USER'].':'.$conf['start'];
+ $userPage = str_replace('@USER@',$_SERVER['REMOTE_USER'],$userPage);
if ($wrapper) echo "<$wrapper>";
if ($link)
- tpl_pagelink($userPage,tpl_getLang('userpage'));
+ tpl_pagelink($userPage,$title);
else
- echo html_btn('userpage',$userPage,'',array(),0,0,tpl_getLang('userpage'));
+ echo html_btn('userpage',$userPage,'',array(),0,0,$title);
if ($wrapper) echo "</$wrapper>";
}
/**
+ * Wrapper around custom template actions
+ *
+ * @author Anika Henke <anika@selfthinker.org>
+ */
+function _tpl_action($type,$link=0,$wrapper=0) {
+ switch ($type) {
+ case 'discussion':
+ if (tpl_getConf('discussionPage')) {
+ _tpl_discussion(tpl_getConf('discussionPage'),tpl_getLang('discussion'),tpl_getLang('back_to_article'),$link,$wrapper);
+ }
+ break;
+ case 'userpage':
+ if (tpl_getConf('userPage')) {
+ _tpl_userpage(tpl_getConf('userPage'),tpl_getLang('userpage'),$link,$wrapper);
+ }
+ break;
+ }
+}
+
+/**
* Use favicon.ico from data/media root directory if it exists, otherwise use
* the one in the template's image directory.
*