• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/logview.php
  • Класс: BitrixSocialnetworkLogViewTable
  • Вызов: LogViewTable::set
static function set($userId, $eventId, $type): void
{
	$userId = (int)$userId;
	$type = ($type === 'Y' ? 'Y' : 'N');
	$eventId = trim($eventId);
	if ($eventId === '')
	{
		throw new MainSystemException('Empty eventId.');
	}
	$eventId = CSocNetLogTools::findFullSetByEventID($eventId);

	$connection = BitrixMainApplication::getConnection();
	$helper = $connection->getSqlHelper();

	foreach ($eventId as $val)
	{
		$insertFields = [
			'USER_ID' => $userId,
			'TYPE' => $type,
			'EVENT_ID' => $helper->forSql($val),
		];

		$updateFields = [
			'TYPE' => $type,
		];

		$merge = $helper->prepareMerge(
			static::getTableName(),
			[ 'USER_ID', 'EVENT_ID' ],
			$insertFields,
			$updateFields
		);

		if ($merge[0] !== '')
		{
			$connection->query($merge[0]);
		}
	}
}