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

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

	if ((is_set($arFields, "FIRST_USER_ID") || $ACTION=="ADD") && intval($arFields["FIRST_USER_ID"]) <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_FIRST_USER_ID"), "EMPTY_FIRST_USER_ID");
		return false;
	}
	elseif (is_set($arFields, "FIRST_USER_ID"))
	{
		$dbResult = CUser::GetByID($arFields["FIRST_USER_ID"]);
		if (!$dbResult->Fetch())
		{
			$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_ERROR_NO_FIRST_USER_ID"), "ERROR_NO_FIRST_USER_ID");
			return false;
		}
	}

	if ((is_set($arFields, "SECOND_USER_ID") || $ACTION=="ADD") && intval($arFields["SECOND_USER_ID"]) <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_SECOND_USER_ID"), "EMPTY_SECOND_USER_ID");
		return false;
	}
	elseif (is_set($arFields, "SECOND_USER_ID"))
	{
		$dbResult = CUser::GetByID($arFields["SECOND_USER_ID"]);
		if (!$dbResult->Fetch())
		{
			$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_ERROR_NO_SECOND_USER_ID"), "ERROR_NO_SECOND_USER_ID");
			return false;
		}
	}

	if ((is_set($arFields, "RELATION") || $ACTION=="ADD") && $arFields["RELATION"] == '')
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_RELATION"), "EMPTY_RELATION");
		return false;
	}
	elseif (is_set($arFields, "RELATION") && !in_array($arFields["RELATION"], $arSocNetAllowedRelations))
	{
		$GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["RELATION"], GetMessage("SONET_UR_ERROR_NO_RELATION")), "ERROR_NO_RELATION");
		return false;
	}
	elseif (is_set($arFields, "RELATION") && $arFields["RELATION"] == SONET_RELATIONS_TYPE_FRIENDS2)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_ERROR_RELATION_FRIENDS2"), "ERROR_RELATION_FRIENDS2");
		return false;
	}

	if ((is_set($arFields, "INITIATED_BY") || $ACTION=="ADD") && !in_array($arFields["INITIATED_BY"], array("F", "S")))
		$arFields["INITIATED_BY"] = "F";

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

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

	return True;
}