From 8052d83eca03e4f5ff7ac810c2b2debe47cfbdfa Mon Sep 17 00:00:00 2001 From: Rob Church Date: Thu, 28 Jun 2007 18:12:25 +0000 Subject: [PATCH] Sort out this ridiculous bug in Special:MovePage success message once and for all. Ditch the old message ("pagemovedtext") and introduce a new one ("movepage-moved") which expects proper links, parsed inline. Link to original page doesn't redirect. --- RELEASE-NOTES | 2 +- includes/SpecialMovepage.php | 16 +++++++++------- languages/messages/MessagesEn.php | 2 +- maintenance/language/messages.inc | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index fb6b2257c0..f92900e291 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -231,7 +231,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN security settings are cranked this way and AJAX-y gets used. * Delay AJAX watch initialization until click so IE 6 with ugly security settings doesn't prompt you until you use the link. - +* (bug 10399) Provide non-redirecting link to original title in Special:Movepage == API changes since 1.10 == diff --git a/includes/SpecialMovepage.php b/includes/SpecialMovepage.php index 1a22fbcd5b..49c91979f7 100644 --- a/includes/SpecialMovepage.php +++ b/includes/SpecialMovepage.php @@ -266,24 +266,26 @@ class MovePageForm { } function showSuccess() { - global $wgOut, $wgRequest, $wgRawHtml; + global $wgOut, $wgRequest, $wgUser, $wgRawHtml; $wgOut->setPagetitle( wfMsg( 'movepage' ) ); $wgOut->setSubtitle( wfMsg( 'pagemovedsub' ) ); - $oldText = wfEscapeWikiText( $wgRequest->getVal('oldtitle') ); - $newText = wfEscapeWikiText( $wgRequest->getVal('newtitle') ); - $talkmoved = $wgRequest->getVal('talkmoved'); + $old = Title::newFromText( $wgRequest->getText( 'oldtitle' ) ); + $new = Title::newFromText( $wgRequest->getText( 'newtitle' ) ); + $talkmoved = $wgRequest->getVal( 'talkmoved' ); + + $olink = $wgUser->getSkin()->makeKnownLinkObj( $old, '', 'redirect=no' ); + $nlink = $wgUser->getSkin()->makeKnownLinkObj( $new ); - $wgOut->addHtml( wfMsgExt( 'pagemovedtext', array( 'parse' ), $oldText, $newText ) ); + $wgOut->addHtml( wfMsgExt( 'movepage-moved', array( 'parseinline', 'replaceafter' ), $olink, $nlink ) ); if ( $talkmoved == 1 ) { $wgOut->addWikiText( wfMsg( 'talkpagemoved' ) ); } elseif( 'articleexists' == $talkmoved ) { $wgOut->addWikiText( wfMsg( 'talkexists' ) ); } else { - $oldTitle = Title::newFromText( $oldText ); - if ( isset( $oldTitle ) && !$oldTitle->isTalkPage() && $talkmoved != 'notalkpage' ) { + if( !$old->isTalkPage() && $talkmoved != 'notalkpage' ) { $wgOut->addWikiText( wfMsg( 'talkpagenotmoved', wfMsg( $talkmoved ) ) ); } } diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 57864be510..569391dbb3 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -2098,7 +2098,7 @@ to move a page.', 'move-watch' => 'Watch this page', 'movepagebtn' => 'Move page', 'pagemovedsub' => 'Move succeeded', -'pagemovedtext' => 'Page "[[$1]]" moved to "[[$2]]".', +'movepage-moved' => "'''\"$1\" has been moved to \"$2\"'''", 'articleexists' => 'A page of that name already exists, or the name you have chosen is not valid. Please choose another name.', diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index b9eb636343..496b95ec85 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -1373,7 +1373,7 @@ $wgMessageStructure = array( 'move-watch', 'movepagebtn', 'pagemovedsub', - 'pagemovedtext', + 'movepage-moved', 'articleexists', 'talkexists', 'movedto', -- 2.20.1