public function roles(array $params) { OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('base')->getStaticJsUrl() . 'jquery-ui.min.js'); $service = BOL_UserService::getInstance(); $roleService = BOL_AuthorizationService::getInstance(); $roles = $roleService->findNonGuestRoleList(); $list = array(); $total = $service->count(true); foreach ($roles as $role) { $userCount = $roleService->countUserByRoleId($role->getId()); $list[$role->getId()] = array('dto' => $role, 'userCount' => $userCount); } $this->assign('set', $list); $this->assign('total', $total); $addRoleForm = new AddRoleForm(); if (OW::getRequest()->isPost() && $addRoleForm->isValid($_POST)) { $addRoleForm->process($addRoleForm->getValues()); $this->redirect(); } $this->addForm($addRoleForm); OW::getLanguage()->addKeyForJs('admin', 'permissions_edit_role_btn'); OW::getDocument()->setHeadingIconClass('ow_ic_user'); OW::getDocument()->setHeading(OW::getLanguage()->text('admin', 'heading_user_roles')); // users roles $service = BOL_AuthorizationService::getInstance(); $this->assign('formAction', OW::getRouter()->urlFor('ADMIN_CTRL_Permissions', 'savePermissions')); $roles = $service->getRoleList(); $actions = $service->getActionList(); $groups = $service->getGroupList(); $permissions = $service->getPermissionList(); $groupActionList = array(); foreach ($groups as $group) { /* @var $group BOL_AuthorizationGroup */ $groupActionList[$group->id]['name'] = $group->name; $groupActionList[$group->id]['actions'] = array(); } foreach ($actions as $action) { /* @var $action BOL_AuthorizationAction */ $groupActionList[$action->groupId]['actions'][] = $action; } foreach ($groupActionList as $key => $value) { if (count($value['actions']) === 0 || !OW::getPluginManager()->isPluginActive($value['name'])) { unset($groupActionList[$key]); } } $perms = array(); foreach ($permissions as $permission) { /* @var $permission BOL_AuthorizationPermission */ $perms[$permission->actionId][$permission->roleId] = true; } $tplRoles = array(); foreach ($roles as $role) { $tplRoles[$role->sortOrder] = $role; } ksort($tplRoles); $this->assign('perms', $perms); $this->assign('roles', $tplRoles); $this->assign('colspanForRoles', count($roles) + 1); $this->assign('groupActionList', $groupActionList); $this->assign('guestRoleId', $service->getGuestRoleId()); // SD code below - collecting group labels $event = new BASE_CLASS_EventCollector('admin.add_auth_labels'); OW::getEventManager()->trigger($event); $data = $event->getData(); $dataLabels = empty($data) ? array() : call_user_func_array('array_merge', $data); $this->assign('labels', $dataLabels); }
public function roles(array $params) { OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('base')->getStaticJsUrl() . 'jquery-ui.min.js'); $service = BOL_UserService::getInstance(); $roleService = BOL_AuthorizationService::getInstance(); $roles = $roleService->findNonGuestRoleList(); $list = array(); $total = 0; foreach ($roles as $role) { $userCount = $roleService->countUserByRoleId($role->getId()); $list[$role->getId()] = array('dto' => $role, 'userCount' => $userCount); $total += $userCount; } $this->assign('set', $list); $this->assign('total', $total); $addRoleForm = new AddRoleForm(); if (OW::getRequest()->isPost() && $addRoleForm->isValid($_POST)) { $addRoleForm->process($addRoleForm->getValues()); $this->redirect(); } $this->addForm($addRoleForm); OW::getLanguage()->addKeyForJs('admin', 'permissions_edit_role_btn'); OW::getDocument()->setHeadingIconClass('ow_ic_user'); OW::getDocument()->setHeading(OW::getLanguage()->text('admin', 'heading_user_roles')); }