• Модуль: 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;
}