}
public function isPathUsableInternal( $storagePath ) {
- return true;
+ return ( $this->resolveHashKey( $storagePath ) !== null );
}
protected function doCreateInternal( array $params ) {
protected function doGetFileStat( array $params ) {
$src = $this->resolveHashKey( $params['src'] );
if ( $src === null ) {
- return null;
+ return self::$RES_ERROR; // invalid path
}
if ( isset( $this->files[$src] ) ) {
];
}
- return false;
+ return self::$RES_ABSENT;
}
protected function doGetLocalCopyMulti( array $params ) {
$tmpFiles = []; // (path => TempFSFile)
foreach ( $params['srcs'] as $srcPath ) {
$src = $this->resolveHashKey( $srcPath );
- if ( $src === null || !isset( $this->files[$src] ) ) {
- $fsFile = null;
+ if ( $src === null ) {
+ $fsFile = self::$RES_ERROR;
+ } elseif ( !isset( $this->files[$src] ) ) {
+ $fsFile = self::$RES_ABSENT;
} else {
// Create a new temporary file with the same extension...
$ext = FileBackend::extensionFromPath( $src );
if ( $fsFile ) {
$bytes = file_put_contents( $fsFile->getPath(), $this->files[$src]['data'] );
if ( $bytes !== strlen( $this->files[$src]['data'] ) ) {
- $fsFile = null;
+ $fsFile = self::$RES_ERROR;
}
}
}