• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/user_relations.php
  • Класс: CAllSocNetUserRelations
  • Вызов: CAllSocNetUserRelations::RejectRequestToBeFriend
static function RejectRequestToBeFriend($senderUserID, $relationID)
{
	global $APPLICATION;

	$senderUserID = intval($senderUserID);
	if ($senderUserID <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_SENDER_USER_ID"), "ERROR_SENDER_USER_ID");
		return false;
	}

	$relationID = intval($relationID);
	if ($relationID <= 0)
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_TARGET_USER_ID"), "ERROR_RELATION_ID");
		return false;
	}

	$dbResult = CSocNetUserRelations::GetList(
		array(),
		array(
			"ID" => $relationID,
			"SECOND_USER_ID" => $senderUserID,
			"RELATION" => SONET_RELATIONS_REQUEST
		),
		false,
		false,
		array("ID", "FIRST_USER_ID")
	);

	if ($arResult = $dbResult->Fetch())
	{
		if (CSocNetUserRelations::Delete($arResult["ID"]))
		{
			if (CModule::IncludeModule("im"))
			{
				CIMNotify::DeleteByTag("SOCNET|INVITE_USER|".intval($senderUserID)."|".intval($arResult["ID"]));
				$arMessageFields = array(
					"MESSAGE_TYPE" => IM_MESSAGE_SYSTEM,
					"TO_USER_ID" => $arResult["FIRST_USER_ID"],
					"FROM_USER_ID" => $senderUserID,
					"NOTIFY_TYPE" => IM_NOTIFY_FROM,
					"NOTIFY_MODULE" => "socialnetwork",
					"NOTIFY_EVENT" => "inout_user",
					"NOTIFY_TAG" => "SOCNET|INVITE_USER_REJECT",
					"NOTIFY_MESSAGE" => GetMessage("SONET_UR_REJECT_FRIEND_MESSAGE"),
				);
				CIMNotify::Add($arMessageFields);
			}
		}
		else
		{
			$errorMessage = "";
			if ($e = $APPLICATION->GetException())
				$errorMessage = $e->GetString();
			if ($errorMessage == '')
				$errorMessage = GetMessage("SONET_UR_RELATION_DELETE_ERROR");

			$GLOBALS["APPLICATION"]->ThrowException($errorMessage, "ERROR_DELETE_RELATION");
			return false;
		}
	}
	else
	{
		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_NO_FRIEND_REQUEST"), "ERROR_NO_FRIEND_REQUEST");
		return false;
	}

	CSocNetUserRelations::__SpeedFileCheckMessages($senderUserID);

	return true;
}