- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/utm.php
- Класс: Bitrix\Crm\UtmTable
- Вызов: UtmTable::upsertEntityUtmFromFields
static function upsertEntityUtmFromFields($isAdd, $entityTypeId, $entityId, $fields)
{
$codeList = self::getCodeList();
foreach ($codeList as $code)
{
if (!isset($fields[$code]))
{
continue;
}
if (!$fields[$code])
{
static::deleteEntityUtm($entityTypeId, $entityId, $code);
continue;
}
if (!is_string($fields[$code]))
{
continue;
}
$primary = [
'ENTITY_TYPE_ID' => $entityTypeId,
'ENTITY_ID' => $entityId,
'CODE' => $code
];
if (!$isAdd)
{
if (static::getRowById($primary))
{
$resultDb = static::update($primary, ['VALUE' => $fields[$code]]);
}
else
{
$isAdd = true;
}
}
if ($isAdd)
{
$addFields = $primary;
$addFields['VALUE'] = $fields[$code];
$resultDb = static::add($addFields);
}
$resultDb->isSuccess();
}
}