summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2018-04-30 12:27:45 +0200
committerRoeland Jago Douma <roeland@famdouma.nl>2018-05-01 15:02:36 +0200
commit055a003661a5c53e092103f02c57015f256ece94 (patch)
treeabcb456de0999b10353380915bce4fde8fefee40 /apps
parentf212c692ac5204fbea4639727db8e464152dba5d (diff)
downloadnextcloud-server-055a003661a5c53e092103f02c57015f256ece94.tar.gz
nextcloud-server-055a003661a5c53e092103f02c57015f256ece94.zip
Use an actual function of the storage to determine needsPartFile
We have a function for it so better to override that. Also because other codes that might check this should get the right value. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/Connector/Sabre/File.php22
-rw-r--r--apps/files_external/lib/Lib/Storage/OwnCloud.php4
-rw-r--r--apps/files_sharing/lib/External/Storage.php3
3 files changed, 12 insertions, 17 deletions
diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php
index 45b31c2e11d..bbd6717d94f 100644
--- a/apps/dav/lib/Connector/Sabre/File.php
+++ b/apps/dav/lib/Connector/Sabre/File.php
@@ -51,6 +51,7 @@ use OCP\Files\InvalidContentException;
use OCP\Files\InvalidPathException;
use OCP\Files\LockNotAcquiredException;
use OCP\Files\NotPermittedException;
+use OCP\Files\Storage;
use OCP\Files\StorageNotAvailableException;
use OCP\Lock\ILockingProvider;
use OCP\Lock\LockedException;
@@ -135,8 +136,9 @@ class File extends Node implements IFile {
}
}
+ /** @var Storage $partStorage */
list($partStorage) = $this->fileView->resolvePath($this->path);
- $needsPartFile = $this->needsPartFile($partStorage) && (strlen($this->path) > 1);
+ $needsPartFile = $partStorage->needsPartFile() && (strlen($this->path) > 1);
if ($needsPartFile) {
// mark file as partial while uploading (ignored by the scanner)
@@ -443,8 +445,9 @@ class File extends Node implements IFile {
}
if ($chunk_handler->isComplete()) {
+ /** @var Storage $storage */
list($storage,) = $this->fileView->resolvePath($path);
- $needsPartFile = $this->needsPartFile($storage);
+ $needsPartFile = $storage->needsPartFile();
$partFile = null;
$targetPath = $path . '/' . $info['name'];
@@ -530,21 +533,6 @@ class File extends Node implements IFile {
}
/**
- * Returns whether a part file is needed for the given storage
- * or whether the file can be assembled/uploaded directly on the
- * target storage.
- *
- * @param \OCP\Files\Storage $storage
- * @return bool true if the storage needs part file handling
- */
- private function needsPartFile($storage) {
- // TODO: in the future use ChunkHandler provided by storage
- return !$storage->instanceOfStorage('OCA\Files_Sharing\External\Storage') &&
- !$storage->instanceOfStorage('OC\Files\Storage\OwnCloud') &&
- $storage->needsPartFile();
- }
-
- /**
* Convert the given exception to a SabreException instance
*
* @param \Exception $e
diff --git a/apps/files_external/lib/Lib/Storage/OwnCloud.php b/apps/files_external/lib/Lib/Storage/OwnCloud.php
index d56e6b66145..3ee2b70ef22 100644
--- a/apps/files_external/lib/Lib/Storage/OwnCloud.php
+++ b/apps/files_external/lib/Lib/Storage/OwnCloud.php
@@ -73,4 +73,8 @@ class OwnCloud extends \OC\Files\Storage\DAV{
parent::__construct($params);
}
+
+ public function needsPartFile() {
+ return false;
+ }
}
diff --git a/apps/files_sharing/lib/External/Storage.php b/apps/files_sharing/lib/External/Storage.php
index 638f82f7027..a631a029aba 100644
--- a/apps/files_sharing/lib/External/Storage.php
+++ b/apps/files_sharing/lib/External/Storage.php
@@ -366,4 +366,7 @@ class Storage extends DAV implements ISharedStorage {
return $permissions;
}
+ public function needsPartFile() {
+ return false;
+ }
}