mirror of
https://github.com/nextcloud/server.git
synced 2026-06-11 09:42:09 -04:00
Extra fixes needed for icewind/streams update to 0.7.2
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
This commit is contained in:
parent
ea92f783ac
commit
80dca60858
16 changed files with 115 additions and 89 deletions
|
|
@ -494,7 +494,7 @@ class File extends Node implements IFile {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return array|false
|
||||
* @return array|bool
|
||||
*/
|
||||
public function getDirectDownload() {
|
||||
if (\OCP\App::isEnabled('encryption')) {
|
||||
|
|
|
|||
|
|
@ -446,7 +446,7 @@ class SMB extends Common implements INotifyStorage {
|
|||
/**
|
||||
* @param string $path
|
||||
* @param string $mode
|
||||
* @return resource|false
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function fopen($path, $mode) {
|
||||
$fullPath = $this->buildPath($path);
|
||||
|
|
|
|||
|
|
@ -1 +1,5 @@
|
|||
[]
|
||||
{
|
||||
"packages": [],
|
||||
"dev": false,
|
||||
"dev-package-names": []
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ namespace OC\Files\ObjectStore;
|
|||
|
||||
use OCP\Files\ObjectStore\IObjectStore;
|
||||
use OCP\Files\Storage\IStorage;
|
||||
use function is_resource;
|
||||
|
||||
/**
|
||||
* Object store that wraps a storage backend, mostly for testing purposes
|
||||
|
|
@ -57,11 +58,11 @@ class StorageObjectStore implements IObjectStore {
|
|||
*/
|
||||
public function readObject($urn) {
|
||||
$handle = $this->storage->fopen($urn, 'r');
|
||||
if ($handle) {
|
||||
if (is_resource($handle)) {
|
||||
return $handle;
|
||||
} else {
|
||||
throw new \Exception();
|
||||
}
|
||||
|
||||
throw new \Exception();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ class NewSimpleFile implements ISimpleFile {
|
|||
/**
|
||||
* Open the file as stream for writing, resulting resource can be operated as stream like the result from php's own fopen
|
||||
*
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
* @throws \OCP\Files\NotPermittedException
|
||||
* @since 14.0.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -631,8 +631,9 @@ abstract class Common implements Storage, ILockingStorage, IWriteStreamStorage {
|
|||
}
|
||||
}
|
||||
|
||||
if ($result and $preserveMtime) {
|
||||
$this->touch($targetInternalPath, $sourceStorage->filemtime($sourceInternalPath));
|
||||
if ($result && $preserveMtime) {
|
||||
$mtime = $sourceStorage->filemtime($sourceInternalPath);
|
||||
$this->touch($targetInternalPath, is_int($mtime) ? $mtime : null);
|
||||
}
|
||||
|
||||
if (!$result) {
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ class Encoding extends Wrapper {
|
|||
* see http://php.net/manual/en/function.opendir.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function opendir($path) {
|
||||
return $this->storage->opendir($this->findPathToUse($path));
|
||||
|
|
@ -187,7 +187,7 @@ class Encoding extends Wrapper {
|
|||
* only the following keys are required in the result: size and mtime
|
||||
*
|
||||
* @param string $path
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function stat($path) {
|
||||
return $this->storage->stat($this->findPathToUse($path));
|
||||
|
|
@ -197,7 +197,7 @@ class Encoding extends Wrapper {
|
|||
* see http://php.net/manual/en/function.filetype.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return bool
|
||||
* @return string|bool
|
||||
*/
|
||||
public function filetype($path) {
|
||||
return $this->storage->filetype($this->findPathToUse($path));
|
||||
|
|
@ -208,7 +208,7 @@ class Encoding extends Wrapper {
|
|||
* The result for filesize when called on a folder is required to be 0
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function filesize($path) {
|
||||
return $this->storage->filesize($this->findPathToUse($path));
|
||||
|
|
@ -289,7 +289,7 @@ class Encoding extends Wrapper {
|
|||
* see http://php.net/manual/en/function.filemtime.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function filemtime($path) {
|
||||
return $this->storage->filemtime($this->findPathToUse($path));
|
||||
|
|
@ -299,7 +299,7 @@ class Encoding extends Wrapper {
|
|||
* see http://php.net/manual/en/function.file_get_contents.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function file_get_contents($path) {
|
||||
return $this->storage->file_get_contents($this->findPathToUse($path));
|
||||
|
|
@ -358,7 +358,7 @@ class Encoding extends Wrapper {
|
|||
*
|
||||
* @param string $path
|
||||
* @param string $mode
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function fopen($path, $mode) {
|
||||
$result = $this->storage->fopen($this->findPathToUse($path), $mode);
|
||||
|
|
@ -373,7 +373,7 @@ class Encoding extends Wrapper {
|
|||
* The mimetype for a folder is required to be "httpd/unix-directory"
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getMimeType($path) {
|
||||
return $this->storage->getMimeType($this->findPathToUse($path));
|
||||
|
|
@ -385,7 +385,7 @@ class Encoding extends Wrapper {
|
|||
* @param string $type
|
||||
* @param string $path
|
||||
* @param bool $raw
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function hash($type, $path, $raw = false) {
|
||||
return $this->storage->hash($type, $this->findPathToUse($path), $raw);
|
||||
|
|
@ -395,7 +395,7 @@ class Encoding extends Wrapper {
|
|||
* see http://php.net/manual/en/function.free_space.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function free_space($path) {
|
||||
return $this->storage->free_space($this->findPathToUse($path));
|
||||
|
|
@ -405,7 +405,7 @@ class Encoding extends Wrapper {
|
|||
* search for occurrences of $query in file names
|
||||
*
|
||||
* @param string $query
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function search($query) {
|
||||
return $this->storage->search($query);
|
||||
|
|
@ -428,7 +428,7 @@ class Encoding extends Wrapper {
|
|||
* The local version of the file can be temporary and doesn't have to be persistent across requests
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getLocalFile($path) {
|
||||
return $this->storage->getLocalFile($this->findPathToUse($path));
|
||||
|
|
@ -480,7 +480,7 @@ class Encoding extends Wrapper {
|
|||
* get the ETag for a file or folder
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getETag($path) {
|
||||
return $this->storage->getETag($this->findPathToUse($path));
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ class Jail extends Wrapper {
|
|||
* see http://php.net/manual/en/function.opendir.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function opendir($path) {
|
||||
return $this->getWrapperStorage()->opendir($this->getUnjailedPath($path));
|
||||
|
|
@ -137,7 +137,7 @@ class Jail extends Wrapper {
|
|||
* only the following keys are required in the result: size and mtime
|
||||
*
|
||||
* @param string $path
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function stat($path) {
|
||||
return $this->getWrapperStorage()->stat($this->getUnjailedPath($path));
|
||||
|
|
@ -158,7 +158,7 @@ class Jail extends Wrapper {
|
|||
* The result for filesize when called on a folder is required to be 0
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function filesize($path) {
|
||||
return $this->getWrapperStorage()->filesize($this->getUnjailedPath($path));
|
||||
|
|
@ -239,7 +239,7 @@ class Jail extends Wrapper {
|
|||
* see http://php.net/manual/en/function.filemtime.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function filemtime($path) {
|
||||
return $this->getWrapperStorage()->filemtime($this->getUnjailedPath($path));
|
||||
|
|
@ -249,7 +249,7 @@ class Jail extends Wrapper {
|
|||
* see http://php.net/manual/en/function.file_get_contents.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function file_get_contents($path) {
|
||||
return $this->getWrapperStorage()->file_get_contents($this->getUnjailedPath($path));
|
||||
|
|
@ -303,7 +303,7 @@ class Jail extends Wrapper {
|
|||
*
|
||||
* @param string $path
|
||||
* @param string $mode
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function fopen($path, $mode) {
|
||||
return $this->getWrapperStorage()->fopen($this->getUnjailedPath($path), $mode);
|
||||
|
|
@ -314,7 +314,7 @@ class Jail extends Wrapper {
|
|||
* The mimetype for a folder is required to be "httpd/unix-directory"
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getMimeType($path) {
|
||||
return $this->getWrapperStorage()->getMimeType($this->getUnjailedPath($path));
|
||||
|
|
@ -326,7 +326,7 @@ class Jail extends Wrapper {
|
|||
* @param string $type
|
||||
* @param string $path
|
||||
* @param bool $raw
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function hash($type, $path, $raw = false) {
|
||||
return $this->getWrapperStorage()->hash($type, $this->getUnjailedPath($path), $raw);
|
||||
|
|
@ -336,7 +336,7 @@ class Jail extends Wrapper {
|
|||
* see http://php.net/manual/en/function.free_space.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function free_space($path) {
|
||||
return $this->getWrapperStorage()->free_space($this->getUnjailedPath($path));
|
||||
|
|
@ -346,7 +346,7 @@ class Jail extends Wrapper {
|
|||
* search for occurrences of $query in file names
|
||||
*
|
||||
* @param string $query
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function search($query) {
|
||||
return $this->getWrapperStorage()->search($query);
|
||||
|
|
@ -369,7 +369,7 @@ class Jail extends Wrapper {
|
|||
* The local version of the file can be temporary and doesn't have to be persistent across requests
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getLocalFile($path) {
|
||||
return $this->getWrapperStorage()->getLocalFile($this->getUnjailedPath($path));
|
||||
|
|
@ -432,7 +432,7 @@ class Jail extends Wrapper {
|
|||
* get the ETag for a file or folder
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getETag($path) {
|
||||
return $this->getWrapperStorage()->getETag($this->getUnjailedPath($path));
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ class Quota extends Wrapper {
|
|||
* Get free space as limited by the quota
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function free_space($path) {
|
||||
if ($this->quota < 0 || strpos($path, 'cache') === 0 || strpos($path, 'uploads') === 0) {
|
||||
|
|
@ -154,7 +154,7 @@ class Quota extends Wrapper {
|
|||
*
|
||||
* @param string $path
|
||||
* @param string $mode
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function fopen($path, $mode) {
|
||||
$source = $this->storage->fopen($path, $mode);
|
||||
|
|
@ -162,7 +162,7 @@ class Quota extends Wrapper {
|
|||
// don't apply quota for part files
|
||||
if (!$this->isPartFile($path)) {
|
||||
$free = $this->free_space($path);
|
||||
if ($source && $free >= 0 && $mode !== 'r' && $mode !== 'rb') {
|
||||
if ($source && is_int($free) && $free >= 0 && $mode !== 'r' && $mode !== 'rb') {
|
||||
// only apply quota for files, not metadata, trash or others
|
||||
if ($this->shouldApplyQuota($path)) {
|
||||
return \OC\Files\Stream\Quota::wrap($source, $free);
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* see http://php.net/manual/en/function.opendir.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function opendir($path) {
|
||||
return $this->getWrapperStorage()->opendir($path);
|
||||
|
|
@ -128,7 +128,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* only the following keys are required in the result: size and mtime
|
||||
*
|
||||
* @param string $path
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function stat($path) {
|
||||
return $this->getWrapperStorage()->stat($path);
|
||||
|
|
@ -138,7 +138,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* see http://php.net/manual/en/function.filetype.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return bool
|
||||
* @return string|bool
|
||||
*/
|
||||
public function filetype($path) {
|
||||
return $this->getWrapperStorage()->filetype($path);
|
||||
|
|
@ -149,7 +149,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* The result for filesize when called on a folder is required to be 0
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function filesize($path) {
|
||||
return $this->getWrapperStorage()->filesize($path);
|
||||
|
|
@ -230,7 +230,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* see http://php.net/manual/en/function.filemtime.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function filemtime($path) {
|
||||
return $this->getWrapperStorage()->filemtime($path);
|
||||
|
|
@ -240,7 +240,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* see http://php.net/manual/en/function.file_get_contents.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function file_get_contents($path) {
|
||||
return $this->getWrapperStorage()->file_get_contents($path);
|
||||
|
|
@ -294,7 +294,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
*
|
||||
* @param string $path
|
||||
* @param string $mode
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
*/
|
||||
public function fopen($path, $mode) {
|
||||
return $this->getWrapperStorage()->fopen($path, $mode);
|
||||
|
|
@ -305,7 +305,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* The mimetype for a folder is required to be "httpd/unix-directory"
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getMimeType($path) {
|
||||
return $this->getWrapperStorage()->getMimeType($path);
|
||||
|
|
@ -317,7 +317,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* @param string $type
|
||||
* @param string $path
|
||||
* @param bool $raw
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function hash($type, $path, $raw = false) {
|
||||
return $this->getWrapperStorage()->hash($type, $path, $raw);
|
||||
|
|
@ -327,7 +327,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* see http://php.net/manual/en/function.free_space.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int
|
||||
* @return int|bool
|
||||
*/
|
||||
public function free_space($path) {
|
||||
return $this->getWrapperStorage()->free_space($path);
|
||||
|
|
@ -337,7 +337,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* search for occurrences of $query in file names
|
||||
*
|
||||
* @param string $query
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function search($query) {
|
||||
return $this->getWrapperStorage()->search($query);
|
||||
|
|
@ -360,7 +360,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* The local version of the file can be temporary and doesn't have to be persistent across requests
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getLocalFile($path) {
|
||||
return $this->getWrapperStorage()->getLocalFile($path);
|
||||
|
|
@ -458,7 +458,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* get the ETag for a file or folder
|
||||
*
|
||||
* @param string $path
|
||||
* @return string
|
||||
* @return string|bool
|
||||
*/
|
||||
public function getETag($path) {
|
||||
return $this->getWrapperStorage()->getETag($path);
|
||||
|
|
@ -513,7 +513,7 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage, IWriteStrea
|
|||
* For now the returned array can hold the parameter url - in future more attributes might follow.
|
||||
*
|
||||
* @param string $path
|
||||
* @return array
|
||||
* @return array|bool
|
||||
*/
|
||||
public function getDirectDownload($path) {
|
||||
return $this->getWrapperStorage()->getDirectDownload($path);
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ namespace OC\Files\Stream;
|
|||
|
||||
use Icewind\Streams\Wrapper;
|
||||
use OC\Encryption\Exceptions\EncryptionHeaderKeyExistsException;
|
||||
use function is_array;
|
||||
use function stream_context_create;
|
||||
|
||||
class Encryption extends Wrapper {
|
||||
|
||||
|
|
@ -190,17 +192,22 @@ class Encryption extends Wrapper {
|
|||
/**
|
||||
* add stream wrapper
|
||||
*
|
||||
* @param resource $source
|
||||
* @param resource|int $source
|
||||
* @param resource|array $context
|
||||
* @param string|null $protocol
|
||||
* @param string|null $class
|
||||
* @param string $mode
|
||||
* @param resource $context
|
||||
* @param string $protocol
|
||||
* @param string $class
|
||||
* @return resource
|
||||
* @throws \BadMethodCallException
|
||||
*/
|
||||
protected static function wrapSource($source, $context, $protocol, $class, $mode = 'r+') {
|
||||
protected static function wrapSource($source, $context = [], $protocol = null, $class = null, $mode = 'r+') {
|
||||
try {
|
||||
if ($protocol === null) {
|
||||
$protocol = self::getProtocol($class);
|
||||
}
|
||||
|
||||
stream_wrapper_register($protocol, $class);
|
||||
$context = self::buildContext($protocol, $context, $source);
|
||||
if (self::isDirectoryHandle($source)) {
|
||||
$wrapped = opendir($protocol . '://', $context);
|
||||
} else {
|
||||
|
|
@ -214,14 +221,26 @@ class Encryption extends Wrapper {
|
|||
return $wrapped;
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo this is a copy of \Icewind\Streams\WrapperHandler::buildContext -> combine to one shared method?
|
||||
*/
|
||||
private static function buildContext($protocol, $context, $source) {
|
||||
if (is_array($context)) {
|
||||
$context['source'] = $source;
|
||||
return stream_context_create([$protocol => $context]);
|
||||
}
|
||||
|
||||
return $context;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the source from the stream context and return the context options
|
||||
*
|
||||
* @param string $name
|
||||
* @param string|null $name
|
||||
* @return array
|
||||
* @throws \BadMethodCallException
|
||||
*/
|
||||
protected function loadContext($name) {
|
||||
protected function loadContext($name = null) {
|
||||
$context = parent::loadContext($name);
|
||||
|
||||
foreach ($this->expectedContextProperties as $property) {
|
||||
|
|
@ -314,7 +333,7 @@ class Encryption extends Wrapper {
|
|||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* stream_read_block
|
||||
*
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class Quota extends Wrapper {
|
|||
/**
|
||||
* @param resource $stream
|
||||
* @param int $limit
|
||||
* @return resource
|
||||
* @return bool|resource
|
||||
*/
|
||||
public static function wrap($stream, $limit) {
|
||||
$context = stream_context_create([
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ use OCP\IAvatarManager;
|
|||
use OCP\IUser;
|
||||
use OCP\IUserManager;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use function is_resource;
|
||||
|
||||
class MoveAvatarsBackgroundJob extends QueuedJob {
|
||||
|
||||
|
|
@ -78,7 +79,7 @@ class MoveAvatarsBackgroundJob extends QueuedJob {
|
|||
try {
|
||||
$avatarPath = $path . '/avatar.' . $this->getExtension($path);
|
||||
$resource = $this->owncloudAvatarStorage->fopen($avatarPath, 'r');
|
||||
if ($resource) {
|
||||
if (is_resource($resource)) {
|
||||
$avatar->set($resource);
|
||||
fclose($resource);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ interface ISimpleFile {
|
|||
/**
|
||||
* Open the file as stream for writing, resulting resource can be operated as stream like the result from php's own fopen
|
||||
*
|
||||
* @return resource
|
||||
* @return resource|bool
|
||||
* @throws \OCP\Files\NotPermittedException
|
||||
* @since 14.0.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ interface Storage extends IStorage {
|
|||
* see http://php.net/manual/en/function.opendir.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return resource|false
|
||||
* @return resource|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function opendir($path);
|
||||
|
|
@ -120,7 +120,7 @@ interface Storage extends IStorage {
|
|||
* only the following keys are required in the result: size and mtime
|
||||
*
|
||||
* @param string $path
|
||||
* @return array|false
|
||||
* @return array|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function stat($path);
|
||||
|
|
@ -129,7 +129,7 @@ interface Storage extends IStorage {
|
|||
* see http://php.net/manual/en/function.filetype.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function filetype($path);
|
||||
|
|
@ -139,7 +139,7 @@ interface Storage extends IStorage {
|
|||
* The result for filesize when called on a folder is required to be 0
|
||||
*
|
||||
* @param string $path
|
||||
* @return int|false
|
||||
* @return int|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function filesize($path);
|
||||
|
|
@ -212,7 +212,7 @@ interface Storage extends IStorage {
|
|||
* see http://php.net/manual/en/function.filemtime.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int|false
|
||||
* @return int|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function filemtime($path);
|
||||
|
|
@ -221,7 +221,7 @@ interface Storage extends IStorage {
|
|||
* see http://php.net/manual/en/function.file_get_contents.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function file_get_contents($path);
|
||||
|
|
@ -270,7 +270,7 @@ interface Storage extends IStorage {
|
|||
*
|
||||
* @param string $path
|
||||
* @param string $mode
|
||||
* @return resource|false
|
||||
* @return resource|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function fopen($path, $mode);
|
||||
|
|
@ -280,7 +280,7 @@ interface Storage extends IStorage {
|
|||
* The mimetype for a folder is required to be "httpd/unix-directory"
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function getMimeType($path);
|
||||
|
|
@ -291,7 +291,7 @@ interface Storage extends IStorage {
|
|||
* @param string $type
|
||||
* @param string $path
|
||||
* @param bool $raw
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function hash($type, $path, $raw = false);
|
||||
|
|
@ -300,7 +300,7 @@ interface Storage extends IStorage {
|
|||
* see http://php.net/manual/en/function.free_space.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int|false
|
||||
* @return int|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function free_space($path);
|
||||
|
|
@ -309,7 +309,7 @@ interface Storage extends IStorage {
|
|||
* search for occurrences of $query in file names
|
||||
*
|
||||
* @param string $query
|
||||
* @return array|false
|
||||
* @return array|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function search($query);
|
||||
|
|
@ -330,7 +330,7 @@ interface Storage extends IStorage {
|
|||
* The local version of the file can be temporary and doesn't have to be persistent across requests
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function getLocalFile($path);
|
||||
|
|
@ -352,7 +352,7 @@ interface Storage extends IStorage {
|
|||
* get the ETag for a file or folder
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 6.0.0
|
||||
*/
|
||||
public function getETag($path);
|
||||
|
|
@ -384,7 +384,7 @@ interface Storage extends IStorage {
|
|||
* For now the returned array can hold the parameter url - in future more attributes might follow.
|
||||
*
|
||||
* @param string $path
|
||||
* @return array|false
|
||||
* @return array|bool
|
||||
* @since 8.0.0
|
||||
*/
|
||||
public function getDirectDownload($path);
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ interface IStorage {
|
|||
* see http://php.net/manual/en/function.opendir.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return resource|false
|
||||
* @return resource|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function opendir($path);
|
||||
|
|
@ -116,7 +116,7 @@ interface IStorage {
|
|||
* only the following keys are required in the result: size and mtime
|
||||
*
|
||||
* @param string $path
|
||||
* @return array|false
|
||||
* @return array|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function stat($path);
|
||||
|
|
@ -125,7 +125,7 @@ interface IStorage {
|
|||
* see http://php.net/manual/en/function.filetype.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function filetype($path);
|
||||
|
|
@ -135,7 +135,7 @@ interface IStorage {
|
|||
* The result for filesize when called on a folder is required to be 0
|
||||
*
|
||||
* @param string $path
|
||||
* @return int|false
|
||||
* @return int|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function filesize($path);
|
||||
|
|
@ -208,7 +208,7 @@ interface IStorage {
|
|||
* see http://php.net/manual/en/function.filemtime.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int|false
|
||||
* @return int|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function filemtime($path);
|
||||
|
|
@ -217,7 +217,7 @@ interface IStorage {
|
|||
* see http://php.net/manual/en/function.file_get_contents.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function file_get_contents($path);
|
||||
|
|
@ -266,7 +266,7 @@ interface IStorage {
|
|||
*
|
||||
* @param string $path
|
||||
* @param string $mode
|
||||
* @return resource|false
|
||||
* @return resource|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function fopen($path, $mode);
|
||||
|
|
@ -276,7 +276,7 @@ interface IStorage {
|
|||
* The mimetype for a folder is required to be "httpd/unix-directory"
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function getMimeType($path);
|
||||
|
|
@ -287,7 +287,7 @@ interface IStorage {
|
|||
* @param string $type
|
||||
* @param string $path
|
||||
* @param bool $raw
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function hash($type, $path, $raw = false);
|
||||
|
|
@ -296,7 +296,7 @@ interface IStorage {
|
|||
* see http://php.net/manual/en/function.free_space.php
|
||||
*
|
||||
* @param string $path
|
||||
* @return int|false
|
||||
* @return int|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function free_space($path);
|
||||
|
|
@ -317,7 +317,7 @@ interface IStorage {
|
|||
* The local version of the file can be temporary and doesn't have to be persistent across requests
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function getLocalFile($path);
|
||||
|
|
@ -339,7 +339,7 @@ interface IStorage {
|
|||
* get the ETag for a file or folder
|
||||
*
|
||||
* @param string $path
|
||||
* @return string|false
|
||||
* @return string|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function getETag($path);
|
||||
|
|
@ -371,7 +371,7 @@ interface IStorage {
|
|||
* For now the returned array can hold the parameter url - in future more attributes might follow.
|
||||
*
|
||||
* @param string $path
|
||||
* @return array|false
|
||||
* @return array|bool
|
||||
* @since 9.0.0
|
||||
*/
|
||||
public function getDirectDownload($path);
|
||||
|
|
|
|||
Loading…
Reference in a new issue