- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_message_param.php
- Класс: CIMMessageLink
- Вызов: CIMMessageLink::formatAttach
static function formatAttach($linkParam)
{
$attach = null;
$typeLinkParam = $linkParam['TYPE'] ?? null;
$extraImageLinkParam = $linkParam['EXTRA_IMAGE'] ?? null;
if ($typeLinkParam == UrlPreviewUrlMetadataTable::TYPE_STATIC)
{
if ($linkParam['EXTRA']['PEER_IP_PRIVATE'] && IMUser::getInstance()->isExtranet())
{
return $attach;
}
if (intval($linkParam['IMAGE_ID']) > 0)
{
$image = CFile::ResizeImageGet(
$linkParam['IMAGE_ID'],
array('width' => 450, 'height' => 120),
BX_RESIZE_IMAGE_PROPORTIONAL,
false,
false,
true
);
$linkParam['IMAGE_ID'] = empty($image['src'])? '': $image['src'];
}
else if ($linkParam['IMAGE'] <> '')
{
$linkParam['IMAGE_ID'] = $linkParam['IMAGE'];
}
else if (!empty($linkParam['EXTRA']['IMAGES']))
{
//we take only first extra image
$linkParam['EXTRA_IMAGE'] = $linkParam['EXTRA']['IMAGES'][0];
}
else
{
$linkParam['IMAGE_ID'] = '';
}
$attach = new CIMMessageParamAttach($linkParam['ID'], CIMMessageParamAttach::TRANSPARENT);
$attach->AddRichLink(Array(
"NAME" => $linkParam['TITLE'],
"DESC" => $linkParam['DESCRIPTION'],
"LINK" => $linkParam['URL'],
"PREVIEW" => $linkParam['IMAGE_ID'],
"EXTRA_IMAGE" => $extraImageLinkParam,
));
}
else if ($linkParam['TYPE'] == UrlPreviewUrlMetadataTable::TYPE_DYNAMIC)
{
$attach = UrlPreviewUrlPreview::getImAttach($linkParam['URL'], true);
if ($attach && $attach instanceof CIMMessageParamAttach)
{
$attach->SetId($linkParam['ID']);
}
}
return $attach;
}