• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/classes/general/mail.php
  • Класс: CMailFilter
  • Вызов: CMailFilter::Add
static function Add($arFields)
{
	if(!CMailFilter::CheckConditionTypes($arFields))
	{
		return false;
	}

	global $DB;

	if(is_set($arFields, "ACTIVE") && $arFields["ACTIVE"]!="Y")
		$arFields["ACTIVE"]="N";

	if(is_set($arFields, "ACTION_READ") && $arFields["ACTION_READ"]!="Y" && $arFields["ACTION_READ"]!="N")
		$arFields["ACTION_READ"] = "-";

	if(is_set($arFields, "ACTION_SPAM") && $arFields["ACTION_SPAM"]!="Y" && $arFields["ACTION_SPAM"]!="N")
		$arFields["ACTION_SPAM"] = "-";

	if(is_set($arFields, "ACTION_DELETE_MESSAGE") && $arFields["ACTION_DELETE_MESSAGE"]!="Y")
		$arFields["ACTION_DELETE_MESSAGE"] ="N";

	if(is_set($arFields, "ACTION_STOP_EXEC") && $arFields["ACTION_STOP_EXEC"]!="Y")
		$arFields["ACTION_STOP_EXEC"] = "N";

	if(!CMailFilter::CheckFields($arFields))
		return false;

	$ID = $DB->Add("b_mail_filter", $arFields, Array("PHP_CONDITION", "ACTION_PHP"));

	if(is_set($arFields, "CONDITIONS"))
		CMailFilterCondition::SetConditions($ID, $arFields["CONDITIONS"]);

	CMailbox::SMTPReload();

	return $ID;
}