• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/access/voteaccesscontroller.php
  • Класс: BitrixSocialnetworkAccessVoteAccessController
  • Вызов: VoteAccessController::afterGetVoteList
static function afterGetVoteList(array $param, array $items): array
{
	if (
		!array_key_exists('CHECK_RIGHTS', $param)
		|| $param['CHECK_RIGHTS'] !== 'Y'
	)
	{
		return [
			'ITEMS' => $items,
		];
	}

	if (array_key_exists('CURRENT_USER_ID', $param))
	{
		$userId = (int) $param['CURRENT_USER_ID'];
	}
	else
	{
		global $USER;
		$userId = (int) $USER->getId();
	}

	$userIds = array_column($items, 'ID');

	$controller = new self($userId);
	$filtered = $controller->filterUsers($userIds);

	if (empty($filtered))
	{
		return [
			'ITEMS' => [],
		];
	}

	foreach ($items as $k => $item)
	{
		if (!in_array($item['ID'], $filtered))
		{
			unset($items[$k]);
		}
	}

	return [
		'ITEMS' => $items,
	];
}