- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/site/cookies.php
- Класс: BitrixLandingSiteCookies
- Вызов: Cookies::getMainAgreement
static function getMainAgreement(?int $agreementId = null): ?array
{
$currentLang = LANGUAGE_ID;
$agreementCode = 'landing_cookie_agreement';
$fields = [
'ID' => 0,
'NAME' => Loc::getMessage('LANDING_COOKIES_MAIN_AGREEMENT_TITLE'),
'AGREEMENT_TEXT' => Loc::getMessage('LANDING_COOKIES_MAIN_AGREEMENT_TEXT'),
'LABEL_TEXT' => Loc::getMessage('LANDING_COOKIES_MAIN_AGREEMENT_LABEL'),
];
if (!$fields['NAME'])
{
return null;
}
// current from database (actualize in db)
$res = AgreementTable::getList([
'select' => [
'ID', 'NAME', 'AGREEMENT_TEXT', 'LABEL_TEXT'
],
'filter' =>
$agreementId
? [
'ID' => $agreementId
]
: [
'=ACTIVE' => 'Y',
'=CODE' => $agreementCode,
'=LANGUAGE_ID' => $currentLang
]
]);
if ($row = $res->fetch())
{
return $row;
}
else
{
$res = AgreementTable::add([
'CODE' => $agreementCode,
'LANGUAGE_ID' => $currentLang,
'TYPE' => Agreement::TYPE_CUSTOM,
'NAME' => $fields['NAME'],
'AGREEMENT_TEXT' => $fields['AGREEMENT_TEXT'],
'LABEL_TEXT' => $fields['LABEL_TEXT'],
'IS_AGREEMENT_TEXT_HTML' => 'Y'
]);
if ($res->isSuccess())
{
$fields['ID'] = $res->getId();
return $fields;
}
}
return null;
}