- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/ads/adsform.php
- Класс: Bitrix\Crm\Ads\AdsForm
- Вызов: AdsForm::getFormLinks
static function getFormLinks($crmFormId, $type)
{
$linkDb = Internals\AdsFormLinkTable::getList(array(
'select' => array(
'ID','LINK_DIRECTION',
'ADS_FORM_NAME', 'ADS_FORM_ID',
'ADS_ACCOUNT_NAME', 'ADS_ACCOUNT_ID',
'DATE_INSERT','ADS_TYPE'
),
'filter' => array(
'=WEBFORM_ID' => $crmFormId,
'=ADS_TYPE' => $type
),
'limit' => 3,
'cache' => array('ttl' => 300),
'order' => array('DATE_INSERT' => 'DESC'),
));
$linkDb->addFetchDataModifier(
static function ($raw) {
$raw['ADS_FORM_NAME'] = $raw['ADS_FORM_NAME'] ?? $raw['ADS_FORM_ID'];
$raw['ADS_ACCOUNT_NAME'] = $raw['ADS_ACCOUNT_NAME'] ?? $raw['ADS_ACCOUNT_ID'];
/** @var DateTime $dateInsert */
$dateInsert = $raw['DATE_INSERT'];
$timestamp = $dateInsert ? $dateInsert->getTimestamp() : time() + \CTimeZone::getOffset();
$raw['DATE_INSERT_DISPLAY'] = \FormatDate('x', $timestamp);
/*INTEGRATION MAPPING*/
if (Internals\AdsFormLinkTable::LINK_DIRECTION_IMPORT === (int)$raw["LINK_DIRECTION"])
{
$raw['FIELDS_MAPPING'] = FormFieldMappingTable::query()
->setSelect(['CRM_FIELD_KEY','ADS_FIELD_KEY','ITEMS','MULTIPLE'])
->where("FORM_LINK_ID", $raw["ID"])
->exec()
->fetchAll();
}
return $raw;
}
);
return $linkDb->fetchAll();
}