Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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'));
 }