From: Thomas Müller Date: Mon, 20 Apr 2015 14:50:12 +0000 (+0200) Subject: move permission related code into getMetaData() X-Git-Tag: v8.1.0alpha2~19^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=32995ace1c1ea453e08b1afd6f6d43cf68f2e3b1;p=nextcloud-server.git move permission related code into getMetaData() --- diff --git a/lib/private/files/cache/scanner.php b/lib/private/files/cache/scanner.php index 713dcda3ac3..d253afbfa1d 100644 --- a/lib/private/files/cache/scanner.php +++ b/lib/private/files/cache/scanner.php @@ -103,16 +103,10 @@ class Scanner extends BasicEmitter { * @return array an array of metadata of the file */ public function getData($path) { - $permissions = $this->storage->getPermissions($path); - if (!$permissions & \OCP\PERMISSION_READ) { - //cant read, nothing we can do + $data = $this->storage->getMetaData($path); + if (is_null($data)) { \OCP\Util::writeLog('OC\Files\Cache\Scanner', "!!! Path '$path' is not accessible or present !!!", \OCP\Util::DEBUG); - return null; } - - $data = $this->storage->getMetaData($path); - $data['permissions'] = $permissions; - return $data; } diff --git a/lib/private/files/storage/common.php b/lib/private/files/storage/common.php index 76678218054..06c61fe6931 100644 --- a/lib/private/files/storage/common.php +++ b/lib/private/files/storage/common.php @@ -585,6 +585,12 @@ abstract class Common implements Storage { * @inheritdoc */ public function getMetaData($path) { + $permissions = $this->getPermissions($path); + if (!$permissions & \OCP\Constants::PERMISSION_READ) { + //cant read, nothing we can do + return null; + } + $data = []; $data['mimetype'] = $this->getMimeType($path); $data['mtime'] = $this->filemtime($path); @@ -595,6 +601,8 @@ abstract class Common implements Storage { } $data['etag'] = $this->getETag($path); $data['storage_mtime'] = $data['mtime']; + $data['permissions'] = $this->getPermissions($path); + return $data; } } diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index 125e5f0f57e..e5c96286f09 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -23,6 +23,8 @@ namespace OC\Files\Storage\Wrapper; use OC\Encryption\Exceptions\ModuleDoesNotExistsException; +use OC\Encryption\File; +use OC\Files\Filesystem; use OC\Files\Storage\LocalTempFileTrait; use OCP\Files\Mount\IMountPoint; @@ -48,7 +50,7 @@ class Encryption extends Wrapper { /** @var array */ private $unencryptedSize; - /** @var \OC\Encryption\File */ + /** @var File */ private $fileHelper; /** @var IMountPoint */ @@ -59,7 +61,7 @@ class Encryption extends Wrapper { * @param \OC\Encryption\Manager $encryptionManager * @param \OC\Encryption\Util $util * @param \OC\Log $logger - * @param \OC\Encryption\File $fileHelper + * @param File $fileHelper * @param string $uid user who perform the read/write operation (null for public access) */ public function __construct( @@ -67,7 +69,7 @@ class Encryption extends Wrapper { \OC\Encryption\Manager $encryptionManager = null, \OC\Encryption\Util $util = null, \OC\Log $logger = null, - \OC\Encryption\File $fileHelper = null, + File $fileHelper = null, $uid = null ) { @@ -116,13 +118,14 @@ class Encryption extends Wrapper { */ public function getMetaData($path) { $data = $this->storage->getMetaData($path); + if (is_null($data)) { + return null; + } $fullPath = $this->getFullPath($path); if (isset($this->unencryptedSize[$fullPath])) { - $size = $this->unencryptedSize[$fullPath]; - $data['encrypted'] = true; - $data['size'] = $size; + $data['size'] = $this->unencryptedSize[$fullPath]; } else { $info = $this->getCache()->get($path); if (isset($info['fileid']) && $info['encrypted']) { @@ -383,7 +386,7 @@ class Encryption extends Wrapper { * @return string full path including mount point */ protected function getFullPath($path) { - return \OC\Files\Filesystem::normalizePath($this->mountPoint . '/' . $path); + return Filesystem::normalizePath($this->mountPoint . '/' . $path); } /**