aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/files/view.php13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index afccdf9f733..b168d177ab2 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -836,11 +836,10 @@ class View {
return $data;
}
$path = Filesystem::normalizePath($this->fakeRoot . '/' . $path);
- /**
- * @var \OC\Files\Storage\Storage $storage
- * @var string $internalPath
- */
- list($storage, $internalPath) = Filesystem::resolvePath($path);
+
+ $mount = Filesystem::getMountManager()->find($path);
+ $storage = $mount->getStorage();
+ $internalPath = $mount->getInternalPath($path);
$data = null;
if ($storage) {
$cache = $storage->getCache($internalPath);
@@ -888,6 +887,10 @@ class View {
return false;
}
+ if ($mount instanceof MoveableMount) {
+ $data['permissions'] |= \OCP\PERMISSION_DELETE | \OCP\PERMISSION_UPDATE;
+ }
+
$data = \OC_FileProxy::runPostProxies('getFileInfo', $path, $data);
return new FileInfo($path, $storage, $internalPath, $data);