public function userGroupList($params) { $userDto = BOL_UserService::getInstance()->findByUsername(trim($params['user'])); if (empty($userDto)) { throw new Redirect404Exception(); } // privacy check $userId = $userDto->id; $viewerId = OW::getUser()->getId(); $ownerMode = $userId == $viewerId; $modPermissions = OW::getUser()->isAuthorized('groups'); if (!$ownerMode && !$modPermissions) { $privacyParams = array('action' => GROUPS_BOL_Service::PRIVACY_ACTION_VIEW_MY_GROUPS, 'ownerId' => $userId, 'viewerId' => $viewerId); $event = new OW_Event('privacy_check_permission', $privacyParams); OW::getEventManager()->trigger($event); } $language = OW::getLanguage(); OW::getDocument()->setTitle($language->text('groups', 'user_groups_page_title')); OW::getDocument()->setDescription($language->text('groups', 'user_groups_page_description')); OW::getDocument()->setHeading($language->text('groups', 'user_group_list_heading', array('userName' => BOL_UserService::getInstance()->getDisplayName($userDto->id)))); OW::getDocument()->setHeadingIconClass('ow_ic_files'); if (!$this->service->isCurrentUserCanViewList()) { $this->assign('permissionMessage', $language->text('groups', 'view_no_permission')); $templatePath = OW::getPluginManager()->getPlugin('groups')->getCtrlViewDir() . 'no_permission.html'; $this->setTemplate($templatePath); return; } $page = !empty($_GET['page']) && intval($_GET['page']) > 0 ? $_GET['page'] : 1; $perPage = 20; $first = ($page - 1) * $perPage; $count = $perPage; $dtoList = $this->service->findUserGroupList($userDto->id, $first, $count); $listCount = $this->service->findUserGroupListCount($userDto->id); $paging = new BASE_CMP_Paging($page, ceil($listCount / $perPage), 5); $this->assign('hideCreateNew', true); $this->displayGroupList($dtoList, $paging); }