- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/admin_notify.php
- Класс: CAdminNotify
- Вызов: CAdminNotify::Add
static function Add($arFields)
{
global $DB;
if (!self::CheckFields($arFields))
{
return false;
}
if (!is_set($arFields['ENABLE_CLOSE']))
{
$arFields['ENABLE_CLOSE'] = 'Y';
}
if (is_set($arFields['TAG']) && trim($arFields['TAG']) <> '')
{
$arFields['TAG'] = trim($arFields['TAG']);
self::DeleteByTag($arFields['TAG']);
}
else
{
$arFields['TAG'] = "";
}
$arFields['PUBLIC_SECTION'] = (isset($arFields['PUBLIC_SECTION']) && $arFields['PUBLIC_SECTION'] == 'Y' ? 'Y' : 'N');
if (!isset($arFields['NOTIFY_TYPE']) || !in_array($arFields['NOTIFY_TYPE'], [self::TYPE_NORMAL, self::TYPE_ERROR]))
{
$arFields['NOTIFY_TYPE'] = self::TYPE_NORMAL;
}
$arFields_i = [
'MODULE_ID' => is_set($arFields['MODULE_ID']) ? trim($arFields['MODULE_ID']) : "",
'TAG' => $arFields['TAG'],
'MESSAGE' => trim($arFields['MESSAGE']),
'ENABLE_CLOSE' => $arFields['ENABLE_CLOSE'],
'PUBLIC_SECTION' => $arFields['PUBLIC_SECTION'],
'NOTIFY_TYPE' => $arFields['NOTIFY_TYPE'],
];
$ID = $DB->Add('b_admin_notify', $arFields_i, ['MESSAGE']);
if ($ID)
{
if (isset($arFields['LANG']) && !empty($arFields['LANG']) && is_array($arFields['LANG']))
{
foreach ($arFields['LANG'] as $strLang => $strMess)
{
$arFields_l = [
'NOTIFY_ID' => $ID,
'LID' => $strLang,
'MESSAGE' => trim($strMess),
];
$DB->Add('b_admin_notify_lang', $arFields_l, ['MESSAGE']);
}
}
}
self::CleanCache();
return $ID;
}