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