Merge pull request #656 from schiesbn/backport_pull_619

backport of pull request 691
remotes/origin/stable45
Björn Schießle 14 years ago
commit 8596226787
  1. 26
      lib/filesystemview.php

@ -431,6 +431,9 @@ class OC_FilesystemView {
$result = OC_Helper::streamCopy($source, $target);
}
if( $this->fakeRoot==OC_Filesystem::getRoot() ){
// If the file to be copied originates within
// the user's data directory
OC_Hook::emit(
OC_Filesystem::CLASSNAME,
OC_Filesystem::signal_post_copy,
@ -451,9 +454,28 @@ class OC_FilesystemView {
OC_Filesystem::signal_post_write,
array( OC_Filesystem::signal_param_path => $path2)
);
} else { // no real copy, file comes from somewhere else, e.g. version rollback -> just update the file cache and the webdav properties without all the other post_write actions
OC_FileCache_Update::update($path2, $this->fakeRoot);
} else {
// If this is not a normal file copy operation
// and the file originates somewhere else
// (e.g. a version rollback operation), do not
// perform all the other post_write actions
// Update webdav properties
OC_Filesystem::removeETagHook(array("path" => $path2), $this->fakeRoot);
$splitPath2 = explode( '/', $path2 );
// Only cache information about files
// that are being copied from within
// the user files directory. Caching
// other files, like VCS backup files,
// serves no purpose
if ( $splitPath2[1] == 'files' ) {
OC_FileCache_Update::update($path2, $this->fakeRoot);
}
}
return $result;
}

Loading…
Cancel
Save