- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/integration/mail/task.php
- Класс: BitrixTasksIntegrationMailTask
- Вызов: Task::onForwardReceived
static function onForwardReceived(Event $event)
{
$userId = intval($event->getParameter('from'));
$message = trim($event->getParameter('content'));
$subject = trim($event->getParameter('subject'));
$attachments = $event->getParameter('attachments');
$siteId = $event->getParameter('site_id');
if (
$userId <= 0
|| $siteId == ''
)
{
return false;
}
list($message, $files) = static::processAttachments($message, $attachments, $userId);
try
{
if (Loader::includeModule('disk'))
{
BitrixDiskUfFileUserType::setValueForAllowEdit("TASKS_TASK", true);
}
$task = CTaskItem::add(
[
'TITLE' => ($subject == ''? Loc::getMessage('TASKS_MAIL_NEW_TASK') : $subject),
'DESCRIPTION' => $message,
'CREATED_BY' => $userId,
'RESPONSIBLE_ID' => $userId,
BitrixTasksIntegrationDiskUserField::getMainSysUFCode() => $files
],
$userId,
['SPAWNED_BY_AGENT' => true]
);
}
catch(TasksException $e) // todo: get rid of this annoying catch by making BitrixTasks*Exception classes inherited from TasksException (dont forget about code)
{
if($e->checkOfType(TasksException::TE_TASK_NOT_FOUND_OR_NOT_ACCESSIBLE))
{
return false;
}
else
{
throw $e; // let it log
}
}
return $task->getId(); // required, dont remove
}