From 0dba8923e988f8d13d55d13c82397a0829a7510b Mon Sep 17 00:00:00 2001 From: umherirrender Date: Thu, 5 Apr 2012 21:58:00 +0200 Subject: [PATCH] "Show Changes" on default messages shows now diff against default message text This is useful, because the textbox is already preloaded with the default message text and than it is nice to get the diff against that text. Change-Id: Icbfb0090c32ea09e34ec3ccba26863189854f8a6 --- RELEASE-NOTES-1.20 | 1 + includes/EditPage.php | 13 +++++++++++-- languages/messages/MessagesEn.php | 1 + languages/messages/MessagesQqq.php | 1 + maintenance/language/messages.inc | 1 + 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/RELEASE-NOTES-1.20 b/RELEASE-NOTES-1.20 index 3f6a79f653..9c0534903d 100644 --- a/RELEASE-NOTES-1.20 +++ b/RELEASE-NOTES-1.20 @@ -34,6 +34,7 @@ production. * (bug 34355) add a variable and parser function for the namespace number. * (bug 35649) Special:Version now shows hashes of extensions checked out from git. * (bug 35728) Git revisions are now linked on Special:Version. +* "Show Changes" on default messages shows now diff against default message text === Bug fixes in 1.20 === * (bug 30245) Use the correct way to construct a log page title. diff --git a/includes/EditPage.php b/includes/EditPage.php index 0b879c153f..69187e488a 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -2335,7 +2335,16 @@ HTML function showDiff() { global $wgUser, $wgContLang, $wgParser, $wgOut; - $oldtext = $this->mArticle->getRawText(); + $oldtitlemsg = 'currentrev'; + # if message does not exist, show diff against the preloaded default + if( $this->mTitle->getNamespace() == NS_MEDIAWIKI && !$this->mTitle->exists() ) { + $oldtext = $this->mTitle->getDefaultMessageText(); + if( $oldtext !== false ) { + $oldtitlemsg = 'defaultmessagetext'; + } + } else { + $oldtext = $this->mArticle->getRawText(); + } $newtext = $this->mArticle->replaceSection( $this->section, $this->textbox1, $this->summary, $this->edittime ); @@ -2345,7 +2354,7 @@ HTML $newtext = $wgParser->preSaveTransform( $newtext, $this->mTitle, $wgUser, $popts ); if ( $oldtext !== false || $newtext != '' ) { - $oldtitle = wfMsgExt( 'currentrev', array( 'parseinline' ) ); + $oldtitle = wfMsgExt( $oldtitlemsg, array( 'parseinline' ) ); $newtitle = wfMsgExt( 'yourtext', array( 'parseinline' ) ); $de = new DifferenceEngine( $this->mArticle->getContext() ); diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 7feec9dc67..ab3182d3a1 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -1463,6 +1463,7 @@ It appears to have been deleted.', It already exists.', 'addsection-preload' => '', # do not translate or duplicate this message to other languages 'addsection-editintro' => '', # do not translate or duplicate this message to other languages +'defaultmessagetext' => 'Default message text', # Parser/template warnings 'expensive-parserfunction-warning' => "'''Warning:''' This page contains too many expensive parser function calls. diff --git a/languages/messages/MessagesQqq.php b/languages/messages/MessagesQqq.php index f8577b06a0..11b03934a4 100644 --- a/languages/messages/MessagesQqq.php +++ b/languages/messages/MessagesQqq.php @@ -1001,6 +1001,7 @@ Please report at [[Support]] if you are unable to properly translate this messag 'recreate-moveddeleted-warn' => 'Warning shown when creating a page which has already been deleted. See for example [[Test]].', 'moveddeleted-notice' => 'Shown on top of a deleted page in normal view modus ([http://translatewiki.net/wiki/Test example]).', 'edit-conflict' => "An 'Edit conflict' happens when more than one edit is being made to a page at the same time. This would usually be caused by separate individuals working on the same page. However, if the system is slow, several edits from one individual could back up and attempt to apply simultaneously - causing the conflict.", +'defaultmessagetext' => 'Header in diff view, when using "Show Changes" on an default message, which shows a diff against the default message text', # Parser/template warnings 'expensive-parserfunction-warning' => 'On some (expensive) [[MetaWikipedia:Help:ParserFunctions|parser functions]] (e.g. {{#ifexist:}}) there is a limit of how many times it may be used. This is an error message shown when the limit is exceeded. diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index 230f397f4e..3c74403956 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -675,6 +675,7 @@ $wgMessageStructure = array( 'edit-already-exists', 'addsection-preload', 'addsection-editintro', + 'defaultmessagetext', ), 'parserwarnings' => array( 'expensive-parserfunction-warning', -- 2.20.1