diff --git a/system/src/Grav/Common/Flex/UserGroups/UserGroupObject.php b/system/src/Grav/Common/Flex/UserGroups/UserGroupObject.php index 151584604..e3ea01d63 100644 --- a/system/src/Grav/Common/Flex/UserGroups/UserGroupObject.php +++ b/system/src/Grav/Common/Flex/UserGroups/UserGroupObject.php @@ -11,8 +11,8 @@ declare(strict_types=1); namespace Grav\Common\Flex\UserGroups; +use Grav\Common\User\Access; use Grav\Common\User\Interfaces\UserGroupInterface; -use Grav\Framework\Acl\Access; use Grav\Framework\Flex\FlexObject; /** diff --git a/system/src/Grav/Common/Flex/Users/UserObject.php b/system/src/Grav/Common/Flex/Users/UserObject.php index 651ebd6a3..73c967300 100644 --- a/system/src/Grav/Common/Flex/Users/UserObject.php +++ b/system/src/Grav/Common/Flex/Users/UserObject.php @@ -18,13 +18,13 @@ use Grav\Common\Page\Medium\ImageMedium; use Grav\Common\Page\Medium\Medium; use Grav\Common\Page\Medium\MediumFactory; use Grav\Common\Page\Medium\StaticImageMedium; +use Grav\Common\User\Access; use Grav\Common\User\Authentication; use Grav\Common\Flex\UserGroups\UserGroupCollection; use Grav\Common\Flex\UserGroups\UserGroupIndex; use Grav\Common\User\Interfaces\UserInterface; use Grav\Common\User\Traits\UserTrait; use Grav\Common\Utils; -use Grav\Framework\Acl\Access; use Grav\Framework\File\Formatter\JsonFormatter; use Grav\Framework\File\Formatter\YamlFormatter; use Grav\Framework\Flex\Flex; diff --git a/system/src/Grav/Common/User/Access.php b/system/src/Grav/Common/User/Access.php new file mode 100644 index 000000000..8a5ea2c04 --- /dev/null +++ b/system/src/Grav/Common/User/Access.php @@ -0,0 +1,45 @@ + ['admin.configuration_system'], + 'admin.configuration.site' => ['admin.configuration_site', 'admin.settings'], + 'admin.configuration.media' => ['admin.configuration_media'], + 'admin.configuration.info' => ['admin.configuration_info'], + ]; + + /** + * @param string $action + * @return bool|null + */ + public function get(string $action) + { + $result = parent::get($action); + if (is_bool($result)) { + return $result; + } + + // Get access value. + if (isset($this->aliases[$action])) { + $aliases = $this->aliases[$action]; + foreach ($aliases as $alias) { + $result = parent::get($alias); + if (is_bool($result)) { + return $result; + } + } + } + + return null; + } +}