• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/diskstorage.php
  • Класс: CDiskStorage
  • Вызов: CDiskStorage::updateFile
public function updateFile($name, $targetElementId, CWebDavTmpFile $tmpFile)
{
	/** @var File $file */
	$file = File::loadById($targetElementId);
	if(!$file)
	{
		$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . " by id {$targetElementId}", 11154)));
		return false;
	}

	if(!$file->canUpdate($this->storage->getCurrentUserSecurityContext()))
	{
		throw new CWebDavAccessDeniedException;
	}

	$fileArray = CFile::MakeFileArray($tmpFile->getAbsolutePath());
	if(!$fileArray)
	{
		$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . " MakeFileArray", 11155)));
		return false;
	}
	if($file->uploadVersion($fileArray, $this->getUser()->getId()))
	{
		$this->loadFormattedFolderTreeAndBreadcrumbs();
		return $this->formatFileToResponse($file);
	}

	$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . ", uploadVersion", 11156)));
	$this->errorCollection->add($file->getErrors());

	return false;
}