- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Import/ImportService.php
- Класс: BitrixImV2ImportImportService
- Вызов: ImportService::commitPrivate
public function commitPrivate(bool $newIsMain, bool $hideOriginal, string $clientId): Result
{
$result = new Result();
$initUsers = $this->getInitUsers();
$originalChat = $this->getOriginalChat($initUsers);
$originalChatId = null;
if ($originalChat !== null)
{
$originalChatId = (int)$originalChat['ID'];
if ($this->hasRealMessages($originalChat))
{
if ($newIsMain)
{
if ($hideOriginal)
{
$this->hideChat($originalChat, $initUsers);
}
else
{
$this->convertOriginalToGroup($originalChat, $initUsers);
}
}
else
{
$this->convertToGroup($initUsers);
$this->chat['MESSAGE_TYPE'] = IM_MESSAGE_CHAT;
}
}
else
{
$this->hideChat($originalChat, $initUsers);
}
}
$this->commitCommon(
$initUsers,
$clientId,
[
'ENTITY_TYPE' => self::IMPORT_PRIVATE_FINISH_ENTITY_TYPE,
'ENTITY_ID' => $originalChatId,
'ENTITY_DATA_1' => $clientId
]
);
if ($this->chat['MESSAGE_TYPE'] === IM_MESSAGE_CHAT)
{
$chatService = new CIMChat(0);
$managers = [];
foreach ($initUsers as $user)
{
$managers[$user] = true;
}
$chatService->SetManagers((int)$this->chat['ID'], $managers, false);
}
return $result;
}