• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/messages.php
  • Класс: CAllSocNetMessages
  • Вызов: CAllSocNetMessages::CheckFields
static function CheckFields($ACTION, &$arFields, $ID = 0)
{
	global $DB;

	if ($ACTION != "ADD" && intval($ID) <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException("System error 870164", "ERROR");
		return false;
	}

	if ((is_set($arFields, "FROM_USER_ID") || $ACTION=="ADD") && intval($arFields["FROM_USER_ID"]) <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_M_EMPTY_FROM_USER_ID"), "EMPTY_FROM_USER_ID");
		return false;
	}
	elseif (is_set($arFields, "FROM_USER_ID"))
	{
		$dbResult = CUser::GetByID($arFields["FROM_USER_ID"]);
		if (!$dbResult->Fetch())
		{
			$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_M_ERROR_NO_FROM_USER_ID"), "ERROR_NO_FROM_USER_ID");
			return false;
		}
	}

	if ((is_set($arFields, "TO_USER_ID") || $ACTION=="ADD") && intval($arFields["TO_USER_ID"]) <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_M_EMPTY_TO_USER_ID"), "EMPTY_TO_USER_ID");
		return false;
	}
	elseif (is_set($arFields, "TO_USER_ID"))
	{
		$dbResult = CUser::GetByID($arFields["TO_USER_ID"]);
		if (!$dbResult->Fetch())
		{
			$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_M_ERROR_NO_TO_USER_ID"), "ERROR_NO_TO_USER_ID");
			return false;
		}
	}

	if (is_set($arFields, "DATE_CREATE") && (!$DB->IsDate($arFields["DATE_CREATE"], false, LANG, "FULL")))
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GB_EMPTY_DATE_CREATE"), "EMPTY_DATE_CREATE");
		return false;
	}

	if (is_set($arFields, "DATE_VIEW") && $arFields["DATE_VIEW"] !== false && (!$DB->IsDate($arFields["DATE_VIEW"], false, LANG, "FULL")))
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_MM_EMPTY_DATE_VIEW"), "EMPTY_DATE_UPDATE");
		return false;
	}

	if ((is_set($arFields, "MESSAGE_TYPE") || $ACTION=="ADD") && $arFields["MESSAGE_TYPE"] != SONET_MESSAGE_PRIVATE && $arFields["MESSAGE_TYPE"] != SONET_MESSAGE_SYSTEM)
		$arFields["MESSAGE_TYPE"] = SONET_MESSAGE_PRIVATE;

	if ((is_set($arFields, "FROM_DELETED") || $ACTION=="ADD") && $arFields["FROM_DELETED"] != "Y" && $arFields["FROM_DELETED"] != "N")
		$arFields["FROM_DELETED"] = "N";

	if ((is_set($arFields, "TO_DELETED") || $ACTION=="ADD") && $arFields["TO_DELETED"] != "Y" && $arFields["TO_DELETED"] != "N")
		$arFields["TO_DELETED"] = "N";

	if ((is_set($arFields, "SEND_MAIL") || $ACTION=="ADD") && $arFields["SEND_MAIL"] != "Y" && $arFields["SEND_MAIL"] != "N")
		$arFields["SEND_MAIL"] = "N";

	if ((is_set($arFields, "IS_LOG") || $ACTION=="ADD") && $arFields["IS_LOG"] != "Y" && $arFields["SEND_MAIL"] != "N")
		$arFields["SEND_MAIL"] = "N";

	return True;
}