• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/tracking/provider.php
  • Класс: Bitrix\Crm\Tracking\Provider
  • Вызов: Provider::getAvailableSources
static function getAvailableSources()
{
	$adsSources = self::getStaticSources();
	$adsSources = array_combine(array_column($adsSources, 'CODE'), $adsSources);

	$list = self::getActualSources();
	foreach ($list as $index => $item)
	{
		if ($item['CODE'] && isset($adsSources[$item['CODE']]))
		{
			unset($adsSources[$item['CODE']]);
		}
	}

	foreach ($adsSources as $index => $item)
	{
		if (!empty($item['SHOW_ONLY_EXISTS']))
		{
			continue;
		}

		$list[] = $item + [
			'ID' => null,
			'UTM_SOURCE' => null,
			'CONFIGURED' => false,
			'ICON_COLOR' => '',
		];
	}

	usort($list, [__CLASS__, 'sortSourcesByCode']);

	return $list;
}