- Модуль: 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');
}