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
path: root/apps
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2020-09-09 14:48:48 +0300
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2020-09-16 20:29:02 +0300
commitf140e3a03a505a62ba861b239fb781f8e8b10a65 (patch)
treee82180422e6de4f0bb3d8a6ac8cc6638810aa7ec /apps
parentc1a7a026f69a965e08dfd247c625b71de41942df (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')
-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 === '') {