Browse Source

make sure that we emit the hooks if a file gets moved from a subfolder to the root folder with the nodes API

tags/v8.2beta1
Bjoern Schiessle 9 years ago
parent
commit
fb4c99fe06
2 changed files with 10 additions and 3 deletions
  1. 7
    2
      lib/private/files/view.php
  2. 3
    1
      tests/lib/files/view.php

+ 7
- 2
lib/private/files/view.php View File

@@ -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 . '/');
}


+ 3
- 1
tests/lib/files/view.php View File

@@ -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]
];
}


Loading…
Cancel
Save