- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/rest/configuration/entity/status.php
- Класс: Bitrix\Crm\Integration\Rest\Configuration\Entity\Status
- Вызов: Status::export
static function export($option)
{
if(!Helper::checkAccessManifest($option, static::$accessManifest))
{
return null;
}
$resultCheck = static::checkRequiredParams('EXPORT');
if (is_array($resultCheck))
{
return $resultCheck;
}
$step = false;
if(array_key_exists('STEP', $option))
{
$step = $option['STEP'];
}
$return = [
'FILE_NAME' => '',
'CONTENT' => [],
'NEXT' => $step
];
$typeList = array_values(CCrmStatus::GetEntityTypes());
if($typeList[$step])
{
if(mb_strpos($typeList[$step]['ID'], static::$dealStageStart) !== false)
{
$allDeal = DealCategory::getAll(true);
$allDealName = array_column($allDeal, 'NAME', 'ID');
if($typeList[$step]['ID'] == static::$dealStageStart)
{
$typeList[$step]['NAME'] = $allDealName[0];
}
else
{
$matches = [];
if(preg_match('/^'.static::$customDealStagePrefix.'([0-9]+)/', $typeList[$step]['ID'], $matches))
{
$id = $matches[1];
if(!empty($allDealName[$id]))
{
$typeList[$step]['NAME'] = $allDealName[$id];
}
}
}
}
$return['FILE_NAME'] = $typeList[$step]['ID'];
$return['CONTENT']['ENTITY'] = $typeList[$step];
$list = StatusTable::getList([
'order' => [
'ID' => 'ASC',
],
'filter' => [
'=ENTITY_ID' => $typeList[$step]['ID'],
],
]);
while($status = $list->fetch())
{
$return['CONTENT']['ITEMS'][] = $status;
}
}
else
{
$return['NEXT'] = false;
}
return $return;
}