aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--_test/tests/inc/parser/renderer_resolveinterwiki.test.php14
-rw-r--r--inc/parser/renderer.php5
-rw-r--r--inc/parser/xhtml.php2
3 files changed, 19 insertions, 2 deletions
diff --git a/_test/tests/inc/parser/renderer_resolveinterwiki.test.php b/_test/tests/inc/parser/renderer_resolveinterwiki.test.php
index 8ace02fab..ae23280cf 100644
--- a/_test/tests/inc/parser/renderer_resolveinterwiki.test.php
+++ b/_test/tests/inc/parser/renderer_resolveinterwiki.test.php
@@ -43,6 +43,7 @@ class Test_resolveInterwiki extends DokuWikiTest {
function testNonexisting() {
$Renderer = new Doku_Renderer();
$Renderer->interwiki = getInterwiki();
+ unset($Renderer->interwiki['default']);
$shortcut = 'nonexisting';
$reference = 'foo @+%/';
@@ -52,4 +53,17 @@ class Test_resolveInterwiki extends DokuWikiTest {
$this->assertEquals('', $shortcut);
}
+ function testNonexistingWithDefault() {
+ $Renderer = new Doku_Renderer();
+ $Renderer->interwiki = getInterwiki();
+ $Renderer->interwiki['default'] = 'https://en.wikipedia.org/wiki/{NAME}';
+
+ $shortcut = 'nonexisting';
+ $reference = 'foo';
+ $url = $Renderer->_resolveInterWiki($shortcut, $reference);
+
+ $this->assertEquals('https://en.wikipedia.org/wiki/foo', $url);
+ $this->assertEquals('default', $shortcut);
+ }
+
}
diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php
index fe4eb7908..9720cfd90 100644
--- a/inc/parser/renderer.php
+++ b/inc/parser/renderer.php
@@ -845,7 +845,10 @@ abstract class Doku_Renderer extends Plugin {
//get interwiki URL
if(isset($this->interwiki[$shortcut])) {
$url = $this->interwiki[$shortcut];
- } else {
+ }elseif(isset($this->interwiki['default'])) {
+ $shortcut = 'default';
+ $url = $this->interwiki[$shortcut];
+ }else{
// not parsable interwiki outputs '' to make sure string manipluation works
$shortcut = '';
$url = '';
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index f448d8a25..b1931d6f0 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -1647,7 +1647,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
if(!$render) {
// if the picture is not supposed to be rendered
// return the title of the picture
- if(!$title) {
+ if($title === null || $title === "") {
// just show the sourcename
$title = $this->_xmlEntities(\dokuwiki\Utf8\PhpString::basename(noNS($src)));
}