diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php index 587d49f4a4..dae33376f6 100644 --- a/apps/files_sharing/lib/Cache.php +++ b/apps/files_sharing/lib/Cache.php @@ -146,17 +146,16 @@ class Cache extends CacheJail { } try { - $sharePermissions = $this->storage->getPermissions($entry['path']); + if (isset($entry['permissions'])) { + $entry['permissions'] &= $this->storage->getShare()->getPermissions(); + } else { + $entry['permissions'] = $this->storage->getPermissions($entry['path']); + } } catch (StorageNotAvailableException $e) { // thrown by FailedStorage e.g. when the sharer does not exist anymore // (IDE may say the exception is never thrown – false negative) $sharePermissions = 0; } - if (isset($entry['permissions'])) { - $entry['permissions'] &= $sharePermissions; - } else { - $entry['permissions'] = $sharePermissions; - } $entry['uid_owner'] = $this->storage->getOwner(''); $entry['displayname_owner'] = $this->getOwnerDisplayName(); if ($path === '') {