• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/push/groupsender.php
  • Класс: BitrixTasksInternalsCounterPushGroupSender
  • Вызов: GroupSender::send
public function send(array $pushList)
{
	if (!ModuleManager::isModuleInstalled('pull') || !Loader::includeModule('pull'))
	{
		return;
	}

	$pushList = $this->fillPushGroup($pushList);

	$this->sendPersonalPush($pushList);

	$pushList = $this->rearrangePushList($pushList);

	$sender = new PushSender();
	foreach ($pushList as $push)
	{
		$groupId = (int)$push['GROUP_ID'];
		if (!array_key_exists('USER_IDS', $push))
		{
			$userIds = $this->getUsersToPush($groupId);
		}
		else
		{
			$userIds = $push['USER_IDS'];
		}

		if (empty($userIds))
		{
			continue;
		}

		$sender->createPush(
			$userIds,
			PushSender::COMMAND_PROJECT,
			[
				'GROUP_ID' => $groupId,
				'EVENT' => $push['EVENT']
			]
		);
	}
}