• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/mysql/user_relations.php
  • Класс: CSocNetUserRelations
  • Вызов: CSocNetUserRelations::Update
static function Update($ID, $arFields)
{
	global $DB;

	if (!CSocNetGroup::__ValidateID($ID))
		return false;

	$ID = intval($ID);

	$arFields1 = BitrixSocialnetworkUtil::getEqualityFields($arFields);

	if (!CSocNetUserRelations::CheckFields("UPDATE", $arFields, $ID))
		return false;

	$db_events = GetModuleEvents("socialnetwork", "OnBeforeSocNetUserRelationsUpdate");
	while ($arEvent = $db_events->Fetch())
		if (ExecuteModuleEventEx($arEvent, array($ID, $arFields))===false)
			return false;

	$arUserRelationOld = CSocNetUserRelations::GetByID($ID);

	$strUpdate = $DB->PrepareUpdate("b_sonet_user_relations", $arFields);
	BitrixSocialnetworkUtil::processEqualityFieldsToUpdate($arFields1, $strUpdate);

	if ($strUpdate <> '')
	{
		$strSql =
			"UPDATE b_sonet_user_relations SET ".
			"	".$strUpdate." ".
			"WHERE ID = ".$ID." ";
		$DB->Query($strSql, False, "File: ".__FILE__."
Line: ".__LINE__); $events = GetModuleEvents("socialnetwork", "OnSocNetUserRelationsUpdate"); while ($arEvent = $events->Fetch()) ExecuteModuleEventEx($arEvent, array($ID, $arFields)); if ( (!array_key_exists("SEND_MAIL", $arFields) || $arFields["SEND_MAIL"] != "N") && !IsModuleInstalled("im") ) { $mailType = ""; if ($arUserRelationOld["RELATION"] != SONET_RELATIONS_FRIEND && $arFields["RELATION"] == SONET_RELATIONS_FRIEND) $mailType = "AGREE_FRIEND"; elseif ($arUserRelationOld["RELATION"] != SONET_RELATIONS_BAN && $arFields["RELATION"] == SONET_RELATIONS_BAN) $mailType = "BAN_FRIEND"; elseif ($arUserRelationOld["RELATION"] != SONET_RELATIONS_REQUEST && $arFields["RELATION"] == SONET_RELATIONS_REQUEST) $mailType = "INVITE_FRIEND"; if ($mailType <> '') CSocNetUserRelations::SendEvent($ID, $mailType); } CSocNetSearch::OnUserRelationsChange($arUserRelationOld["FIRST_USER_ID"]); CSocNetSearch::OnUserRelationsChange($arUserRelationOld["SECOND_USER_ID"]); } else $ID = False; return $ID; }