• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/loglist/processor.php
  • Класс: BitrixSocialnetworkComponentLogListProcessor
  • Вызов: Processor::processFavoritesData
public function processFavoritesData($result): void
{
	$params = $this->getComponent()->arParams;

	$idList = array_merge($result['arLogTmpID'], $result['pinnedIdList']);

	if (
		!empty($idList)
		&& $result['currentUserId'] > 0
		&& (
			!isset($params['USE_FAVORITES'])
			|| $params['USE_FAVORITES'] !== 'N'
		)
	)
	{
		$favLogIdList = [];
		$res = BitrixSocialnetworkLogFavoritesTable::getList([
			'filter' => [
				'@LOG_ID' => $idList,
				'USER_ID' => $result['currentUserId']
			],
			'select' => [ 'LOG_ID' ]
		]);
		while ($favEntry = $res->fetch())
		{
			$favLogIdList[] = (int)$favEntry['LOG_ID'];
		}

		$eventsList = $this->getEventsList();
		foreach ($eventsList as $key => $entry)
		{
			$entry['FAVORITES_USER_ID'] = $entry['!FAVORITES_USER_ID'] = (
				in_array((int)$entry['ID'], $favLogIdList, true)
					? $result['currentUserId']
					: 0
			);
			$this->setEventsListKey($key, $entry);
		}
	}
}