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

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

	if ((is_set($arFields, "USER_ID") || $ACTION=="ADD") && intval($arFields["USER_ID"]) <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GB_EMPTY_USER_ID"), "EMPTY_USER_ID");
		return false;
	}
	elseif (is_set($arFields, "USER_ID"))
	{
		$dbResult = CUser::GetByID($arFields["USER_ID"]);
		if (!$dbResult->Fetch())
		{
			$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GB_ERROR_NO_USER_ID"), "ERROR_NO_USER_ID");
			return false;
		}
	}

	if ((is_set($arFields, "OPERATION_ID") || $ACTION=="ADD") && $arFields["OPERATION_ID"] == '')
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GG_EMPTY_OPERATION_ID"), "EMPTY_OPERATION_ID");
		return false;
	}
	elseif (is_set($arFields, "OPERATION_ID") && !array_key_exists($arFields["OPERATION_ID"], $arSocNetUserOperations))
	{
		$GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["OPERATION_ID"], GetMessage("SONET_GG_ERROR_NO_OPERATION_ID")), "ERROR_NO_OPERATION_ID");
		return false;
	}

	if ((is_set($arFields, "RELATION_TYPE") || $ACTION=="ADD") && $arFields["RELATION_TYPE"] == '')
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GG_EMPTY_RELATION_TYPE"), "EMPTY_RELATION_TYPE");
		return false;
	}
	elseif (is_set($arFields, "RELATION_TYPE") && !in_array($arFields["RELATION_TYPE"], $arSocNetAllowedRelationsType))
	{
		$GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["RELATION_TYPE"], GetMessage("SONET_GG_ERROR_NO_RELATION_TYPE")), "ERROR_NO_RELATION_TYPE");
		return false;
	}
	elseif (
		is_set($arFields, "RELATION_TYPE")
		&& $arFields["RELATION_TYPE"] == SONET_RELATIONS_TYPE_FRIENDS2
	)
	{
		$arFields["RELATION_TYPE"] = SONET_RELATIONS_TYPE_FRIENDS;
	}

	return True;
}