|
|
@ -526,14 +526,24 @@ class SystemTagPlugin extends \Sabre\DAV\ServerPlugin { |
|
|
|
private function canUpdateTagForFileIds(array $fileIds): bool { |
|
|
|
$user = $this->userSession->getUser(); |
|
|
|
$userFolder = $this->rootFolder->getUserFolder($user->getUID()); |
|
|
|
|
|
|
|
foreach ($fileIds as $fileId) { |
|
|
|
$nodes = $userFolder->getById((int)$fileId); |
|
|
|
foreach ($nodes as $node) { |
|
|
|
if (($node->getPermissions() & Constants::PERMISSION_UPDATE) === Constants::PERMISSION_UPDATE) { |
|
|
|
return true; |
|
|
|
try { |
|
|
|
$nodes = $userFolder->getById((int)$fileId); |
|
|
|
if (empty($nodes)) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
foreach ($nodes as $node) { |
|
|
|
if (($node->getPermissions() & Constants::PERMISSION_UPDATE) !== Constants::PERMISSION_UPDATE) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
} catch (\Exception $e) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
return false; |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
} |