/** * Manage permissions */ protected function adminPermissions() { $resource = new \core_kernel_classes_Resource($this->getRequestParameter('id')); $accessRights = AdminService::getUsersPermissions($resource->getUri()); $userList = $this->getUserList(); $roleList = $this->getRoleList(); $this->setData('privileges', PermissionProvider::getRightLabels()); $userData = array(); foreach (array_keys($accessRights) as $uri) { if (isset($userList[$uri])) { $userData[$uri] = array('label' => $userList[$uri], 'isRole' => false); unset($userList[$uri]); } elseif (isset($roleList[$uri])) { $userData[$uri] = array('label' => $roleList[$uri], 'isRole' => true); unset($roleList[$uri]); } else { \common_Logger::d('unknown user ' . $uri); } } $this->setData('users', $userList); $this->setData('roles', $roleList); $this->setData('userPrivileges', $accessRights); $this->setData('userData', $userData); $this->setData('uri', $resource->getUri()); $this->setData('label', _dh($resource->getLabel())); $this->setView('AdminAccessController/index.tpl'); }
/** * Manage permissions * @requiresRight id GRANT */ public function adminPermissions() { $resource = new \core_kernel_classes_Resource($this->getRequestParameter('id')); $accessRights = AdminService::getUsersPermissions($resource->getUri()); $this->setData('privileges', PermissionProvider::getRightLabels()); $users = array(); $roles = array(); foreach ($accessRights as $uri => $privileges) { $identity = new \core_kernel_classes_Resource($uri); if ($identity->isInstanceOf(\tao_models_classes_RoleService::singleton()->getRoleClass())) { $roles[$uri] = array('label' => $identity->getLabel(), 'privileges' => $privileges); } else { $users[$uri] = array('label' => $identity->getLabel(), 'privileges' => $privileges); } } $this->setData('users', $users); $this->setData('roles', $roles); $this->setData('isClass', $resource->isClass()); $this->setData('uri', $resource->getUri()); $this->setData('label', _dh($resource->getLabel())); $this->setView('AdminAccessController/index.tpl'); }