summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/private/files/view.php16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/private/files/view.php b/lib/private/files/view.php
index 1a9b0e8d2ae..2af693d5a64 100644
--- a/lib/private/files/view.php
+++ b/lib/private/files/view.php
@@ -161,17 +161,27 @@ class View {
return $this->basicOperation('mkdir', $path, array('create', 'write'));
}
+ /**
+ * remove mount point
+ *
+ * @param \OC\Files\Mount\MoveableMount $mount
+ * @param string $path relative to data/
+ * @return boolean
+ */
protected function removeMount($mount, $path){
if ($mount instanceof MoveableMount) {
+ // cut of /user/files to get the relative path to data/user/files
+ $pathParts= explode('/', $path, 4);
+ $relPath = '/' . $pathParts[3];
\OC_Hook::emit(
Filesystem::CLASSNAME, "umount",
- array(Filesystem::signal_param_path => $path)
+ array(Filesystem::signal_param_path => $relPath)
);
$result = $mount->removeMount();
if ($result) {
\OC_Hook::emit(
Filesystem::CLASSNAME, "post_umount",
- array(Filesystem::signal_param_path => $path)
+ array(Filesystem::signal_param_path => $relPath)
);
}
return $result;
@@ -387,7 +397,7 @@ class View {
$absolutePath = Filesystem::normalizePath($this->getAbsolutePath($path));
$mount = Filesystem::getMountManager()->find($absolutePath . $postFix);
if ($mount->getInternalPath($absolutePath) === '') {
- return $this->removeMount($mount, $path);
+ return $this->removeMount($mount, $absolutePath);
}
return $this->basicOperation('unlink', $path, array('delete'));
}