- Модуль: faceid
- Путь к файлу: ~/bitrix/modules/faceid/lib/trackingvisitors.php
- Класс: BitrixFaceidTrackingVisitorsTable
- Вызов: TrackingVisitorsTable::getCrmInfoByFace
static function getCrmInfoByFace($faceId)
{
/** @var int[] $faceIds faceId => faceId */
$faceIds = is_array($faceId) ? array_unique($faceId) : array($faceId);
$faceIds = array_combine($faceIds, $faceIds);
$crmRecords = array();
if (!empty($faceIds))
{
// try contacts
$result = BitrixCrmContactTable::getList(array(
'select' => array('ID', 'FACE_ID', 'FULL_NAME'),
'filter' => array(
'@FACE_ID' => $faceIds
),
'order' => array('ID' => 'DESC')
));
foreach ($result as $row)
{
$crmRecords[$row['FACE_ID']] = array(
'TYPE' => CCrmOwnerType::Contact,
'ID' => $row['ID'],
'TITLE' => $row['FULL_NAME'],
'URL' => '/crm/contact/show/'.$row['ID'].'/'
);
unset($faceIds[$row['FACE_ID']]);
}
}
if (!empty($faceIds))
{
// try leads
$result = BitrixCrmLeadTable::getList(array(
'select' => array('ID', 'FACE_ID', 'TITLE'),
'filter' => array(
'@FACE_ID' => $faceIds
),
'order' => array('ID' => 'DESC')
));
foreach ($result as $row)
{
$crmRecords[$row['FACE_ID']] = array(
'TYPE' => CCrmOwnerType::Lead,
'ID' => $row['ID'],
'TITLE' => $row['TITLE'],
'URL' => '/crm/lead/show/'.$row['ID'].'/'
);
unset($faceIds[$row['FACE_ID']]);
}
}
return is_array($faceId) ? $crmRecords : $crmRecords[$faceId];
}