Be consistent with filearchive system and use whole key. This is a modified version...
authorAaron Schulz <aaron@users.mediawiki.org>
Fri, 11 Apr 2008 18:18:32 +0000 (18:18 +0000)
committerAaron Schulz <aaron@users.mediawiki.org>
Fri, 11 Apr 2008 18:18:32 +0000 (18:18 +0000)
includes/filerepo/LocalRepo.php

index b2ef327..f71cf70 100644 (file)
@@ -50,10 +50,13 @@ class LocalRepo extends FSRepo {
                                __METHOD__, array( 'FOR UPDATE' ) );
                        if( !$inuse ) {
                                $sha1 = substr( $key, 0, strcspn( $key, '.' ) );
+                               $ext = substr( $key, strcspn($key,'.') + 1 );
+                               $ext = File::normalizeExtension($ext);
                                $inuse = $dbw->selectField( 'oldimage', '1',
-                               array( 'oi_sha1' => $sha1,
-                                       'oi_deleted & '.File::DELETED_FILE => File::DELETED_FILE ),
-                               __METHOD__, array( 'FOR UPDATE' ) );
+                                       array( 'oi_sha1' => $sha1, 
+                                               "oi_archive_name LIKE '%.{$ext}'",
+                                               'oi_deleted & '.File::DELETED_FILE => File::DELETED_FILE ),
+                                       __METHOD__, array( 'FOR UPDATE' ) );
                        }
                        if ( !$inuse ) {
                                wfDebug( __METHOD__ . ": deleting $key\n" );