Merge "Removed some unnecessary code in LocalFileDeleteBatch"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 12 Dec 2014 21:18:30 +0000 (21:18 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 12 Dec 2014 21:18:30 +0000 (21:18 +0000)
1  2 
includes/filerepo/file/LocalFile.php

@@@ -672,7 -672,7 +672,7 @@@ class LocalFile extends File 
        /** getURL inherited */
        /** getViewURL inherited */
        /** getPath inherited */
 -      /** isVisible inhereted */
 +      /** isVisible inherited */
  
        /**
         * @return bool
                $files = $this->getThumbnails( $archiveName );
  
                // Purge any custom thumbnail caches
 -              wfRunHooks( 'LocalFilePurgeThumbnails', array( $this, $archiveName ) );
 +              Hooks::run( 'LocalFilePurgeThumbnails', array( $this, $archiveName ) );
  
                $dir = array_shift( $files );
                $this->purgeThumbList( $dir, $files );
                }
  
                // Purge any custom thumbnail caches
 -              wfRunHooks( 'LocalFilePurgeThumbnails', array( $this, false ) );
 +              Hooks::run( 'LocalFilePurgeThumbnails', array( $this, false ) );
  
                $dir = array_shift( $files );
                $this->purgeThumbList( $dir, $files );
                $opts['ORDER BY'] = "oi_timestamp $order";
                $opts['USE INDEX'] = array( 'oldimage' => 'oi_name_timestamp' );
  
 -              wfRunHooks( 'LocalFile::getHistory', array( &$this, &$tables, &$fields,
 +              Hooks::run( 'LocalFile::getHistory', array( &$this, &$tables, &$fields,
                        &$conds, &$opts, &$join_conds ) );
  
                $res = $dbr->select( $tables, $fields, $conds, __METHOD__, $opts, $join_conds );
                        if ( !is_null( $nullRevision ) ) {
                                $nullRevision->insertOn( $dbw );
  
 -                              wfRunHooks( 'NewRevisionFromEditComplete', array( $wikiPage, $nullRevision, $latest, $user ) );
 +                              Hooks::run( 'NewRevisionFromEditComplete', array( $wikiPage, $nullRevision, $latest, $user ) );
                                $wikiPage->updateRevisionOn( $dbw, $nullRevision );
                        }
                }
  
                # Hooks, hooks, the magic of hooks...
                wfProfileIn( __METHOD__ . '-hooks' );
 -              wfRunHooks( 'FileUpload', array( $this, $reupload, $descTitle->exists() ) );
 +              Hooks::run( 'FileUpload', array( $this, $reupload, $descTitle->exists() ) );
                wfProfileOut( __METHOD__ . '-hooks' );
  
                # Invalidate cache for all pages using this file
@@@ -1987,7 -1987,7 +1987,7 @@@ class LocalFileDeleteBatch 
        /** @var array Items to be processed in the deletion batch */
        private $deletionBatch;
  
 -      /** @var bool Wether to suppress all suppressable fields when deleting */
 +      /** @var bool Whether to suppress all suppressable fields when deleting */
        private $suppress;
  
        /** @var FileRepoStatus */
                wfProfileIn( __METHOD__ );
  
                $this->file->lock();
-               // Leave private files alone
-               $privateFiles = array();
-               list( $oldRels, ) = $this->getOldRels();
-               $dbw = $this->file->repo->getMasterDB();
-               if ( !empty( $oldRels ) ) {
-                       $res = $dbw->select( 'oldimage',
-                               array( 'oi_archive_name' ),
-                               array( 'oi_name' => $this->file->getName(),
-                                       'oi_archive_name' => array_keys( $oldRels ),
-                                       $dbw->bitAnd( 'oi_deleted', File::DELETED_FILE ) => File::DELETED_FILE ),
-                               __METHOD__ );
  
-                       foreach ( $res as $row ) {
-                               $privateFiles[$row->oi_archive_name] = 1;
-                       }
-               }
                // Prepare deletion batch
                $hashes = $this->getHashes();
                $this->deletionBatch = array();
                $dotExt = $ext === '' ? '' : ".$ext";
  
                foreach ( $this->srcRels as $name => $srcRel ) {
-                       // Skip files that have no hash (missing source).
-                       // Keep private files where they are.
-                       if ( isset( $hashes[$name] ) && !array_key_exists( $name, $privateFiles ) ) {
+                       // Skip files that have no hash (e.g. missing DB record, or sha1 field and file source)
+                       if ( isset( $hashes[$name] ) ) {
                                $hash = $hashes[$name];
                                $key = $hash . $dotExt;
                                $dstRel = $this->file->repo->getDeletedHashPath( $key ) . $key;
                $this->doDBInserts();
  
                // Removes non-existent file from the batch, so we don't get errors.
+               // This also handles files in the 'deleted' zone deleted via revision deletion.
                $checkStatus = $this->removeNonexistentFiles( $this->deletionBatch );
                if ( !$checkStatus->isGood() ) {
                        $this->status->merge( $checkStatus );
@@@ -2368,7 -2352,7 +2352,7 @@@ class LocalFileRestoreBatch 
        /** @var bool Add all revisions of the file */
        private $all;
  
 -      /** @var bool Wether to remove all settings for suppressed fields */
 +      /** @var bool Whether to remove all settings for suppressed fields */
        private $unsuppress = false;
  
        /**