• Модуль: subscribe
  • Путь к файлу: ~/bitrix/modules/subscribe/classes/general/posting.php
  • Класс: CPostingGeneral
  • Вызов: CPostingGeneral::CheckFields
function CheckFields($arFields, $ID)
{
	/** @global CDatabase $DB */
	global $DB;
	/** @global  CMain $APPLICATION */
	global $APPLICATION;

	$this->LAST_ERROR = "";
	$aMsg = array();

	if(array_key_exists("FROM_FIELD", $arFields))
	{
		if(mb_strlen($arFields["FROM_FIELD"]) < 3 || !check_email($arFields["FROM_FIELD"]))
			$aMsg[] = array("id"=>"FROM_FIELD", "text"=>GetMessage("class_post_err_email"));
	}

	if(!array_key_exists("DIRECT_SEND", $arFields) || $arFields["DIRECT_SEND"]=="N")
	{
		if(array_key_exists("TO_FIELD", $arFields) && $arFields["TO_FIELD"] == '')
			$aMsg[] = array("id"=>"TO_FIELD", "text"=>GetMessage("class_post_err_to"));
	}

	if(array_key_exists("SUBJECT", $arFields))
	{
		if($arFields["SUBJECT"] == '')
			$aMsg[] = array("id"=>"SUBJECT", "text"=>GetMessage("class_post_err_subj"));
	}

	if(array_key_exists("BODY", $arFields))
	{
		if($arFields["BODY"] == '')
			$aMsg[] = array("id"=>"BODY", "text"=>GetMessage("class_post_err_text"));
	}

	if(array_key_exists("AUTO_SEND_TIME", $arFields) && $arFields["AUTO_SEND_TIME"]!==false)
	{
		if($DB->IsDate($arFields["AUTO_SEND_TIME"], false, false, "FULL")!==true)
			$aMsg[] = array("id"=>"AUTO_SEND_TIME", "text"=>GetMessage("class_post_err_auto_time"));
	}

	if(array_key_exists("CHARSET", $arFields))
	{
		$sCharset = COption::GetOptionString("subscribe", "posting_charset");
		$aCharset = explode(",", ToLower($sCharset));
		if (!in_array(ToLower($arFields["CHARSET"]), $aCharset))
		{
			$aMsg[] = array("id"=>"CHARSET", "text"=>GetMessage("class_post_err_charset"));
		}
	}

	if(!empty($aMsg))
	{
		$e = new CAdminException($aMsg);
		$APPLICATION->ThrowException($e);
		$this->LAST_ERROR = $e->GetString();
		return false;
	}

	return true;
}