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

Revision: 82917
Author:   aaron
Date:     2011-02-27 22:01:59 +0000 (Sun, 27 Feb 2011)
Log Message:
-----------
(bug 23415) Mark articles as needing review if a file version used in the 
stable version was deleted (which makes the draft/stable unsynced), even if the 
file still exists (has a current version). This can happen by selective 
deletion or moving files to Commons and such.

Modified Paths:
--------------
    trunk/extensions/FlaggedRevs/FlaggedRevision.php

Modified: trunk/extensions/FlaggedRevs/FlaggedRevision.php
===================================================================
--- trunk/extensions/FlaggedRevs/FlaggedRevision.php    2011-02-27 21:45:11 UTC 
(rev 82916)
+++ trunk/extensions/FlaggedRevs/FlaggedRevision.php    2011-02-27 22:01:59 UTC 
(rev 82917)
@@ -675,7 +675,7 @@
         *    (b) Current file exists and the "version used" was non-existing 
(created)
         *    (c) Current file doesn't exist and the "version used" existed 
(deleted)
         *
-        * @param string $noForeign Using 'noForeign' skips new non-local file 
versions (bug 15748)
+        * @param string $noForeign Using 'noForeign' skips foreign file 
updates (bug 15748)
         * @return Array of (file title, MW file timestamp in reviewed version) 
tuples
         */
        public function findPendingFileChanges( $noForeign = false ) {
@@ -718,18 +718,22 @@
                        } else {
                                $tsStable = $reviewedTS;
                        }
-                       # Compare to current...
+                       # Compare this version to the current version and check 
for things
+                       # that would make the stable version unsynced with the 
draft...
                        $file = wfFindFile( $title ); // current file version
                        if ( $file ) { // file exists
                                if ( $noForeign === 'noForeign' && 
!$file->isLocal() ) {
+                                       # Avoid counting edits to Commons 
files, which can effect
+                                       # many pages, as there is no expedient 
way to review them.
                                        $updated = !$tsStable; // created 
(ignore new versions)
                                } else {
                                        $updated = ( $file->getTimestamp() > 
$tsStable ); // edited/created
                                }
-                               $deleted = false;
+                               $deleted = $tsStable // included file deleted 
after review
+                                       && !$file->getRepo()->findFile( $title, 
array( 'time' => $tsStable ) );
                        } else { // file doesn't exists
                                $updated = false;
-                               $deleted = (bool)$tsStable; // later deleted
+                               $deleted = (bool)$tsStable; // included file 
deleted after review
                        }
                        if ( $deleted || $updated ) {
                                $fileChanges[] = array( $title, $tsStable );


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

Reply via email to