resolveFileExistence( $this->params['src'], $opPredicates ); if ( $srcExists === false ) { if ( $this->getParam( 'ignoreMissingSource' ) ) { $this->noOp = true; // no-op // Update file existence predicates (cache 404s) $batchPredicates->assumeFileDoesNotExist( $this->params['src'] ); return $status; // nothing to do } else { $status->fatal( 'backend-fail-notexists', $this->params['src'] ); return $status; } } elseif ( $srcExists === FileBackend::EXISTENCE_ERROR ) { $status->fatal( 'backend-fail-stat', $this->params['src'] ); return $status; } // Update file existence predicates since the operation is expected to be allowed to run $batchPredicates->assumeFileDoesNotExist( $this->params['src'] ); return $status; // safe to call attempt() } protected function doAttempt() { // Delete the source file return $this->backend->deleteInternal( $this->setFlags( $this->params ) ); } public function storagePathsChanged() { return [ $this->params['src'] ]; } } /** @deprecated class alias since 1.43 */ class_alias( DeleteFileOp::class, 'DeleteFileOp' );