Add the removing logic for mounts

This commit is contained in:
Robin Appelman 2014-05-22 01:52:55 +02:00
parent 14ce44acc8
commit 4fbc991ea2
1 changed files with 9 additions and 5 deletions

View File

@ -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'));
}