- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/main/uiselector/crmcompanies.php
- Класс: Bitrix\Crm\Integration\Main\UISelector\CrmCompanies
- Вызов: CrmCompanies::prepareEntity
static function prepareEntity($data, $options = [])
{
static
$companyTypeList = null,
$companyIndustryList = null;
$prefix = static::getPrefix($options);
if ($companyTypeList === null)
{
$companyTypeList = CCrmStatus::getStatusListEx('COMPANY_TYPE');
}
if ($companyIndustryList === null)
{
$companyIndustryList = CCrmStatus::getStatusListEx('INDUSTRY');
}
$descList = [];
if (isset($companyTypeList[$data['COMPANY_TYPE']]))
{
$descList[] = $companyTypeList[$data['COMPANY_TYPE']];
}
if (isset($companyIndustryList[$data['INDUSTRY']]))
{
$descList[] = $companyIndustryList[$data['INDUSTRY']];
}
$result = [
'id' => $prefix . $data['ID'],
'entityType' => 'companies',
'entityId' => $data['ID'],
'name' => htmlspecialcharsbx(Emoji::decode(str_replace([';', ','], ' ', $data['TITLE']))),
'desc' => htmlspecialcharsbx(implode(', ', $descList))
];
if (array_key_exists('DATE_CREATE', $data))
{
$result['date'] = MakeTimeStamp($data['DATE_CREATE']);
}
if (
!empty($data['LOGO'])
&& intval($data['LOGO']) > 0
)
{
$imageFields = CFile::resizeImageGet(
$data['LOGO'],
['width' => 100, 'height' => 100],
BX_RESIZE_IMAGE_EXACT
);
$result['avatar'] = $imageFields['src'];
}
if (
!empty($data['HAS_EMAIL'])
&& $data['HAS_EMAIL'] == 'Y'
)
{
$multiEmailsList = [];
$found = false;
$res = CCrmFieldMulti::getList(
['ID' => 'asc'],
[
'ENTITY_ID' => static::getOwnerTypeName(),
'TYPE_ID' => CCrmFieldMulti::EMAIL,
'ELEMENT_ID' => $data['ID'],
]
);
while ($multiFields = $res->Fetch())
{
if (!empty($multiFields['VALUE']))
{
$multiEmailsList[] = htmlspecialcharsbx($multiFields['VALUE']);
if (!$found)
{
$result['email'] = htmlspecialcharsbx($multiFields['VALUE']);
if (
isset($options['onlyWithEmail'])
&& $options['onlyWithEmail'] == 'Y'
)
{
$result['desc'] = $result['email'];
}
$found = true;
}
}
}
$result['multiEmailsList'] = $multiEmailsList;
}
if (
isset($options['returnItemUrl'])
&& $options['returnItemUrl'] == 'Y'
)
{
$result['url'] = CCrmOwnerType::getEntityShowPath(static::getOwnerType(), $data['ID']);
$result['urlUseSlider'] = (CCrmOwnerType::isSliderEnabled(static::getOwnerType()) ? 'Y' : 'N');
}
return $result;
}