diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2015-07-28 15:24:46 +0200 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2015-07-29 11:02:38 +0200 |
commit | fb4c99fe0671c8eaff1f1024d71b9d7a12968e8e (patch) | |
tree | 5262a731ed9d3fc422cd12286606e0dee687fb75 | |
parent | c34e63bb1f9752892d3c36b50e461b284f822a36 (diff) | |
download | nextcloud-server-fb4c99fe0671c8eaff1f1024d71b9d7a12968e8e.tar.gz nextcloud-server-fb4c99fe0671c8eaff1f1024d71b9d7a12968e8e.zip |
make sure that we emit the hooks if a file gets moved from a subfolder to the root folder with the nodes API
-rw-r--r-- | lib/private/files/view.php | 9 | ||||
-rw-r--r-- | tests/lib/files/view.php | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/private/files/view.php b/lib/private/files/view.php index cb3c05d2bca..da49db32d19 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -642,10 +642,10 @@ class View { } $run = true; - if ($this->shouldEmitHooks() && (Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2))) { + if ($this->shouldEmitHooks($path1) && (Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2))) { // if it was a rename from a part file to a regular file it was a write and not a rename operation $this->emit_file_hooks_pre($exists, $path2, $run); - } elseif ($this->shouldEmitHooks()) { + } elseif ($this->shouldEmitHooks($path1)) { \OC_Hook::emit( Filesystem::CLASSNAME, Filesystem::signal_rename, array( @@ -1087,6 +1087,11 @@ class View { return true; } $fullPath = $this->getAbsolutePath($path); + + if ($fullPath === $defaultRoot) { + return true; + } + return (strlen($fullPath) > strlen($defaultRoot)) && (substr($fullPath, 0, strlen($defaultRoot) + 1) === $defaultRoot . '/'); } diff --git a/tests/lib/files/view.php b/tests/lib/files/view.php index 382c033f19c..63a813873c6 100644 --- a/tests/lib/files/view.php +++ b/tests/lib/files/view.php @@ -1329,7 +1329,9 @@ class View extends \Test\TestCase { ['/foo/files/bar', '/foo', true], ['/foo', '/foo', false], ['/foo', '/files/foo', true], - ['/foo', 'filesfoo', false] + ['/foo', 'filesfoo', false], + ['', '/foo/files', true], + ['', '/foo/files/bar.txt', true] ]; } |