aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--_test/tests/inc/Utils/PageResolverTest.php1
-rw-r--r--inc/pageutils.php10
2 files changed, 10 insertions, 1 deletions
diff --git a/_test/tests/inc/Utils/PageResolverTest.php b/_test/tests/inc/Utils/PageResolverTest.php
index 9ffcfe423..bdcff823c 100644
--- a/_test/tests/inc/Utils/PageResolverTest.php
+++ b/_test/tests/inc/Utils/PageResolverTest.php
@@ -68,6 +68,7 @@ class PageResolverTest extends \DokuWikiTest
// empty page links to itself
['context', '', 'context'],
+ ['foo:context', '', 'foo:context'],
];
// run each test without a hash
diff --git a/inc/pageutils.php b/inc/pageutils.php
index fe7c50084..04cc796d0 100644
--- a/inc/pageutils.php
+++ b/inc/pageutils.php
@@ -550,7 +550,15 @@ function resolve_mediaid($ns,&$media,&$exists,$rev='',$date_at=false){
function resolve_pageid($ns,&$page,&$exists,$rev='',$date_at=false )
{
dbg_deprecated(PageResolver::class);
- $resolver = new PageResolver("$ns:deprecated");
+
+ global $ID;
+ if(getNS($ID) == $ns) {
+ $context = $ID; // this is usually the case
+ } else {
+ $context = "$ns:deprecated"; // only used when a different context namespace was given
+ }
+
+ $resolver = new PageResolver($context);
$page = $resolver->resolveId($page, $rev, $date_at);
$exists = page_exists($page, $rev, false, $date_at);
}