• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/call/call.php
  • Класс: BitrixImCallCall
  • Вызов: Call::makeClone
public function makeClone($newProvider = null)
{
	$instance = static::createWithArray($this->toArray());
	$instance->id = null;
	$instance->publicId = randString(10);
	$instance->state = static::STATE_NEW;
	if($newProvider)
	{
		$instance->provider = $newProvider;
	}
	$instance->parentId = $this->id;

	$instance->save();

	$instance->users = [];
	foreach ($this->getUsers() as $userId)
	{
		$instance->users[$userId] = CallUser::create([
			'CALL_ID' => $instance->id,
			'USER_ID' => $userId,
			'STATE' => $instance->users[$userId] ? $instance->users[$userId]->getState() : CallUser::STATE_IDLE,
			'LAST_SEEN' => null
		]);
		$instance->users[$userId]->save();
	}

	return $instance;
}