PullSender::sendForUserAddedAndRemoved

  1. Bitrix24 API (v. 23.675.0)
  2. tasks
  3. PullSender
  4. sendForUserAddedAndRemoved
  • Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/project/pull/pullsender.php
  • Класс: BitrixTasksInternalsProjectPullPullSender
  • Вызов: PullSender::sendForUserAddedAndRemoved
static function sendForUserAddedAndRemoved(Event $event, array $notVisibleGroupsUsers): void
{
	$eventData = $event->getData();
	$groupId = $event->getGroupId();
	$pushParams = [
		'module_id' => 'tasks',
		'command' => $event->getType(),
		'params' => ['GROUP_ID' => $groupId],
	];

	if (array_key_exists($groupId, $notVisibleGroupsUsers))
	{
		if ($eventData['ROLE'] !== UserToGroupTable::ROLE_REQUEST)
		{
			if (!array_key_exists('USER_ID', $eventData))
			{
				$eventData['USER_ID'] = [];
			}
			if (!is_array($eventData['USER_ID']))
			{
				$eventData['USER_ID'] = [$eventData['USER_ID']];
			}
			$recipients = array_unique(array_merge($eventData['USER_ID'], $notVisibleGroupsUsers[$groupId]));
			PushService::addEvent($recipients, $pushParams);
		}
	}
	elseif ($eventData['ROLE'] === UserToGroupTable::ROLE_REQUEST)
	{
		PushService::addEvent($eventData['USER_ID'], $pushParams);
	}
	else
	{
		PushService::addEventByTag(PullDictionary::PULL_PROJECTS_TAG, $pushParams);
	}
}

Добавить комментарий