- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/integration/im/notification/provider.php
- Класс: BitrixTasksIntegrationIMNotificationProvider
- Вызов: Provider::pushNotification
private function pushNotification(?Notification $notification): void
{
if ($notification === null)
{
return;
}
$tag = $this->getNotificationTag($notification);
$params = [
'FROM_USER_ID' => $notification->getSender()->getId(),
'TO_USER_ID' => $notification->getRecepient()->getId(),
'NOTIFY_TYPE' => IM_NOTIFY_FROM,
'NOTIFY_MODULE' => 'tasks',
'NOTIFY_EVENT' => 'manage', // possibly different values
'NOTIFY_TAG' => $tag->getName(),
'NOTIFY_SUB_TAG' => $tag->getSubName(),
'NOTIFY_MESSAGE' => (new NotificationTaskInstantNotification($notification))->getMessage(),
'NOTIFY_MESSAGE_OUT' => (new NotificationTaskEmailNotification($notification))->getMessage(),
'PUSH_MESSAGE' => (new NotificationTaskPushNotification($notification))->getMessage(),
'PUSH_PARAMS' => (new NotificationTaskPushNotification($notification))->getParams($tag),
];
$params = array_merge($params, $notification->getParams());
BitrixTasksIntegrationIM::notifyAdd($params);
}