• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/push/groupsender.php
  • Класс: BitrixTasksInternalsCounterPushGroupSender
  • Вызов: GroupSender::getGroupedByGroup
private function getGroupedByGroup(array $events): array
{
	$groupedByGroup = [];

	foreach ($events as $event)
	{
		$groupId = $event['GROUP_ID'];

		if (!array_key_exists($groupId, $groupedByGroup))
		{
			$groupedByGroup[$groupId] = [];
		}

		if (isset($event['USER_IDS']))
		{
			$groupedByGroup[$groupId][] = $event;
			continue;
		}

		$key = $event['EVENT'] . $groupId;
		if (!array_key_exists($key, $groupedByGroup[$groupId]))
		{
			$groupedByGroup[$groupId][$key] = $event;
		}
	}

	return $groupedByGroup;
}