- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/tracking/ad/index/indexbuilder.php
- Класс: Bitrix\Crm\Tracking\Ad\Index\IndexBuilder
- Вызов: IndexBuilder::addChild
private function addChild($level, $code, $title = '--', $parentId = 0)
{
$title = $title ?: '--';
$row = Tracking\Internals\SourceChildTable::getRow([
'select' => ['ID', 'TITLE'],
'filter' => [
'=SOURCE_ID' => $this->sourceId,
'=CODE' => $code,
'=PARENT_ID' => $parentId,
],
]);
if ($row)
{
if ($row['TITLE'] !== $title)
{
Tracking\Internals\SourceChildTable::update($row['ID'], ['TITLE' => $title]);
}
return $row['ID'];
}
else
{
$result = Tracking\Internals\SourceChildTable::add([
'SOURCE_ID' => $this->sourceId,
'CODE' => $code,
'LEVEL' => $level,
'TITLE' => $title,
'PARENT_ID' => $parentId,
]);
return $result->getId();
}
}