• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/classes/general/mail.php
  • Класс: CAllMailMessage
  • Вызов: CAllMailMessage::GetSpamRating
static function GetSpamRating($msgid, $arRow=false)
{
	global $DB;
	$res = null;

	if(!is_array($arRow))
		$res = $DB->Query("SELECT SPAM_RATING, SPAM_LAST_RESULT, HEADER, BODY_HTML, BODY FROM b_mail_message WHERE ID=".intval($msgid));
	else
		$ar = $arRow;

	if(is_array($arRow) || $res && ($ar = $res->Fetch()))
	{
		if (empty($ar['FOR_SPAM_TEST']))
		{
			$ar['FOR_SPAM_TEST'] = sprintf('%s %s', $ar['HEADER'], $ar['BODY_HTML'] ?: $ar['BODY'] );
		}

		if($ar["SPAM_LAST_RESULT"]=="Y")
			return $ar["SPAM_RATING"];
		$arSpam = CMailFilter::GetSpamRating($ar["FOR_SPAM_TEST"]);
		$num = Round($arSpam["RATING"], 4);
		$DB->Query("UPDATE b_mail_message SET SPAM_RATING=".$num.", SPAM_LAST_RESULT='Y', SPAM_WORDS='".$DB->ForSql($arSpam["WORDS"], 255)."' WHERE ID=".intval($msgid));
		return $num;
	}
}