mirror of https://github.com/nextcloud/server
Fix webdav put for single file webdav shares
This commit is contained in:
parent
ddee63fa00
commit
05035ef4af
|
@ -64,7 +64,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
|
|||
throw new \Sabre\DAV\Exception\ServiceUnavailable("Encryption is disabled");
|
||||
}
|
||||
|
||||
$fileName = basename($this->path);
|
||||
$fileName = basename($this->info->getPath());
|
||||
if (!\OCP\Util::isValidFileName($fileName)) {
|
||||
throw new \Sabre\DAV\Exception\BadRequest();
|
||||
}
|
||||
|
@ -74,8 +74,8 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
|
|||
return $this->createFileChunked($data);
|
||||
}
|
||||
|
||||
list($storage, ) = $this->fileView->resolvePath($this->path);
|
||||
$needsPartFile = $this->needsPartFile($storage);
|
||||
list($storage,) = $this->fileView->resolvePath($this->path);
|
||||
$needsPartFile = $this->needsPartFile($storage) && (strlen($this->path) > 1);
|
||||
|
||||
if ($needsPartFile) {
|
||||
// mark file as partial while uploading (ignored by the scanner)
|
||||
|
|
|
@ -32,6 +32,31 @@ class Test_OC_Connector_Sabre_File extends \Test\TestCase {
|
|||
$file->put('test data');
|
||||
}
|
||||
|
||||
public function testPutSingleFileShare() {
|
||||
// setup
|
||||
$storage = $this->getMock('\OCP\Files\Storage');
|
||||
$view = $this->getMock('\OC\Files\View', array('file_put_contents', 'getRelativePath'), array());
|
||||
$view->expects($this->any())
|
||||
->method('resolvePath')
|
||||
->with('')
|
||||
->will($this->returnValue(array($storage, '')));
|
||||
$view->expects($this->any())
|
||||
->method('getRelativePath')
|
||||
->will($this->returnValue(''));
|
||||
$view->expects($this->any())
|
||||
->method('file_put_contents')
|
||||
->with('')
|
||||
->will($this->returnValue(true));
|
||||
|
||||
$info = new \OC\Files\FileInfo('/foo.txt', null, null, array(
|
||||
'permissions' => \OCP\Constants::PERMISSION_ALL
|
||||
), null);
|
||||
|
||||
$file = new OC_Connector_Sabre_File($view, $info);
|
||||
|
||||
$this->assertNotEmpty($file->put('test data'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Sabre\DAV\Exception
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue