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