Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2020-09-09 14:48:48 +0300
committerRobin Appelman <robin@icewind.nl>2020-09-09 14:48:48 +0300
commit928cee2ae717f4df699bcd3604c0028d3f159b44 (patch)
tree6c4a0f2edaca3f2c2fac7423873ba3732db437b9 /apps/files_sharing/lib
parentf0b46ea605548d9feb4af115a3d05cf2cff24bda (diff)
only get the permissions from the share source if it's not already cached
this prevents having to setup the share source when doing metadata stuff on the share root Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'apps/files_sharing/lib')
-rw-r--r--apps/files_sharing/lib/Cache.php11
1 files changed, 5 insertions, 6 deletions
diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php
index 587d49f4a46..dae33376f6d 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 === '') {