protected function purgeFromArchiveTable(LocalFile $file) { $db = $file->getRepo()->getSlaveDB(); $res = $db->select('filearchive', array('fa_archive_name'), array('fa_name' => $file->getName()), __METHOD__); foreach ($res as $row) { $file->purgeOldThumbnails($row->fa_archive_name); } }
protected function purgeFromArchiveTable(LocalRepo $repo, LocalFile $file) { $dbr = $repo->getSlaveDB(); $res = $dbr->select('filearchive', array('fa_archive_name'), array('fa_name' => $file->getName()), __METHOD__); foreach ($res as $row) { if ($row->fa_archive_name === null) { // Was not an old version (current version names checked already) continue; } $ofile = $repo->newFromArchiveName($file->getTitle(), $row->fa_archive_name); // If there is an orphaned storage file still there...delete it if (!$file->exists() && $repo->fileExists($ofile->getPath())) { $dpath = $this->getDeletedPath($repo, $ofile); if ($repo->fileExists($dpath)) { // Sanity check to avoid data loss $repo->getBackend()->delete(array('src' => $ofile->getPath())); $this->output("Deleted orphan file: {$ofile->getPath()}.\n"); } else { $this->error("File was not deleted: {$ofile->getPath()}.\n"); } } $file->purgeOldThumbnails($row->fa_archive_name); } }