From 1ddd34059ba9df967250d2ef2a64bca2a9a486a8 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 9 Aug 2022 13:23:03 +1200 Subject: [PATCH] Append type to open bracket to ensure permissions containing a permission type name are not removed --- src/Appwrite/Permissions/PermissionsProcessor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Permissions/PermissionsProcessor.php b/src/Appwrite/Permissions/PermissionsProcessor.php index ec88972b59..b5d2499813 100644 --- a/src/Appwrite/Permissions/PermissionsProcessor.php +++ b/src/Appwrite/Permissions/PermissionsProcessor.php @@ -23,7 +23,7 @@ class PermissionsProcessor if (!\str_starts_with($permission, $type)) { continue; } - $permissionsContents = \str_replace([$type, '(', ')', ' '], '', $permission); + $permissionsContents = \str_replace([$type . '(', ')', ' '], '', $permission); foreach ($subTypes as $subType) { $permissions[] = $subType . '(' . $permissionsContents . ')'; } @@ -48,6 +48,7 @@ class PermissionsProcessor return $permissions; } foreach (Database::PERMISSIONS as $permission) { + // Default any missing permisions to the current user if (empty(\preg_grep("#^{$permission}\(.+\)$#", $permissions)) && !empty($userId)) { $permissions[] = $permission . '(user:' . $userId . ')'; }