From 1aa909f00fa95a56eecbc630e5d1a5efba5bdbb2 Mon Sep 17 00:00:00 2001 From: Git'Fellow <12234510+solracsf@users.noreply.github.com> Date: Sat, 29 Jul 2023 15:52:15 +0200 Subject: [PATCH] Update CacheRootPermissionsMask.php Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> --- lib/Mount/CacheRootPermissionsMask.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/Mount/CacheRootPermissionsMask.php b/lib/Mount/CacheRootPermissionsMask.php index 2c0b83b6b..ba27ce727 100644 --- a/lib/Mount/CacheRootPermissionsMask.php +++ b/lib/Mount/CacheRootPermissionsMask.php @@ -34,13 +34,18 @@ public function __construct(ICache $cache, int $mask) { $this->mask = $mask; } - protected function formatCacheEntry($entry) { + protected function formatCacheEntry(string $entry): string { $path = $entry['path']; - $isRoot = $path === '' || (strpos($path, '__groupfolders') === 0 && count(explode('/', $path)) === 2); + $isRoot = $path === '' || (str_starts_with($path, '__groupfolders/') && count(explode('/', $path)) === 2); + + // Use null coalescing assignment operator + $entry['scan_permissions'] ??= $entry['permissions']; + if (isset($entry['permissions']) && $isRoot) { - $entry['scan_permissions'] = $entry['permissions']; $entry['permissions'] &= $this->mask; } + return $entry; } + }