예제 #1
0
 /**
  * @param int $iblockId This variable is the id iblock.
  */
 private static function createIBlockRights($iblockId)
 {
     $rightObject = new \CIBlockRights($iblockId);
     $rights = $rightObject->getRights();
     $rightsList = $rightObject->getRightsList(false);
     $rightId = array_search('iblock_full', $rightsList);
     $rights['n0'] = array('GROUP_CODE' => "G1", 'TASK_ID' => $rightId);
     $rights['n1'] = array('GROUP_CODE' => "U1", 'TASK_ID' => $rightId);
     $rightId = array_search('iblock_element_add', $rightsList);
     $rights['n2'] = array('GROUP_CODE' => "G2", 'TASK_ID' => $rightId);
     $rightObject->setRights($rights);
 }
예제 #2
0
 protected function processActionCheckDelegateResponsible()
 {
     $this->checkRequiredPostParams(array('iblockId'));
     if (!Loader::includeModule('iblock')) {
         $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_SEAC_CONNECTION_MODULE_IBLOCK'))));
     }
     $this->iblockId = intval($this->request->getPost('iblockId'));
     $this->iblockTypeId = COption::GetOptionString('lists', 'livefeed_iblock_type_id');
     $this->checkPermission();
     if ($this->errorCollection->hasErrors()) {
         $this->sendJsonErrorResponse();
     }
     $rightObject = new CIBlockRights($this->iblockId);
     $rights = $rightObject->getRights();
     $rightsList = $rightObject->getRightsList(false);
     $idRight = array_search('iblock_full', $rightsList);
     $listUser = array();
     $nameTemplate = CSite::GetNameFormat(false);
     $count = 0;
     foreach ($rights as $right) {
         $res = strpos($right['GROUP_CODE'], 'U');
         if ($right['TASK_ID'] == $idRight && $res === 0) {
             $userId = substr($right['GROUP_CODE'], 1);
             $userGroups = CUser::getUserGroup($userId);
             if (!in_array(1, $userGroups)) {
                 $userQuery = CUser::getByID($userId);
                 if ($user = $userQuery->getNext()) {
                     $listUser[$count]['id'] = $right['GROUP_CODE'];
                     $listUser[$count]['name'] = CUser::formatName($nameTemplate, $user, false);
                 }
             }
         }
         $count++;
     }
     $this->sendJsonSuccessResponse(array('listUser' => $listUser));
 }
예제 #3
0
 protected function processActionGetListAdmin()
 {
     $this->checkRequiredPostParams(array('iblockId', 'iblockTypeId', 'socnetGroupId', 'sectionId'));
     if ($this->errorCollection->hasErrors()) {
         $this->sendJsonErrorResponse();
     }
     $this->fillDataForCheckPermission();
     $this->checkPermission();
     if ($this->errorCollection->hasErrors()) {
         $this->sendJsonErrorResponse();
     }
     $rightObject = new CIBlockRights($this->iblockId);
     $rights = $rightObject->getRights();
     $rightsList = $rightObject->getRightsList(false);
     $idRight = array_search('iblock_full', $rightsList);
     $listUser = array();
     $nameTemplate = CSite::GetNameFormat(false);
     foreach ($rights as $right) {
         $res = strpos($right['GROUP_CODE'], 'U');
         if ($right['TASK_ID'] == $idRight && $res === 0) {
             $userId = substr($right['GROUP_CODE'], 1);
             $users = CUser::GetList($by = "id", $order = "asc", array('ID' => $userId), array('FIELDS' => array('ID', 'PERSONAL_PHOTO', 'NAME', 'LAST_NAME')));
             $user = $users->fetch();
             $file['src'] = '';
             if ($user) {
                 $file = \CFile::ResizeImageGet($user['PERSONAL_PHOTO'], array('width' => 58, 'height' => 58), \BX_RESIZE_IMAGE_EXACT, false);
             }
             $listUser[$userId]['id'] = $userId;
             $listUser[$userId]['img'] = $file['src'];
             $listUser[$userId]['name'] = CUser::FormatName($nameTemplate, $user, false);
         }
     }
     $users = CUser::getList($b = 'ID', $o = 'ASC', array('GROUPS_ID' => 1, 'ACTIVE' => 'Y'), array('FIELDS' => array('ID', 'PERSONAL_PHOTO', 'NAME', 'LAST_NAME')));
     while ($user = $users->fetch()) {
         $file = \CFile::ResizeImageGet($user['PERSONAL_PHOTO'], array('width' => 58, 'height' => 58), \BX_RESIZE_IMAGE_EXACT, false);
         $listUser[$user['ID']]['id'] = $user['ID'];
         $listUser[$user['ID']]['img'] = $file['src'];
         $listUser[$user['ID']]['name'] = CUser::FormatName($nameTemplate, $user, false);
     }
     $listUser = array_values($listUser);
     $this->sendJsonSuccessResponse(array('listAdmin' => $listUser));
 }