- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/version.php
- Класс: BitrixDiskVersion
- Вызов: Version::createNewFile
public function createNewFile(Folder $targetFolder, int $createdBy, bool $generateUniqueName = false): ?File
{
$this->errorCollection->clear();
$forkFileId = CFile::CloneFile($this->getFileId());
if (!$forkFileId)
{
$this->errorCollection[] = new Error('Could not copy file.', self::ERROR_COULD_NOT_CREATE_NEW_FILE);
return null;
}
$newFile = $targetFolder->addFile([
'NAME' => $this->getName(),
'FILE_ID' => $forkFileId,
'SIZE' => $this->getSize(),
'CREATED_BY' => $createdBy,
], [], $generateUniqueName);
if (!$newFile)
{
CFile::delete($forkFileId);
$this->errorCollection->add($targetFolder->getErrors());
return null;
}
return $newFile;
}