• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Entity/File/FileItem.php
  • Класс: BitrixImV2EntityFileFileItem
  • Вызов: FileItem::getCopy
public function getCopy(?Storage $storage = null): ?self
{
	$userId = $this->getContext()->getUserId();
	$storage = $storage ?? Driver::getInstance()->getStorageByUserId($userId);

	if ($storage === null)
	{
		return null;
	}

	$folder = $storage->getFolderForUploadedFiles();

	if ($folder === null)
	{
		return null;
	}

	$diskFile = $this->getDiskFile();

	if ($diskFile === null)
	{
		return null;
	}

	$copy = $diskFile->copyTo($folder, $userId, true);

	if (!$copy instanceof File)
	{
		return null;
	}

	return new static($copy, $this->getChatId());
}