From 3abf9d6bc025fe93cb16225c9457314dcce00070 Mon Sep 17 00:00:00 2001 From: Umherirrender Date: Thu, 6 Mar 2014 21:25:59 +0100 Subject: [PATCH] Revert "Rollback: Make update of recentchanges table later" The automatic patrolling on a already rolled rollback should be kept, see bug 62157. Bug: 62157 This reverts commit e6980c32f11a9ed3ed1bf7068d5ff569cb43b457. Change-Id: I3b626452a0bab11e8b2a12545976cbd1df92ae1f --- includes/WikiPage.php | 44 ++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/includes/WikiPage.php b/includes/WikiPage.php index 3de0475acb..77a54799a3 100644 --- a/includes/WikiPage.php +++ b/includes/WikiPage.php @@ -2945,6 +2945,29 @@ class WikiPage implements Page, IDBAccessObject { return array( array( 'notvisiblerev' ) ); } + // Set patrolling and bot flag on the edits, which gets rollbacked. + // This is done before the rollback edit to have patrolling also on failure (bug 62157). + $set = array(); + if ( $bot && $guser->isAllowed( 'markbotedits' ) ) { + // Mark all reverted edits as bot + $set['rc_bot'] = 1; + } + + if ( $wgUseRCPatrol ) { + // Mark all reverted edits as patrolled + $set['rc_patrolled'] = 1; + } + + if ( count( $set ) ) { + $dbw->update( 'recentchanges', $set, + array( /* WHERE */ + 'rc_cur_id' => $current->getPage(), + 'rc_user_text' => $current->getUserText(), + 'rc_timestamp > ' . $dbw->addQuotes( $s->rev_timestamp ), + ), __METHOD__ + ); + } + // Generate the edit summary if necessary $target = Revision::newFromId( $s->rev_id ); if ( empty( $summary ) ) { @@ -3001,27 +3024,6 @@ class WikiPage implements Page, IDBAccessObject { ) ); } - $set = array(); - if ( $bot && $guser->isAllowed( 'markbotedits' ) ) { - // Mark all reverted edits as bot - $set['rc_bot'] = 1; - } - - if ( $wgUseRCPatrol ) { - // Mark all reverted edits as patrolled - $set['rc_patrolled'] = 1; - } - - if ( count( $set ) ) { - $dbw->update( 'recentchanges', $set, - array( /* WHERE */ - 'rc_cur_id' => $current->getPage(), - 'rc_user_text' => $current->getUserText(), - 'rc_timestamp > ' . $dbw->addQuotes( $s->rev_timestamp ), - ), __METHOD__ - ); - } - $revId = $status->value['revision']->getId(); wfRunHooks( 'ArticleRollbackComplete', array( $this, $guser, $target, $current ) ); -- 2.20.1