http://www.mediawiki.org/wiki/Special:Code/MediaWiki/88660

Revision: 88660
Author:   aaron
Date:     2011-05-23 17:54:39 +0000 (Mon, 23 May 2011)
Log Message:
-----------
Don't autoreview the current rev when a null (same text) edit is attempted if 
the current rev is a dummy edit. Such edits indicate other change 
(title,protection) and can cause confusion. (bug 28476)

Modified Paths:
--------------
    trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php

Modified: trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php
===================================================================
--- trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php      
2011-05-23 17:53:31 UTC (rev 88659)
+++ trunk/extensions/FlaggedRevs/dataclasses/FlaggedRevs.hooks.php      
2011-05-23 17:54:39 UTC (rev 88660)
@@ -520,6 +520,11 @@
                if ( !$user || $rev !== null ) {
                        return true;
                }
+               # Rollback/undo or box checked
+               $reviewEdit = $wgRequest->getCheck( 'wpReviewEdit' );
+               if ( !$baseId && !$reviewEdit ) {
+                       return true; // short-circuit
+               }
                $fa = FlaggedPage::getArticleInstance( $article );
                $fa->loadFromDB( FR_MASTER );
                if ( !$fa->isReviewable() ) {
@@ -534,9 +539,12 @@
                $flags = null;
                # Is this a rollback/undo that didn't change anything?
                if ( $baseId > 0 ) {
-                       $frev = FlaggedRevision::newFromTitle( $title, $baseId 
);
+                       $frev = FlaggedRevision::newFromTitle( $title, $baseId 
); // base rev of null edit
+                       $pRev = Revision::newFromId( $rev->getParentId() ); // 
current rev parent
+                       $revIsNull = ( $pRev && $pRev->getTextId() == 
$rev->getTextId() );
                        # Was the edit that we tried to revert to reviewed?
-                       if ( $frev ) {
+                       # We avoid auto-reviewing null edits to avoid confusion 
(bug 28476).
+                       if ( $frev && !$revIsNull ) {
                                # Review this revision of the page...
                                $ok = FlaggedRevs::autoReviewEdit( $article, 
$user, $rev, $flags );
                                if ( $ok ) {
@@ -549,10 +557,7 @@
                # Get edit timestamp, it must exist.
                $editTimestamp = $wgRequest->getVal( 'wpEdittime' );
                # Is the page checked off to be reviewed?
-               if ( $editTimestamp
-                       && $wgRequest->getCheck( 'wpReviewEdit' )
-                       && $title->userCan( 'review' ) )
-               {
+               if ( $editTimestamp && $reviewEdit && $title->userCan( 'review' 
) ) {
                        # Check wpEdittime against current revision's time.
                        # If an edit was auto-merged in between, review only up 
to what
                        # was the current rev when this user started editing 
the page.


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to