diff options
Diffstat (limited to 'lib/private/files/view.php')
-rw-r--r-- | lib/private/files/view.php | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/private/files/view.php b/lib/private/files/view.php index a2188f393fa..1515769116f 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -359,11 +359,15 @@ class View { $postFix = (substr($path, -1, 1) === '/') ? '/' : ''; $absolutePath = Filesystem::normalizePath($this->getAbsolutePath($path)); $mount = Filesystem::getMountManager()->find($absolutePath . $postFix); - if (!($mount instanceof MoveableMount) && $mount->getInternalPath($absolutePath) === '') { - // do not allow deleting the storage's root / the mount point - // because for some storages it might delete the whole contents - // but isn't supposed to work that way - return false; + if ($mount->getInternalPath($absolutePath) === '') { + if ($mount instanceof MoveableMount) { + return $mount->removeMount(); + } else { + // do not allow deleting the storage's root / the mount point + // because for some storages it might delete the whole contents + // but isn't supposed to work that way + return false; + } } return $this->basicOperation('unlink', $path, array('delete')); } |