]> source.dussan.org Git - nextcloud-server.git/commitdiff
Check if operation worked before sending post hooks, fixes #2484
authorMichael Gapczynski <mtgap@owncloud.com>
Sat, 13 Apr 2013 19:02:47 +0000 (15:02 -0400)
committerMichael Gapczynski <mtgap@owncloud.com>
Sat, 13 Apr 2013 19:02:47 +0000 (15:02 -0400)
lib/files/view.php

index f607bb59aac28b5ba3b29df1a38ddecdce466da4..b0e82919359464681f2d2bc2e435d3ae9dfbbc5b 100644 (file)
@@ -295,7 +295,7 @@ class View {
                                        list ($count, $result) = \OC_Helper::streamCopy($data, $target);
                                        fclose($target);
                                        fclose($data);
-                                       if ($this->fakeRoot == Filesystem::getRoot() && ! Cache\Scanner::isIgnoredFile($path) ) {
+                                       if ($this->fakeRoot == Filesystem::getRoot() && ! Cache\Scanner::isIgnoredFile($path) && $result !== false) {
                                                if (!$exists) {
                                                        \OC_Hook::emit(
                                                                Filesystem::CLASSNAME,
@@ -372,7 +372,7 @@ class View {
                                        list($storage1, $internalPath1) = Filesystem::resolvePath($absolutePath1 . $postFix1);
                                        $storage1->unlink($internalPath1);
                                }
-                               if ($this->fakeRoot == Filesystem::getRoot()) {
+                               if ($this->fakeRoot == Filesystem::getRoot() && $result !== false) {
                                        \OC_Hook::emit(
                                                Filesystem::CLASSNAME,
                                                Filesystem::signal_post_rename,
@@ -452,7 +452,7 @@ class View {
                                        $target = $this->fopen($path2 . $postFix2, 'w');
                                        list($count, $result) = \OC_Helper::streamCopy($source, $target);
                                }
-                               if ($this->fakeRoot == Filesystem::getRoot()) {
+                               if ($this->fakeRoot == Filesystem::getRoot() && $result !== false) {
                                        \OC_Hook::emit(
                                                Filesystem::CLASSNAME,
                                                Filesystem::signal_post_copy,
@@ -613,7 +613,7 @@ class View {
                                        $result = $storage->$operation($internalPath);
                                }
                                $result = \OC_FileProxy::runPostProxies($operation, $this->getAbsolutePath($path), $result);
-                               if (Filesystem::$loaded and $this->fakeRoot == Filesystem::getRoot()) {
+                               if (Filesystem::$loaded and $this->fakeRoot == Filesystem::getRoot() && $result !== false) {
                                        if ($operation != 'fopen') { //no post hooks for fopen, the file stream is still open
                                                $this->runHooks($hooks, $path, true);
                                        }