From fc105f92953fc5b7c4214083b1d376c8d18375c0 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Thu, 16 Jan 2025 14:36:11 +0900 Subject: [PATCH] Add ACL Login lookup edit access id to edit access cuid --- 4dev/tests/ACL/CoreLibsACLLoginTest.php | 6 ++++++ www/lib/CoreLibs/ACL/Login.php | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/4dev/tests/ACL/CoreLibsACLLoginTest.php b/4dev/tests/ACL/CoreLibsACLLoginTest.php index 1582a1ee..e6abe067 100644 --- a/4dev/tests/ACL/CoreLibsACLLoginTest.php +++ b/4dev/tests/ACL/CoreLibsACLLoginTest.php @@ -1531,6 +1531,12 @@ final class CoreLibsACLLoginTest extends TestCase $login_mock->loginGetEditAccessCuidFromUid($mock_settings['edit_access_uid']), 'Assert check access uid to cuid valid' ); + // - loginGetEditAccessCuidFromId + $this->assertEquals( + $expected['check_access_cuid'], + $login_mock->loginGetEditAccessCuidFromUid($mock_settings['edit_access_id']), + 'Assert check access id to cuid valid' + ); // Deprecated // - loginCheckEditAccess $this->assertEquals( diff --git a/www/lib/CoreLibs/ACL/Login.php b/www/lib/CoreLibs/ACL/Login.php index b84a7331..09335563 100644 --- a/www/lib/CoreLibs/ACL/Login.php +++ b/www/lib/CoreLibs/ACL/Login.php @@ -1418,6 +1418,7 @@ class Login 'additional_acl' => Json::jsonConvertToArray($res['additional_acl']), 'data' => $ea_data ]; + // LEGACY LOOKUP $unit_access_eaid[$res['edit_access_id']] = [ 'cuid' => $res['cuid'], ]; @@ -3279,6 +3280,20 @@ HTML; return (int)$_SESSION['LOGIN_UNIT_CUID'][$uid]; } + /** + * Legacy lookup for edit access id to cuid + * + * @param int $id edit access id PK + * @return string|false edit access cuid or false if not found + */ + public function loginGetEditAccessCuidFromId(int $id): string|false + { + if (!isset($_SESSION['LOGIN_UNIT_ACL_LEVEL'][$id])) { + return false; + } + return (string)$_SESSION['LOGIN_UNIT_ACL_LEVEL'][$id]['cuid']; + } + /** * Check if admin flag is set *