- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/integration/im/task.php
- Класс: BitrixTasksIntegrationIMTask
- Вызов: Task::openChat
static function openChat($task)
{
if(!static::includeModule())
{
return 0;
}
if(is_array($task))
{
$res = ChatTable::getList(array(
'select' => Array('ID'),
'filter' => array(
'=ENTITY_TYPE' => 'TASKS',
'=ENTITY_ID' => $task['ID'],
),
'limit' => 1
));
$chat = $res->fetch();
if($chat)
{
$chatId = $chat['ID'];
}
else
{
$chat = new CIMChat(0);
$data = array(
'TITLE' => str_replace('#TASK_TITLE#', $task['TITLE'], Loc::getMessage('TASKS_IM_CHAT_TITLE')),
'TYPE' => IM_MESSAGE_CHAT,
'ENTITY_TYPE' => 'TASKS',
'ENTITY_ID' => $task['ID'],
'SKIP_ADD_MESSAGE' => 'Y',
'AUTHOR_ID' => $task['CREATED_BY'],
'USERS' => array_map(function($member){
return $member['USER_ID'];
}, $task['SE_MEMBER']),
);
$chatId = $chat->add($data);
}
return $chatId;
}
return 0;
}