if a part file gets renamed to a real file, that this was the second step of a write operation, hence emit a write signal

This commit is contained in:
Björn Schießle 2013-07-01 16:21:31 +02:00
parent 811cf02675
commit 04e4d9580f
1 changed files with 20 additions and 2 deletions

View File

@ -353,7 +353,16 @@ class View {
return false;
}
$run = true;
if ($this->fakeRoot == Filesystem::getRoot() && !Cache\Scanner::isPartialFile($path1)) {
if ($this->fakeRoot == Filesystem::getRoot() && (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
\OC_Hook::emit(
Filesystem::CLASSNAME, Filesystem::signal_write,
array(
Filesystem::signal_param_path => $path2,
Filesystem::signal_param_run => &$run
)
);
} elseif ($this->fakeRoot == Filesystem::getRoot()) {
\OC_Hook::emit(
Filesystem::CLASSNAME, Filesystem::signal_rename,
array(
@ -398,7 +407,16 @@ class View {
}
}
}
if ($this->fakeRoot == Filesystem::getRoot() && !Cache\Scanner::isPartialFile($path1) && $result !== false) {
if ($this->fakeRoot == Filesystem::getRoot() && (Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2)) && $result !== false) {
// if it was a rename from a part file to a regular file it was a write and not a rename operation
\OC_Hook::emit(
Filesystem::CLASSNAME,
Filesystem::signal_post_write,
array(
Filesystem::signal_param_path => $path2,
)
);
} elseif ($this->fakeRoot == Filesystem::getRoot() && $result !== false) {
\OC_Hook::emit(
Filesystem::CLASSNAME,
Filesystem::signal_post_rename,