make sure that the umount hook always contains the path relative to data/user/files
This commit is contained in:
parent
3b9fa81581
commit
e9f5730869
|
@ -441,7 +441,7 @@ class Hooks {
|
|||
$ownerOld = self::$renamedFiles[$params['oldpath']]['uid'];
|
||||
$pathOld = self::$renamedFiles[$params['oldpath']]['path'];
|
||||
} else {
|
||||
\OCP\Util::writeLog('Encryption library', "can't get path and owner from the file before it was renamed", \OCP\Util::ERROR);
|
||||
\OCP\Util::writeLog('Encryption library', "can't get path and owner from the file before it was renamed", \OCP\Util::DEBUG);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -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'));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue