예제 #1
0
파일: groups.php 프로젝트: vazahat/dudex
 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);
 }