diff options
-rw-r--r-- | _test/tests/inc/Utils/PageResolverTest.php | 1 | ||||
-rw-r--r-- | inc/pageutils.php | 10 |
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); } |