- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/diskdispatcher.php
- Класс: CWebDavDiskDispatcher
- Вызов: CWebDavDiskDispatcher::processActionDownload
public function processActionDownload(array $params)
{
$this->checkRequiredParams($params, array('id', 'version', 'extra', 'storageExtra', 'storageId'));
$id = $params['id'];
$version = $params['version'];
$storage = $this->getStorageObject($params['storageExtra'], $params['storageId']);
$extra = $storage->parseElementExtra($params['extra']);
$file = $storage->getFile($id, $extra);
//not found or we have new version
if( !$file || (!isset($file['version']) || $storage::compareVersion($file['version'], $version) != 0) )
{
return $this->sendResponse(array(
'status' => static::STATUS_NOT_FOUND,
));
}
else
{
if(!$storage->sendFile($file))
{
return $this->sendResponse(array(
'status' => static::STATUS_NOT_FOUND,
'message' => 'Not found source file',
));
}
}
}