From 2c6aa58186791754d6dbdc0c958e6e25d3e6f66e Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Fri, 4 Mar 2016 13:28:46 -0800 Subject: [PATCH] Remove DELETE_SOURCE flag from FileRepo store()/storeBatch() The flag is unused and adds needless complexity to already complex code. Change-Id: I82371288730f19d408daddd1251520d34b079205 --- includes/filerepo/FileRepo.php | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/includes/filerepo/FileRepo.php b/includes/filerepo/FileRepo.php index 15821ea4dd..9ad24283c9 100644 --- a/includes/filerepo/FileRepo.php +++ b/includes/filerepo/FileRepo.php @@ -815,7 +815,6 @@ class FileRepo { * @param string $dstZone Destination zone * @param string $dstRel Destination relative path * @param int $flags Bitwise combination of the following flags: - * self::DELETE_SOURCE Delete the source file after upload * self::OVERWRITE Overwrite an existing destination file instead of failing * self::OVERWRITE_SAME Overwrite the file if the destination exists and has the * same contents as the source @@ -838,7 +837,6 @@ class FileRepo { * * @param array $triplets (src, dest zone, dest rel) triplets as per store() * @param int $flags Bitwise combination of the following flags: - * self::DELETE_SOURCE Delete the source file after upload * self::OVERWRITE Overwrite an existing destination file instead of failing * self::OVERWRITE_SAME Overwrite the file if the destination exists and has the * same contents as the source @@ -849,11 +847,14 @@ class FileRepo { public function storeBatch( array $triplets, $flags = 0 ) { $this->assertWritableRepo(); // fail out if read-only + if ( $flags & self::DELETE_SOURCE ) { + throw new InvalidArgumentException( "DELETE_SOURCE not supported in " . __METHOD__ ); + } + $status = $this->newGood(); $backend = $this->backend; // convenience $operations = []; - $sourceFSFilesToDelete = []; // cleanup for disk source files // Validate each triplet and get the store operation... foreach ( $triplets as $triplet ) { list( $srcPath, $dstZone, $dstRel ) = $triplet; @@ -881,12 +882,9 @@ class FileRepo { // Get the appropriate file operation if ( FileBackend::isStoragePath( $srcPath ) ) { - $opName = ( $flags & self::DELETE_SOURCE ) ? 'move' : 'copy'; + $opName = 'copy'; } else { $opName = 'store'; - if ( $flags & self::DELETE_SOURCE ) { - $sourceFSFilesToDelete[] = $srcPath; - } } $operations[] = [ 'op' => $opName, @@ -903,12 +901,6 @@ class FileRepo { $opts['nonLocking'] = true; } $status->merge( $backend->doOperations( $operations, $opts ) ); - // Cleanup for disk source files... - foreach ( $sourceFSFilesToDelete as $file ) { - MediaWiki\suppressWarnings(); - unlink( $file ); // FS cleanup - MediaWiki\restoreWarnings(); - } return $status; } -- 2.20.1