diff --git a/lib/private/files/view.php b/lib/private/files/view.php index afccdf9f73..b168d177ab 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);