• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/logpinned.php
  • Класс: BitrixSocialnetworkLogPinnedTable
  • Вызов: LogPinnedTable::set
static function set(array $params = [])
{
	global $USER;

	$logId = (isset($params['logId']) ? intval($params['logId']) : 0);
	$userId = (isset($params['userId']) ? intval($params['userId']) : (is_object($USER) && $USER instanceof CUser ? $USER->getId() : 0));

	if ($logId <= 0)
	{
		throw new MainSystemException("Empty logId.");
	}

	if ($userId <= 0)
	{
		throw new MainSystemException("Empty userId.");
	}

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

	$insertFields = [
		'LOG_ID' => $logId,
		'USER_ID' => $userId,
		'PINNED_DATE' => new BitrixMainDBSqlExpression($helper->getCurrentDateTimeFunction()),
	];

	$updateFields = [
		'PINNED_DATE' => new BitrixMainDBSqlExpression($helper->getCurrentDateTimeFunction()),
	];

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

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