- Модуль: mail
- Путь к файлу: ~/bitrix/modules/mail/lib/integration/intranet/secretary.php
- Класс: BitrixMailIntegrationIntranetSecretary
- Вызов: Secretary::onTaskDelete
static function onTaskDelete($taskId)
{
$messageAccessQuery = MessageAccessTable::query()
->setSelect([
'TOKEN',
'MESSAGE_ID',
'MAILBOX_ID',
])
->setFilter([
'=ENTITY_TYPE' => MessageAccessTable::ENTITY_TYPE_TASKS_TASK,
'=ENTITY_ID' => $taskId,
]);;
while ($messageAccess = $messageAccessQuery->fetch())
{
$messageId = $messageAccess['MESSAGE_ID'];
$mailboxId = $messageAccess['MAILBOX_ID'];
MessageAccessTable::delete(['TOKEN' => $messageAccess['TOKEN']]);
if (Loader::includeModule('pull'))
{
if($mailboxId)
{
CPullWatch::addToStack(
'mail_mailbox_' . $mailboxId,
[
'module_id' => 'mail',
'command' => 'messageBindingDeleted',
'params' => [
'messageId' => $messageId,
'mailboxId' => $mailboxId,
'entityType' => MessageAccessTable::ENTITY_TYPE_TASKS_TASK,
'entityId' => $taskId,
],
]
);
}
}
}
}