- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/classes/general/restentity.php
- Класс: CBitrixRestEntity
- Вызов: CBitrixRestEntity::entitySectionGet
static function entitySectionGet($params, $n, $server)
{
if(self::checkSectionParams($params))
{
$arIBlock = self::getIBlock(self::getEntityIBlockCode($params['ENTITY'], $server));
if($arIBlock)
{
$arSort = array('ID' => 'ASC');
$arFilter = array();
if(isset($params['SORT']) && is_array($params['SORT']))
{
$arSort = array_change_key_case($params['SORT'], CASE_UPPER);
}
if(isset($params['FILTER']) && is_array($params['FILTER']))
{
$arFilter = array_change_key_case($params['FILTER'], CASE_UPPER);
}
$arFilter = self::checkSectionFilter($arFilter);
$arFilter['IBLOCK_ID'] = $arIBlock['ID'];
$arFilter['CHECK_PERMISSIONS'] = 'Y';
$dbRes = CIBlockSection::GetList(
$arSort,
$arFilter,
false,
array('ID', 'IBLOCK_ID', 'CODE', 'TIMESTAMP_X', 'DATE_CREATE', 'CREATED_BY', 'MODIFIED_BY', 'ACTIVE', 'SORT', 'NAME', 'PICTURE', 'DETAIL_PICTURE', 'DESCRIPTION', 'LEFT_MARGIN', 'RIGHT_MARGIN', 'DEPTH_LEVEL', 'IBLOCK_SECTION_ID'),
self::getNavData($n)
);
$result = array();
while ($res = $dbRes->Fetch(false, false))
{
$res['ENTITY'] = $params['ENTITY'];
$res['SECTION'] = $res['IBLOCK_SECTION_ID'];
$res['TIMESTAMP_X'] = CRestUtil::ConvertDateTime($res['TIMESTAMP_X']);
$res['DATE_CREATE'] = CRestUtil::ConvertDateTime($res['DATE_CREATE']);
if($res['PICTURE'] > 0)
$res['PICTURE'] = self::getFile($res['PICTURE']);
if($res['DETAIL_PICTURE'] > 0)
$res['DETAIL_PICTURE'] = self::getFile($res['DETAIL_PICTURE']);
unset($res['IBLOCK_ID']);
unset($res['IBLOCK_SECTION_ID']);
unset($res['DETAIL_TEXT_TYPE']);
unset($res['DESCRIPTION_TYPE']);
$result[] = $res;
}
return self::setNavData($result, $dbRes);
}
else
{
throw new RestException('Entity not found', self::ERROR_ENTITY_NOT_FOUND);
}
}
}