예제 #1
0
 protected function processActionSetDelegateResponsible()
 {
     $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();
     }
     $selectUsers = $this->request->getPost('selectUsers');
     $rightObject = new CIBlockRights($this->iblockId);
     $rights = $rightObject->getRights();
     $rightsList = $rightObject->getRightsList(false);
     $idRight = array_search('iblock_full', $rightsList);
     foreach ($rights as $keyRight => $right) {
         $res = strpos($right['GROUP_CODE'], 'U');
         if ($res === 0) {
             $arraySearch = array_search($right['GROUP_CODE'], $selectUsers);
             if ($right['TASK_ID'] == $idRight) {
                 if (!empty($selectUsers)) {
                     if ($arraySearch || $arraySearch == 0) {
                         unset($rights[$keyRight]);
                     }
                 } else {
                     unset($rights[$keyRight]);
                 }
             } else {
                 if (!empty($selectUsers)) {
                     if ($arraySearch || $arraySearch == 0) {
                         unset($rights[$keyRight]);
                     }
                 }
             }
         }
     }
     if (!empty($selectUsers)) {
         foreach ($selectUsers as $keySelect => $idUser) {
             $rights['n' . $keySelect] = array('GROUP_CODE' => $idUser, 'TASK_ID' => $idRight);
         }
     }
     $rightObject->setRights($rights);
     $this->sendJsonSuccessResponse(array('message' => Loc::getMessage('LISTS_SEAC_MESSAGE_DELEGATE_RESPONSIBLE')));
 }
예제 #2
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);
 }