/** * Checks whether the given user has permission for the page. * * @param rex_user $rexUser * * @return bool */ public function checkPermission(rex_user $rexUser) { foreach ($this->requiredPermissions as $perm) { if (!$rexUser->hasPerm($perm)) { return false; } } if ($parent = $this->getParent()) { return $parent->checkPermission($rexUser); } return true; }
/** * Sets the role class. * * @param string $class Class name */ public static function setRoleClass($class) { self::$roleClass = $class; }
/** * Returns if the user has the permission for all items. * * @return bool */ public function hasAll() { return $this->user->isAdmin() || $this->perms == self::ALL; }
<?php /** @var rex_addon $this */ rex_user::setRoleClass('rex_user_role'); rex_perm::register('users[]', rex_i18n::msg('user_management')); rex_extension::register('COMPLEX_PERM_REMOVE_ITEM', 'rex_user_role::removeOrReplaceItem'); rex_extension::register('COMPLEX_PERM_REPLACE_ITEM', 'rex_user_role::removeOrReplaceItem');