• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_events.php
  • Класс: CAllSocNetLogEvents
  • Вызов: CAllSocNetLogEvents::AutoSubscribe
static function AutoSubscribe($userID, $entityType, $entityID)
{
	$dbRes = CSocNetLogEvents::GetList(
		array(),
		array("USER_ID" => $userID, "ENTITY_TYPE" => $entityType, "ENTITY_ID" => $entityID)
	);
	if ($dbRes->Fetch())
		return;

	$SiteID = false;
	if ($entityType == SONET_SUBSCRIBE_ENTITY_GROUP)
		if ($arGroupTmp = CSocNetGroup::GetByID($entityID))
			$SiteID = $arGroupTmp["SITE_ID"];
		
	$arLogEvent = array(
		"USER_ID" => $userID,
		"ENTITY_TYPE" => $entityType,
		"ENTITY_ID" => $entityID,
		"EVENT_ID" => 'system',
		"SITE_ID" => $SiteID,
	);
	CSocNetLogEvents::Add($arLogEvent);

	if ($entityType == SONET_SUBSCRIBE_ENTITY_USER)
	{
		$arLogEvent = array(
			"USER_ID" => $userID,
			"ENTITY_TYPE" => $entityType,
			"ENTITY_ID" => $entityID,
			"EVENT_ID" => 'system_friends',
			"SITE_ID" => $SiteID,
			"MAIL_EVENT" => "Y",
		);
		CSocNetLogEvents::Add($arLogEvent);
	}

	$arSocNetFeaturesSettings = CSocNetAllowed::GetAllowedFeatures();
	foreach ($arSocNetFeaturesSettings as $key => $value)
	{
		$arLogEvent = array(
			"USER_ID" => $userID,
			"ENTITY_TYPE" => $entityType,
			"ENTITY_ID" => $entityID,
			"EVENT_ID" => $key,
			"SITE_ID" => $SiteID,
			"MAIL_EVENT" => "Y",
		);
		CSocNetLogEvents::Add($arLogEvent);
	}
}