summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-04-22 14:10:26 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-04-22 14:10:26 +0200
commit42d9ba0f83f3e4b1d0eaa4aa60cddc89f239dda7 (patch)
tree1a996cb953cbe62acc83494ffc7c9bfb2f9886e3
parenta971fa8a9057e5c917c6d5634fafd530a6221c07 (diff)
parentffc796edcb02f9428ecd706ff4af4c5583928f2b (diff)
downloadnextcloud-server-42d9ba0f83f3e4b1d0eaa4aa60cddc89f239dda7.tar.gz
nextcloud-server-42d9ba0f83f3e4b1d0eaa4aa60cddc89f239dda7.zip
Merge pull request #15787 from owncloud/trash-partfiles
Do not trash part files, delete directly
-rw-r--r--apps/files_trashbin/lib/storage.php5
-rw-r--r--lib/private/connector/sabre/file.php4
2 files changed, 6 insertions, 3 deletions
diff --git a/apps/files_trashbin/lib/storage.php b/apps/files_trashbin/lib/storage.php
index 61e0816fd24..418d7d2f1fd 100644
--- a/apps/files_trashbin/lib/storage.php
+++ b/apps/files_trashbin/lib/storage.php
@@ -84,7 +84,10 @@ class Storage extends Wrapper {
* @param string $path
*/
public function unlink($path) {
- if (self::$disableTrash || !\OC_App::isEnabled('files_trashbin')) {
+ if (self::$disableTrash
+ || !\OC_App::isEnabled('files_trashbin')
+ || (pathinfo($path, PATHINFO_EXTENSION) === 'part')
+ ) {
return $this->storage->unlink($path);
}
$normalized = Filesystem::normalizePath($this->mountPoint . '/' . $path);
diff --git a/lib/private/connector/sabre/file.php b/lib/private/connector/sabre/file.php
index dc678c0894f..100aba13668 100644
--- a/lib/private/connector/sabre/file.php
+++ b/lib/private/connector/sabre/file.php
@@ -117,7 +117,7 @@ class File extends Node implements IFile {
$target = $storage->fopen($internalPartPath, 'wb');
if ($target === false) {
\OC_Log::write('webdav', '\OC\Files\Filesystem::fopen() failed', \OC_Log::ERROR);
- $this->fileView->unlink($partFilePath);
+ $storage->unlink($internalPartPath);
// because we have no clue about the cause we can only throw back a 500/Internal Server Error
throw new Exception('Could not write file contents');
}
@@ -166,7 +166,7 @@ class File extends Node implements IFile {
$fileExists = $storage->file_exists($internalPath);
if ($renameOkay === false || $fileExists === false) {
\OC_Log::write('webdav', '\OC\Files\Filesystem::rename() failed', \OC_Log::ERROR);
- $this->fileView->unlink($partFilePath);
+ $storage->unlink($internalPartPath);
throw new Exception('Could not rename part file to final file');
}
} catch (\OCP\Files\LockNotAcquiredException $e) {