diff --git a/inc/common.php b/inc/common.php index 2c200cf5a9..df1017f61e 100644 --- a/inc/common.php +++ b/inc/common.php @@ -236,7 +236,7 @@ function breadcrumbs(){ } // page names - $name = noNS($ID); + $name = noNSorNS($ID); if ($conf['useheading']) { // get page title $title = p_get_first_heading($ID); diff --git a/inc/pageutils.php b/inc/pageutils.php index 659f822983..6f21a6e2e2 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -98,7 +98,7 @@ function cleanID($raw_id,$ascii=false){ // check if it's already in the memory cache if (isset($cache[$raw_id])) { return $cache[$raw_id]; - } + } $sepchar = $conf['sepchar']; if($sepcharpat == null) // build string only once to save clock cycles @@ -160,6 +160,33 @@ function noNS($id) { } } +/** +* Returns the current namespace +* +* @author Nathan Fritz +*/ +function curNS($id) { + return noNS(getNS($id)); +} + +/** +* Returns the ID without the namespace or current namespace for 'start' pages +* +* @author Nathan Fritz +*/ +function noNSorNS($id) { + global $conf; + + $p = noNS($id); + if ($p == $conf['start']) { + $p = curNS($id); + if ($p == false) { + return noNS($id); + } + } + return $p; +} + /** * returns the full path to the datafile specified by ID and * optional revision