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