• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools_photo.php
  • Класс: CSocNetPhotoCommentEvent
  • Вызов: CSocNetPhotoCommentEvent::InheriteAlbumFollow
function InheriteAlbumFollow($albumId, $logId, $authorId = false)
{
	$albumId = intval($albumId);
	$logId = intval($logId);

	if (
		!$albumId
		|| !$logId
	)
	{
		return false;
	}

	$dbAlbumLogEntry = CSocNetLog::GetList(
		array("ID" => "DESC"),
		array(
			"EVENT_ID"	=> "photo",
			"SOURCE_ID"	=> $albumId
		),
		false,
		false,
		array("ID")
	);

	if ($arAlbumLogEntry = $dbAlbumLogEntry->Fetch())
	{
		$rsFollower = CSocNetLogFollow::GetList(
			array(
				"CODE" => "L".$arAlbumLogEntry["ID"],
			),
			array("USER_ID", "TYPE")
		);

		while ($arFollower = $rsFollower->Fetch())
		{
			if ($arFollower["TYPE"] == 'Y')
			{
				$subscribeTypeList = array(
					'COUNTER_COMMENT_PUSH'
				);

				if (
					!$authorId
					|| intval($authorId) != $arFollower["USER_ID"]
				)
				{
					$subscribeTypeList[] = 'FOLLOW';
				}

				BitrixSocialnetworkComponentHelper::userLogSubscribe(array(
					'logId' => $logId,
					'userId' => $arFollower["USER_ID"],
					'typeList' => $subscribeTypeList,
					'followDate' => 'CURRENT'
				));
			}
			elseif (
				!$authorId
				|| intval($authorId) != $arFollower["USER_ID"]
			)
			{
				CSocNetLogFollow::Set($arFollower["USER_ID"], "L".$logId, 'N', ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL", SITE_ID));
			}
		}
	}
}