X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Ffilebackend%2FMemoryFileBackend.php;h=7c2f8256ca38e03d5ddf75ccc56d677417a9b953;hb=062a6fecdadd2bdbd6be303702e0e96c98dfda81;hp=3924c12e79a8e4672ceb43b440ec6b822f8f79fe;hpb=3bb1d6257eba4e687ffb112884125d9e438d031d;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/filebackend/MemoryFileBackend.php b/includes/filebackend/MemoryFileBackend.php index 3924c12e79..7c2f8256ca 100644 --- a/includes/filebackend/MemoryFileBackend.php +++ b/includes/filebackend/MemoryFileBackend.php @@ -45,11 +45,12 @@ class MemoryFileBackend extends FileBackendStore { $dst = $this->resolveHashKey( $params['dst'] ); if ( $dst === null ) { $status->fatal( 'backend-fail-invalidpath', $params['dst'] ); + return $status; } $this->files[$dst] = array( - 'data' => $params['content'], + 'data' => $params['content'], 'mtime' => wfTimestamp( TS_MW, time() ) ); @@ -62,6 +63,7 @@ class MemoryFileBackend extends FileBackendStore { $dst = $this->resolveHashKey( $params['dst'] ); if ( $dst === null ) { $status->fatal( 'backend-fail-invalidpath', $params['dst'] ); + return $status; } @@ -70,11 +72,12 @@ class MemoryFileBackend extends FileBackendStore { wfRestoreWarnings(); if ( $data === false ) { // source doesn't exist? $status->fatal( 'backend-fail-store', $params['src'], $params['dst'] ); + return $status; } $this->files[$dst] = array( - 'data' => $data, + 'data' => $data, 'mtime' => wfTimestamp( TS_MW, time() ) ); @@ -87,12 +90,14 @@ class MemoryFileBackend extends FileBackendStore { $src = $this->resolveHashKey( $params['src'] ); if ( $src === null ) { $status->fatal( 'backend-fail-invalidpath', $params['src'] ); + return $status; } $dst = $this->resolveHashKey( $params['dst'] ); if ( $dst === null ) { $status->fatal( 'backend-fail-invalidpath', $params['dst'] ); + return $status; } @@ -100,11 +105,12 @@ class MemoryFileBackend extends FileBackendStore { if ( empty( $params['ignoreMissingSource'] ) ) { $status->fatal( 'backend-fail-copy', $params['src'], $params['dst'] ); } + return $status; } $this->files[$dst] = array( - 'data' => $this->files[$src]['data'], + 'data' => $this->files[$src]['data'], 'mtime' => wfTimestamp( TS_MW, time() ) ); @@ -117,6 +123,7 @@ class MemoryFileBackend extends FileBackendStore { $src = $this->resolveHashKey( $params['src'] ); if ( $src === null ) { $status->fatal( 'backend-fail-invalidpath', $params['src'] ); + return $status; } @@ -124,6 +131,7 @@ class MemoryFileBackend extends FileBackendStore { if ( empty( $params['ignoreMissingSource'] ) ) { $status->fatal( 'backend-fail-delete', $params['src'] ); } + return $status; } @@ -141,7 +149,7 @@ class MemoryFileBackend extends FileBackendStore { if ( isset( $this->files[$src] ) ) { return array( 'mtime' => $this->files[$src]['mtime'], - 'size' => strlen( $this->files[$src]['data'] ), + 'size' => strlen( $this->files[$src]['data'] ), ); } @@ -155,7 +163,9 @@ class MemoryFileBackend extends FileBackendStore { if ( $src === null || !isset( $this->files[$src] ) ) { $fsFile = null; } else { - $fsFile = TempFSFile::factory( 'localcopy_' ); + // Create a new temporary file with the same extension... + $ext = FileBackend::extensionFromPath( $src ); + $fsFile = TempFSFile::factory( 'localcopy_', $ext ); if ( $fsFile ) { $bytes = file_put_contents( $fsFile->getPath(), $this->files[$src]['data'] ); if ( $bytes !== strlen( $this->files[$src]['data'] ) ) { @@ -165,6 +175,7 @@ class MemoryFileBackend extends FileBackendStore { } $tmpFiles[$srcPath] = $fsFile; } + return $tmpFiles; } @@ -174,6 +185,7 @@ class MemoryFileBackend extends FileBackendStore { $src = $this->resolveHashKey( $params['src'] ); if ( $src === null || !isset( $this->files[$src] ) ) { $status->fatal( 'backend-fail-stream', $params['src'] ); + return $status; } @@ -189,6 +201,7 @@ class MemoryFileBackend extends FileBackendStore { return true; } } + return false; } @@ -217,6 +230,7 @@ class MemoryFileBackend extends FileBackendStore { } } } + return array_keys( $dirs ); } @@ -235,6 +249,7 @@ class MemoryFileBackend extends FileBackendStore { $files[] = $relPath; } } + return $files; } @@ -253,6 +268,7 @@ class MemoryFileBackend extends FileBackendStore { if ( $relPath === null ) { return null; // invalid } + return ( $relPath !== '' ) ? "$fullCont/$relPath" : $fullCont; } }