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