• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/site/cookies.php
  • Класс: BitrixLandingSiteCookies
  • Вызов: Cookies::onUserConsentProviderList
static function onUserConsentProviderList(): EventResult
{
	$currentSite = [];

	$parameters = [
		[
			'CODE' => self::USER_CONSENT_CODE,
			'NAME' => 'Cookie',
			'DATA' => function ($id = null) use(&$currentSite)
			{
				static $sites = [];

				$id = intval($id);
				if (!$id)
				{
					return null;
				}

				if (!isset($sites[$id]))
				{
					$sites[$id] = Site::getList([
						'select' => [
							'ID', 'TITLE'
						],
						'filter' => [
							'ID' => $id,
							'=DELETED' => ['Y', 'N']
						],
						'limit' => 1
					])->fetch();
				}
				if ($sites[$id])
				{
					$sites[$id]['URL'] = Site::getPublicUrl($id);
					$sites[$id]['AGREEMENTS'] = self::getAgreements($id);
					$currentSite = $sites[$id];
				}
				else
				{
					return null;
				}

				return [
					'NAME' => $sites[$id]['TITLE'],
					'URL' => $sites[$id]['URL']
				];
			},
			'ITEMS' => function ($code = null) use(&$currentSite)
			{
				if (!$currentSite)
				{
					$currentSite = [
						'AGREEMENTS' => self::getAgreements(-1)
					];
				}
				return $currentSite['AGREEMENTS'][$code]['TITLE'] ?? $code;
			},
		]
	];

	return new EventResult(EventResult::SUCCESS, $parameters, 'landing');
}