- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasknotifications.php
- Класс: CTaskNotifications
- Вызов: CTaskNotifications::SendDeleteMessage
static function SendDeleteMessage($arFields, bool $safeDelete = false, ?TaskObject $task = null): void
{
if (self::useNewNotifications() && $task !== null)
{
$controller = new BitrixTasksInternalsNotificationController();
$controller->onTaskDeleted($task, $safeDelete);
$controller->push();
return;
}
$cacheWasEnabled = CTaskNotifications::enableStaticCache();
$recipientIds = CTaskNotifications::GetRecipientsIDs($arFields);
if (count($recipientIds) > 0 && (User::getId() || $arFields['CREATED_BY']))
{
if (!($occurAsUserId = CTasksTools::getOccurAsUserId()))
{
$occurAsUserId = (User::getId() ? User::getId() : $arFields['CREATED_BY']);
}
$messageCode = 'TASKS_TASK_DELETED_MESSAGE_V2';
$messageInstant = str_replace(
'#TASK_TITLE#',
self::formatTaskName($arFields['ID'], $arFields['TITLE'], $arFields['GROUP_ID']),
self::getGenderMessage($occurAsUserId, $messageCode)
);
$messagePush = CTaskNotifications::makePushMessage($messageCode, $occurAsUserId, $arFields);
CTaskNotifications::sendMessageEx(
$arFields['ID'],
$occurAsUserId,
$recipientIds,
[
'INSTANT' => $messageInstant,
'PUSH' => $messagePush,
],
[
'EVENT_DATA' => [
'ACTION' => 'TASK_DELETE',
'arFields' => $arFields,
],
]
);
}
// sonet log
if ($safeDelete)
{
BitrixTasksIntegrationSocialNetworkLog::hideLogByTaskId((int) $arFields['ID']);
}
else
{
BitrixTasksIntegrationSocialNetworkLog::deleteLogByTaskId((int) $arFields['ID']);
}
if ($cacheWasEnabled)
{
CTaskNotifications::disableStaticCache();
}
}