- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/classes/general/restentity.php
- Класс: CBitrixRestEntity
- Вызов: CBitrixRestEntity::entityAdd
static function entityAdd($params, $n, $server)
{
global $USER;
if(self::checkParams($params))
{
if(!self::checkEntity($params['ENTITY'], $server))
{
if(!isset($params['ACCESS']) || !is_array($params['ACCESS']))
{
$params['ACCESS'] = array();
}
$params['ACCESS']['U'.$USER->GetID()] = 'X';
$arIBlockFields = array(
'IBLOCK_TYPE_ID' => self::getIBlockType(),
"NAME" => trim($params['NAME']),
"CODE" => self::getEntityIBlockCode($params['ENTITY'], $server),
"ACTIVE" => "Y",
'WORKFLOW' => 'N',
'INDEX_SECTION' => 'N',
'INDEX_ELEMENT' => 'N',
'VERSION' => 1,
'RIGHTS_MODE' => 'E',
'RIGHTS' => self::checkRights($params['ACCESS']),
'SITE_ID' => CSite::GetDefSite()
);
$ib = new CIBlock();
$ID = $ib->Add($arIBlockFields);
if($ID > 0)
{
//$server->setStatus(CRestServer::STATUS_CREATED);
return true;
}
else
{
throw new RestException($ib->LAST_ERROR, RestException::ERROR_CORE);
}
}
else
{
throw new RestException('Entity already exists', self::ERROR_ENTITY_ALREADY_EXISTS);
}
}
}