r86155 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r86154‎ | r86155 | r86156 >
Date:23:28, 15 April 2011
Author:demon
Status:ok
Tags:
Comment:
Merge r81448 from REL1_17: reverting RevisionMove feature back out until somebody has the time to work on it again. Reverts r67094 and its followups in trunk: r67099, r67111, r67112, r67115, r67398, r81425, r81427
Modified paths:
  • /trunk/phase3 (modified) (history)
  • /trunk/phase3/includes/Article.php (modified) (history)
  • /trunk/phase3/includes/AutoLoader.php (modified) (history)
  • /trunk/phase3/includes/DefaultSettings.php (modified) (history)
  • /trunk/phase3/includes/HistoryPage.php (modified) (history)
  • /trunk/phase3/includes/LogPage.php (modified) (history)
  • /trunk/phase3/includes/SpecialPage.php (modified) (history)
  • /trunk/phase3/includes/Wiki.php (modified) (history)
  • /trunk/phase3/includes/specials/SpecialRevisionMove.php (deleted) (history)
  • /trunk/phase3/languages/messages/MessagesEn.php (modified) (history)
  • /trunk/phase3/maintenance/language/messageTypes.inc (modified) (history)
  • /trunk/phase3/maintenance/language/messages.inc (modified) (history)

Diff [purge]

Index: trunk/phase3/maintenance/language/messages.inc
@@ -783,25 +783,6 @@
784784 'suppressionlog',
785785 'suppressionlogtext',
786786 ),
787 - 'revisionmove' => array(
788 - 'moverevlogentry',
789 - 'revisionmove',
790 - 'revisionmove-backlink',
791 - 'revmove-explain',
792 - 'revmove-legend',
793 - 'revmove-submit',
794 - 'revisionmoveselectedversions',
795 - 'revmove-reasonfield',
796 - 'revmove-titlefield',
797 - 'revmove-badparam-title' ,
798 - 'revmove-badparam',
799 - 'revmove-norevisions-title',
800 - 'revmove-norevisions',
801 - 'revmove-nullmove-title',
802 - 'revmove-nullmove',
803 - 'revmove-success-existing',
804 - 'revmove-success-created',
805 - ),
806787 'mergehistory' => array(
807788 'mergehistory',
808789 'mergehistory-header',
@@ -1148,7 +1129,6 @@
11491130 'right-reset-passwords',
11501131 'right-override-export-depth',
11511132 'right-sendemail',
1152 - 'right-revisionmove',
11531133 ),
11541134 'rightslog' => array(
11551135 'rightslog',
@@ -1191,7 +1171,6 @@
11921172 'action-userrights',
11931173 'action-userrights-interwiki',
11941174 'action-siteadmin',
1195 - 'action-revisionmove',
11961175 ),
11971176 'recentchanges' => array(
11981177 'nchanges',
@@ -3341,7 +3320,6 @@
33423321 'history-feed' => 'Revision feed',
33433322 'revdelete' => 'Revision deletion',
33443323 'suppression' => 'Suppression log',
3345 - 'revisionmove' => 'Revision move',
33463324 'mergehistory' => 'History merging',
33473325 'mergelog' => 'Merge log',
33483326 'diffs' => 'Diffs',
Index: trunk/phase3/maintenance/language/messageTypes.inc
@@ -388,7 +388,6 @@
389389 'prefs-memberingroups-type',
390390 'shared-repo-name-wikimediacommons',
391391 'usermessage-template',
392 - 'revisionmove-backlink',
393392 'filepage.css',
394393 'nocookiesforlogin',
395394 );
Index: trunk/phase3/includes/Article.php
@@ -1762,12 +1762,10 @@
17631763 * on.
17641764 * @param $lastRevIsRedirect Boolean: if given, will optimize adding and
17651765 * removing rows in redirect table.
1766 - * @param $setNewFlag Boolean: Set to true if a page flag should be set
1767 - * Needed when $lastRevision has to be set to sth. !=0
17681766 * @return bool true on success, false on failure
17691767 * @private
17701768 */
1771 - public function updateRevisionOn( &$dbw, $revision, $lastRevision = null, $lastRevIsRedirect = null, $setNewFlag = false ) {
 1769+ public function updateRevisionOn( &$dbw, $revision, $lastRevision = null, $lastRevIsRedirect = null ) {
17721770 wfProfileIn( __METHOD__ );
17731771
17741772 $text = $revision->getText();
@@ -1780,15 +1778,11 @@
17811779 $conditions['page_latest'] = $lastRevision;
17821780 }
17831781
1784 - if ( !$setNewFlag ) {
1785 - $setNewFlag = ( $lastRevision === 0 );
1786 - }
1787 -
17881782 $dbw->update( 'page',
17891783 array( /* SET */
17901784 'page_latest' => $revision->getId(),
17911785 'page_touched' => $dbw->timestamp(),
1792 - 'page_is_new' => $setNewFlag,
 1786+ 'page_is_new' => ( $lastRevision === 0 ) ? 1 : 0,
17931787 'page_is_redirect' => $rt !== null ? 1 : 0,
17941788 'page_len' => strlen( $text ),
17951789 ),
Index: trunk/phase3/includes/HistoryPage.php
@@ -403,9 +403,6 @@
404404 if ( $wgUser->isAllowed( 'deleterevision' ) ) {
405405 $s .= $this->getRevisionButton( 'revisiondelete', 'showhideselectedversions' );
406406 }
407 - if ( $wgUser->isAllowed( 'revisionmove' ) ) {
408 - $s .= $this->getRevisionButton( 'revisionmove', 'revisionmoveselectedversions' );
409 - }
410407 $this->buttons .= '</div>';
411408 $s .= '</div><ul id="pagehistory">' . "\n";
412409 return $s;
@@ -510,11 +507,10 @@
511508
512509 $del = '';
513510 // Show checkboxes for each revision
514 - if ( $wgUser->isAllowedAny( 'deleterevision', 'revisionmove' ) ) {
 511+ if ( $wgUser->isAllowed( 'deleterevision' ) ) {
515512 $this->preventClickjacking();
516513 // If revision was hidden from sysops, disable the checkbox
517 - // However, if the user has revisionmove rights, we cannot disable the checkbox
518 - if ( !$rev->userCan( Revision::DELETED_RESTRICTED ) && !$wgUser->isAllowed( 'revisionmove' ) ) {
 514+ if ( !$rev->userCan( Revision::DELETED_RESTRICTED ) ) {
519515 $del = Xml::check( 'deleterevisions', false, array( 'disabled' => 'disabled' ) );
520516 // Otherwise, enable the checkbox...
521517 } else {
Property changes on: trunk/phase3/includes/HistoryPage.php
___________________________________________________________________
Modified: svn:mergeinfo
522518 Merged /branches/REL1_17/phase3/includes/HistoryPage.php:r81448
Index: trunk/phase3/includes/AutoLoader.php
@@ -673,7 +673,6 @@
674674 'RevDel_ArchivedFileItem' => 'includes/revisiondelete/RevisionDelete.php',
675675 'RevDel_LogList' => 'includes/revisiondelete/RevisionDelete.php',
676676 'RevDel_LogItem' => 'includes/revisiondelete/RevisionDelete.php',
677 - 'SpecialRevisionMove' => 'includes/specials/SpecialRevisionMove.php',
678677 'ShortPagesPage' => 'includes/specials/SpecialShortpages.php',
679678 'SpecialActiveUsers' => 'includes/specials/SpecialActiveusers.php',
680679 'SpecialAllpages' => 'includes/specials/SpecialAllpages.php',
Property changes on: trunk/phase3/includes/AutoLoader.php
___________________________________________________________________
Modified: svn:mergeinfo
681680 Merged /branches/REL1_17/phase3/includes/AutoLoader.php:r81448
Index: trunk/phase3/includes/Wiki.php
@@ -556,11 +556,6 @@
557557 $special = SpecialPage::getPage( 'Revisiondelete' );
558558 $special->execute( '' );
559559 break;
560 - case 'revisionmove':
561 - // For revision move submission from history page
562 - $special = SpecialPage::getPage( 'RevisionMove' );
563 - $special->execute( '' );
564 - break;
565560 default:
566561 if ( wfRunHooks( 'UnknownAction', array( $act, $article ) ) ) {
567562 $this->context->output->showErrorPage( 'nosuchaction', 'nosuchactiontext' );
Index: trunk/phase3/includes/DefaultSettings.php
@@ -4834,7 +4834,6 @@
48354835 'upload/revert' => 'uploadedimage',
48364836 'move/move' => '1movedto2',
48374837 'move/move_redir' => '1movedto2_redir',
4838 - 'move/move_rev' => 'moverevlogentry',
48394838 'import/upload' => 'import-logentry-upload',
48404839 'import/interwiki' => 'import-logentry-interwiki',
48414840 'merge/merge' => 'pagemerge-logentry',
Index: trunk/phase3/includes/specials/SpecialRevisionMove.php
@@ -1,400 +0,0 @@
2 -<?php
3 -/**
4 - * Implements Special:RevisionMove
5 - *
6 - * This program is free software; you can redistribute it and/or modify
7 - * it under the terms of the GNU General Public License as published by
8 - * the Free Software Foundation; either version 2 of the License, or
9 - * (at your option) any later version.
10 - *
11 - * This program is distributed in the hope that it will be useful,
12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 - * GNU General Public License for more details.
15 - *
16 - * You should have received a copy of the GNU General Public License along
17 - * with this program; if not, write to the Free Software Foundation, Inc.,
18 - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 - * http://www.gnu.org/copyleft/gpl.html
20 - *
21 - * @file
22 - * @ingroup SpecialPage
23 - */
24 -
25 -/**
26 - * Special page allowing users with the appropriate permissions to
27 - * move revisions of a page to a new target (either an existing page or not)
28 - *
29 - * The user selects revisions in the page history (HistoryPage.php),
30 - * clicks on the submit button and gets this special page.
31 - * A form is shown (showForm()) where the user has to enter a target page
32 - * name and confirm the action with a post request & edit token.
33 - * Then submit() is called, which does some checks and calls moveRevisions().
34 - * If the target doesn't exist, a new page gets created. rev_page of the
35 - * selected revisions is updated, after that it is determined whether page_latest
36 - * of the target page and the source page require an update.
37 - *
38 - * **** NOTE: This feature is EXPERIMENTAL. ****
39 - * **** Do not use on any productive system. ****
40 - *
41 - * @ingroup SpecialPage
42 - * @todo In case page_deleted gets introduced some day, use it.
43 - * Currently it is possible with RevisionMove to make the latest revision
44 - * of a page a RevisionDeleted one. When that happens, the user is presented
45 - * an empty page with no error message whatsoever (in case he is not permitted
46 - * to view deleted edits).
47 -*/
48 -class SpecialRevisionMove extends UnlistedSpecialPage {
49 - # common objects
50 - var $mOldTitle; # Title object.
51 - var $mNewTitle; # Title object. Desired new title
52 - var $request; # WebRequest object, $wgRequest by default
53 - var $skin; # Skin object
54 - var $user; # User object
55 -
56 - # variables
57 - var $mIds; # Array of Ids to look at
58 - var $mRevlist; # RevDel_RevisionList object - borrowed from RevisionDelete
59 - var $mReason; # User-supplied reason for performing the move operation
60 - var $mSubmit; # Boolean: Is this a submitted request?
61 - var $mIsAllowedRevisionMove = false;
62 -
63 - public function __construct( $name = 'RevisionMove' ) {
64 - parent::__construct( $name );
65 - }
66 -
67 - /**
68 - * @param $par subpage part, standard special page parameter, is ignored here
69 - *
70 - * Mostly initializes variables and calls either showForm() or submit()
71 - */
72 - public function execute( $par ) {
73 - global $wgUser, $wgOut;
74 -
75 - $this->setHeaders();
76 - $this->outputHeader();
77 -
78 - $this->mIsAllowedRevisionMove = $wgUser->isAllowed( 'revisionmove' );
79 - $this->user = $wgUser;
80 - $this->skin = $wgUser->getSkin();
81 -
82 - if ( !$this->request instanceof WebRequest ) {
83 - $this->request = $GLOBALS['wgRequest'];
84 - }
85 -
86 - # Get correct title
87 - if ( $this->request->getVal( 'action' ) == 'historysubmit' ) {
88 - $this->mOldTitle = Title::newFromText( $this->request->getVal( 'title' ) );
89 - } else {
90 - $this->mOldTitle = Title::newFromText( $this->request->getVal( 'oldTitle' ) );
91 - }
92 -
93 - if ( !$this->mOldTitle instanceof Title ) {
94 - $wgOut->showErrorPage( 'revmove-badparam-title', 'revmove-badparam' );
95 - return;
96 - }
97 -
98 - $wgOut->setPagetitle( wfMsg( 'revisionmove', $this->mOldTitle->getPrefixedText() ) );
99 - $oldTitleLink = $this->skin->link( $this->mOldTitle );
100 - $wgOut->setSubtitle( wfMsg( 'revisionmove-backlink', $oldTitleLink ) );
101 -
102 - $this->mReason = $this->request->getText( 'wpReason' );
103 -
104 - # TODO maybe not needed here? Copied from SpecialRevisiondelete.php.
105 - # Keep for now, allow different inputs
106 - # Handle our many different possible input types for ids
107 - $ids = $this->request->getVal( 'ids' );
108 - if ( !is_null( $ids ) ) {
109 - # Allow CSV, for backwards compatibility, or a single ID for show/hide links
110 - $this->mIds = explode( ',', $ids );
111 - } else {
112 - # Array input
113 - $this->mIds = array_keys( $this->request->getArray( 'ids', array() ) );
114 - }
115 - $this->mIds = array_unique( array_filter( $this->mIds ) );
116 -
117 - if ( is_null ( $this->mIds ) ) {
118 - $wgOut->showErrorPage( 'revmove-badparam-title', 'revmove-badparam' );
119 - return;
120 - }
121 - $this->mRevlist = new RevDel_RevisionList( $this, $this->mOldTitle, $this->mIds );
122 -
123 - # Decide what to do: Show the form, or submit the changes
124 - if ( $this->request->wasPosted() ) {
125 - $this->submit();
126 - } else {
127 - $this->showForm();
128 - }
129 - }
130 -
131 - /**
132 - * Show a list of items that we will operate on and a field for the target name
133 - */
134 - public function showForm() {
135 - global $wgOut, $wgUser;
136 -
137 - if ( !$this->mIsAllowedRevisionMove ) {
138 - $permErrors = $this->mOldTitle->getUserPermissionsErrors( 'revisionmove', $this->user );
139 - $wgOut->showPermissionsErrorPage( $permErrors, 'revisionmove' );
140 - return false;
141 - }
142 -
143 - $wgOut->addWikiMsg( 'revmove-explain', $this->mOldTitle->getPrefixedText() );
144 - $listNotEmpty = $this->listItems();
145 - if ( !$listNotEmpty ) {
146 - return; # we're done, we already displayed an error earlier
147 - }
148 -
149 - $out = Xml::openElement( 'form', array( 'method' => 'post',
150 - 'action' => $this->getTitle()->getLocalUrl( array( 'action' => 'submit' ) ),
151 - 'id' => 'mw-revmove-form' ) ) .
152 - Xml::fieldset( wfMsg( 'revmove-legend' ) ) .
153 - Html::hidden( 'wpEditToken', $wgUser->editToken() ) .
154 - Html::hidden( 'oldTitle', $this->mOldTitle->getPrefixedText() ) .
155 - '<div>' . Xml::inputLabel( wfMsg( 'revmove-reasonfield' ), 'wpReason',
156 - 'revmove-reasonfield', 60 ) . '</div>' .
157 - Xml::inputLabel( wfMsg( 'revmove-titlefield' ), 'newTitle', 'revmove-titlefield', 20,
158 - $this->mOldTitle->getPrefixedText() ) .
159 - Html::hidden( 'ids', implode( ',', $this->mIds ) ) .
160 - Xml::submitButton( wfMsg( 'revmove-submit' ),
161 - array( 'name' => 'wpSubmit' ) ) .
162 - Xml::closeElement( 'fieldset' ) . "\n" .
163 - Xml::closeElement( 'form' ) . "\n";
164 - $wgOut->addHTML( $out );
165 - }
166 -
167 - /**
168 - * Show a list of selected revisions and check the input
169 - */
170 - protected function listItems() {
171 - global $wgOut;
172 -
173 - $wgOut->addHTML( "<ul>" );
174 -
175 - $numRevisions = 0;
176 -
177 - # No revisions specified at all
178 - if ( $this->mIds == array() ) {
179 - $wgOut->showErrorPage( 'revmove-norevisions-title', 'revmove-norevisions' );
180 - return false;
181 - }
182 -
183 - for ( $this->mRevlist->reset(); $this->mRevlist->current(); $this->mRevlist->next() ) {
184 - $item = $this->mRevlist->current();
185 - $numRevisions++;
186 - $wgOut->addHTML( $item->getHTML() );
187 - }
188 -
189 - # No valid revisions specified (e.g. only revs belonging to another page)
190 - if ( $numRevisions == 0 ) {
191 - $wgOut->showErrorPage( 'revmove-norevisions-title', 'revmove-norevisions' );
192 - return false;
193 - }
194 -
195 - $wgOut->addHTML( "</ul>" );
196 -
197 - return true;
198 - }
199 -
200 - /**
201 - * Submit the posted changes (in $this->request).
202 - *
203 - * This function does some checks and then calls moveRevisions(), which does the real work
204 - */
205 - public function submit() {
206 - global $wgUser, $wgOut;
207 -
208 - # Confirm permissions
209 - if ( !$this->mIsAllowedRevisionMove ) {
210 - $permErrors = $this->mOldTitle->getUserPermissionsErrors( 'revisionmove', $this->user );
211 - $wgOut->showPermissionsErrorPage( $permErrors, 'revisionmove' );
212 - return false;
213 - }
214 -
215 - # Confirm Token
216 - if ( !$wgUser->matchEditToken( $this->request->getVal( 'wpEditToken' ) ) ) {
217 - $wgOut->showErrorPage( 'sessionfailure-title', 'sessionfailure' );
218 - return false;
219 - }
220 -
221 - $this->mNewTitle = Title::newFromText( $this->request->getVal( 'newTitle' ) );
222 - if ( !$this->mNewTitle instanceof Title ) {
223 - $wgOut->showErrorPage( 'badtitle', 'badtitletext' );
224 - return false;
225 - }
226 -
227 - if ( $this->mNewTitle->getPrefixedText() == $this->mOldTitle->getPrefixedText() ) {
228 - $pagename = array( $this->mOldTitle->getPrefixedText() );
229 - $wgOut->showErrorPage( 'revmove-nullmove-title', 'revmove-nullmove', $pagename );
230 - return;
231 - }
232 -
233 - $this->moveRevisions();
234 - }
235 -
236 - /**
237 - * This function actually move the revision. NEVER call this function, call submit()
238 - */
239 - protected function moveRevisions() {
240 - $oldArticle = new Article( $this->mOldTitle );
241 - $newArticle = new Article( $this->mNewTitle );
242 -
243 - # Get DB connection and begin transaction
244 - $dbw = wfGetDB( DB_MASTER );
245 - $dbw->begin();
246 -
247 - # Check if the target exists. If not, try creating it
248 - if ( !$this->mNewTitle->exists() ) {
249 - $newArticle->insertOn( $dbw );
250 - $this->createArticle = true;
251 - } else {
252 - $this->createArticle = false;
253 - }
254 -
255 - # This is where the magic happens:
256 - # Update revision table
257 - $dbw->update( 'revision',
258 - array( 'rev_page' => $this->mNewTitle->getArticleID() ),
259 - array(
260 - 'rev_id' => $this->mIds,
261 - 'rev_page' => $this->mOldTitle->getArticleID(),
262 - ),
263 - __METHOD__
264 - );
265 - $modifiedRevsNum = $dbw->affectedRows();
266 -
267 - # Check if we need to update page_latest
268 - # Get the latest version of the revisions we are moving
269 - $timestampNewPage = $this->queryLatestTimestamp(
270 - $this->mNewTitle->getArticleID(),
271 - array( 'rev_id' => $this->mIds )
272 - );
273 -
274 - # Compare the new page's page_latest against db query.
275 - # If we create a new page, we have to update anyway
276 -
277 - $currentNewPageRev = Revision::newFromId( $this->mNewTitle->getLatestRevID() );
278 - if ( $this->createArticle || $timestampNewPage > $currentNewPageRev->getTimestamp() ) {
279 - # we have to set page_latest to $timestampNewPage's revid
280 - $this->updatePageLatest(
281 - $this->mNewTitle,
282 - $newArticle,
283 - $timestampNewPage,
284 - array( 'rev_id' => $this->mIds )
285 - );
286 - }
287 -
288 - # Update the old page's page_latest field
289 - $timestampOldPage = $this->queryLatestTimestamp(
290 - $this->mOldTitle->getArticleID()
291 - );
292 -
293 - # If the timestamp is null that means the page doesn't have
294 - # any revisions associated and should be deleted. In other words,
295 - # someone misused revisionmove for the normal move function.
296 - if ( is_null( $timestampOldPage ) ) {
297 - $dbw->delete(
298 - 'page',
299 - array( 'page_id' => $this->mOldTitle->getArticleID() ),
300 - __METHOD__
301 - );
302 - } else {
303 - # page_latest has to be updated
304 - $currentOldPageRev = Revision::newFromId( $this->mOldTitle->getLatestRevID() );
305 - if ( $timestampOldPage < $currentOldPageRev->getTimestamp() ) {
306 - $this->updatePageLatest(
307 - $this->mOldTitle,
308 - $oldArticle,
309 - $timestampOldPage
310 - );
311 - }
312 - # Purge the old one only if it hasn't been deleted
313 - $oldArticle->doPurge();
314 - }
315 -
316 - # All done, commit
317 - $dbw->commit();
318 -
319 - $this->logMove( $modifiedRevsNum );
320 -
321 - # Purge new article
322 - $newArticle->doPurge();
323 -
324 - # If noting went wrong (i.e. returned), we are successful
325 - $this->showSuccess( $modifiedRevsNum );
326 - }
327 -
328 - /**
329 - * Query for the latest timestamp in order to update page_latest and
330 - * page_timestamp.
331 - * @param $articleId Integer page_id
332 - * @param $conds array database conditions
333 - *
334 - * @return String timestamp
335 - */
336 - protected function queryLatestTimestamp( $articleId, $conds = array() ) {
337 - $dbw = wfGetDB( DB_MASTER );
338 - $timestampNewRow = $dbw->selectRow(
339 - 'revision',
340 - 'max(rev_timestamp) AS maxtime',
341 - array_merge( array( 'rev_page' => $articleId ), $conds ),
342 - __METHOD__
343 - );
344 - return $timestampNewRow->maxtime;
345 - }
346 -
347 - /**
348 - * Updates page_latest and similar database fields (see Article::updateRevisionOn).
349 - * Called two times, for the new and the old page
350 - *
351 - * @param $articleTitle Title object of the page
352 - * @param $articleObj Article object of the page
353 - * @param $timestamp to search for (use queryLatestTimestamp to get the latest)
354 - * @param $conds array database conditions
355 - *
356 - * @return boolean indicating success
357 - */
358 - protected function updatePageLatest( $articleTitle, $articleObj, $timestamp, $conds = array() ) {
359 - $dbw = wfGetDB( DB_MASTER );
360 - # Query to find out the rev_id
361 - $revisionRow = $dbw->selectRow(
362 - 'revision',
363 - 'rev_id',
364 - array_merge( array(
365 - 'rev_timestamp' => $timestamp,
366 - 'rev_page' => $articleTitle->getArticleID(),
367 - ), $conds ),
368 - __METHOD__
369 - );
370 -
371 - # Update page_latest
372 - $latestRev = Revision::newFromId( $revisionRow->rev_id );
373 - return $articleObj->updateRevisionOn( $dbw, $latestRev, $articleTitle->getLatestRevID(), null,
374 - /* set new page flag */ true );
375 - }
376 -
377 - /**
378 - * Add a log entry for the revision move
379 - */
380 - protected function logMove( $modifiedRevsNum ) {
381 - $paramArray = array(
382 - $this->mNewTitle->getPrefixedText(),
383 - $modifiedRevsNum
384 - );
385 -
386 - $log = new LogPage( 'move' );
387 - $log->addEntry( 'move_rev', $this->mOldTitle, $this->mReason, $paramArray, $this->user );
388 - }
389 -
390 - protected function showSuccess( $modifiedRevsNum ) {
391 - global $wgOut;
392 -
393 - if ( $this->createArticle ) {
394 - $wgOut->addWikiMsg( 'revmove-success-created', $modifiedRevsNum,
395 - $this->mOldTitle->getPrefixedText(), $this->mNewTitle->getPrefixedText() );
396 - } else {
397 - $wgOut->addWikiMsg( 'revmove-success-existing', $modifiedRevsNum,
398 - $this->mOldTitle->getPrefixedText(), $this->mNewTitle->getPrefixedText() );
399 - }
400 - }
401 -}
Index: trunk/phase3/includes/SpecialPage.php
@@ -194,7 +194,6 @@
195195 'Myuploads' => 'SpecialMyuploads',
196196 'PermanentLink' => 'SpecialPermanentLink',
197197 'Revisiondelete' => 'SpecialRevisionDelete',
198 - 'RevisionMove' => 'SpecialRevisionMove',
199198 'Specialpages' => 'SpecialSpecialpages',
200199 'Userlogout' => 'SpecialUserlogout',
201200 );
Property changes on: trunk/phase3/includes/SpecialPage.php
___________________________________________________________________
Modified: svn:mergeinfo
202201 Merged /branches/REL1_17/phase3/includes/SpecialPage.php:r81448
Index: trunk/phase3/includes/LogPage.php
@@ -259,7 +259,7 @@
260260 }
261261
262262 // Page moves
263 - } elseif ( $type == 'move' && count( $params ) == 3 && $action != 'move_rev' ) {
 263+ } elseif ( $type == 'move' && count( $params ) == 3 ) {
264264 if( $params[2] ) {
265265 if ( $skin ) {
266266 $details .= ' [' . wfMsg( 'move-redirect-suppressed' ) . ']';
Index: trunk/phase3/languages/messages/MessagesEn.php
@@ -1579,27 +1579,6 @@
15801580 'suppressionlogtext' => 'Below is a list of deletions and blocks involving content hidden from administrators.
15811581 See the [[Special:BlockList|IP block list]] for the list of currently operational bans and blocks.',
15821582
1583 -# Revision move
1584 -'moverevlogentry' => 'moved {{PLURAL:$3|one revision|$3 revisions}} from $1 to $2',
1585 -'revisionmove' => 'Move revisions from "$1"',
1586 -'revisionmove-backlink' => '← $1', # only translate this message to other languages if you have to change it
1587 -'revmove-explain' => 'The following revisions will be moved from $1 to the specified target page. If the target does not exist, it is created. Otherwise, these revisions will be merged into the page history.',
1588 -'revmove-legend' => 'Set target page and summary',
1589 -'revmove-submit' => 'Move revisions to selected page',
1590 -'revisionmoveselectedversions' => 'Move selected revisions',
1591 -'revmove-reasonfield' => 'Reason:',
1592 -'revmove-titlefield' => 'Target page:',
1593 -'revmove-badparam-title' => 'Bad parameters',
1594 -'revmove-badparam' => 'Your request contains illegal or insufficient parameters.
1595 -Go back to the previous page and try again.',
1596 -'revmove-norevisions-title' => 'Invalid target revision',
1597 -'revmove-norevisions' => 'You have not specified one or more target revisions to perform this function or the specified revision does not exist.',
1598 -'revmove-nullmove-title' => 'Bad title',
1599 -'revmove-nullmove' => 'The target page cannot be the same as the source page.
1600 -Go back to the previous page and choose a different name from "$1".',
1601 -'revmove-success-existing' => '{{PLURAL:$1|One revision from [[$2]] has|$1 revisions from [[$2]] have}} been moved to the existing page [[$3]].',
1602 -'revmove-success-created' => '{{PLURAL:$1|One revision from [[$2]] has|$1 revisions from [[$2]] have}} been moved to the newly created page [[$3]].',
1603 -
16041583 # History merging
16051584 'mergehistory' => 'Merge page histories',
16061585 'mergehistory-header' => 'This page lets you merge revisions of the history of one source page into a newer page.
@@ -1968,7 +1947,6 @@
19691948 'right-reset-passwords' => "Reset other users' passwords",
19701949 'right-override-export-depth' => 'Export pages including linked pages up to a depth of 5',
19711950 'right-sendemail' => 'Send e-mail to other users',
1972 -'right-revisionmove' => 'Move revisions',
19731951
19741952 # User rights log
19751953 'rightslog' => 'User rights log',
@@ -2011,7 +1989,6 @@
20121990 'action-userrights' => 'edit all user rights',
20131991 'action-userrights-interwiki' => 'edit user rights of users on other wikis',
20141992 'action-siteadmin' => 'lock or unlock the database',
2015 -'action-revisionmove' => 'move revisions',
20161993
20171994 # Recent changes
20181995 'nchanges' => '$1 {{PLURAL:$1|change|changes}}',
Property changes on: trunk/phase3
___________________________________________________________________
Modified: svn:mergeinfo
20191996 Merged /branches/REL1_17/phase3:r81448

Follow-up revisions

RevisionCommit summaryAuthorDate
r86199Rebuild all language files....siebrand11:27, 16 April 2011
r87727Follow-up r86155: also remove revisionmove from MediaWiki::getAction()ialex15:57, 9 May 2011

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r67094New feature RevisionMove (bug 21312). Introducing SpecialRevisionMove.php and...churchofemacs18:00, 30 May 2010
r67099fixing messages of r67094. thanks to siebrand for these suggestionschurchofemacs18:21, 30 May 2010
r67111Follow-up r67094: Tweak message filesraymond19:51, 30 May 2010
r67112Follow-up r67094: Tweak message filesraymond20:06, 30 May 2010
r67115Follow-up r67094: Tweak message filesraymond20:20, 30 May 2010
r67398follow-up on r67094: fixing presumed cause for php strict standards message a...churchofemacs11:59, 5 June 2010
r81425Followup r67094...reedy22:23, 2 February 2011
r81427Followup r67094, factor out code duplication in HistoryPage::getStartBody()reedy22:31, 2 February 2011
r814481.17: Revert r67094 (RevisionMove) and followups including r67099, r67111, r6...catrope13:22, 3 February 2011

Status & tagging log