48 if ( !$this->hasOption(
'delete' ) ) {
49 $this->output(
"Use --delete to actually confirm this script\n" );
52 $filekey = $this->getOption(
'filekey' );
53 $filename = $this->getOption(
'filename' );
55 if ( $filekey ===
'*' ) {
57 if ( !strlen( $filename ) ) {
58 $this->fatalError(
"Missing --filename parameter." );
63 $dbw = $this->getPrimaryDB();
64 $queryBuilder = FileSelectQueryBuilder::newForArchivedFile( $dbw );
65 $queryBuilder->where( [
'fa_storage_group' =>
'deleted',
'fa_storage_key' => $filekey ] );
66 $row = $queryBuilder->caller( __METHOD__ )->fetchRow();
69 $this->fatalError(
"No deleted file exists with key '$filekey'." );
71 $filename = $row->fa_name;
72 $afile = ArchivedFile::newFromRow( $row );
75 $file = $this->getServiceContainer()->getRepoGroup()->getLocalRepo()->newFile( $filename );
76 if ( $file->exists() ) {
77 $this->fatalError(
"File '$filename' is still a public file, use the delete form.\n" );
80 $this->output(
"Purging all thumbnails for file '$filename'..." );
82 $this->output(
"done.\n" );
87 $this->output(
"Finding deleted versions of file '$filename'...\n" );
89 $this->output(
"Done\n" );