From: Brion Vibber Date: Sun, 7 Jan 2007 12:30:46 +0000 (+0000) Subject: Fix regression in transclusion of {{MediaWiki:}} messages that don't exist locally. X-Git-Tag: 1.31.0-rc.0~54607 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=16783ab5106ad1b333552ee85ea88ed1a1ed4fdb;p=lhc%2Fweb%2Fwiklou.git Fix regression in transclusion of {{MediaWiki:}} messages that don't exist locally. (Regression because they used to be in the database and now aren't in most cases.) Some UI messages use this to get page names, for instance. Now grabs the value out of the message system if the page doesn't exist. --- diff --git a/includes/Parser.php b/includes/Parser.php index 31e6fb3057..f4679b6b3e 100644 --- a/includes/Parser.php +++ b/includes/Parser.php @@ -3239,10 +3239,19 @@ class Parser for ( $i = 0; $i < 2 && is_object( $title ); $i++ ) { $rev = Revision::newFromTitle( $title ); $this->mOutput->addTemplate( $title, $title->getArticleID() ); - if ( !$rev ) { + if ( $rev ) { + $text = $rev->getText(); + } elseif( $title->getNamespace() == NS_MEDIAWIKI ) { + global $wgLang; + $message = $wgLang->lcfirst( $title->getText() ); + $text = wfMsgForContentNoTrans( $message ); + if( wfEmptyMsg( $message, $text ) ) { + $text = false; + break; + } + } else { break; } - $text = $rev->getText(); if ( $text === false ) { break; } diff --git a/maintenance/parserTests.txt b/maintenance/parserTests.txt index 221d257a8b..730b038da1 100644 --- a/maintenance/parserTests.txt +++ b/maintenance/parserTests.txt @@ -4759,6 +4759,24 @@ Special page transclusion twice (bug 5021) !! end +!! test +Transclusion of default MediaWiki message +!! input +{{MediaWiki:Mainpage}} +!!result +

Main Page +

+!! end + +!! test +Transclusion of nonexistent MediaWiki message +!! input +{{MediaWiki:Mainpagexxx}} +!!result +

MediaWiki:Mainpagexxx +

+!! end + !! test Invalid header with following text !! input