From: Robin Appelman Date: Mon, 26 Jan 2015 13:34:40 +0000 (+0100) Subject: Update the cache when renaming even if we dont emit hooks X-Git-Tag: v8.0.0RC1~16^2~2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8c9f1a982c48db4601ea7ba33b31fca342e03ded;p=nextcloud-server.git Update the cache when renaming even if we dont emit hooks --- diff --git a/lib/private/files/node/root.php b/lib/private/files/node/root.php index 1dd4a3e378d..1834ef67bef 100644 --- a/lib/private/files/node/root.php +++ b/lib/private/files/node/root.php @@ -155,7 +155,7 @@ class Root extends Folder implements IRootFolder { * @param string $path * @throws \OCP\Files\NotFoundException * @throws \OCP\Files\NotPermittedException - * @return string + * @return \OCP\Files\Node */ public function get($path) { $path = $this->normalizePath($path); diff --git a/lib/private/files/view.php b/lib/private/files/view.php index 096d8044b75..a2717ce4321 100644 --- a/lib/private/files/view.php +++ b/lib/private/files/view.php @@ -537,16 +537,18 @@ class View { if ($this->shouldEmitHooks()) { $this->emit_file_hooks_post($exists, $path2); } - } elseif ($this->shouldEmitHooks() && $result !== false) { + } elseif ($result !== false) { $this->updater->rename($path1, $path2); - \OC_Hook::emit( - Filesystem::CLASSNAME, - Filesystem::signal_post_rename, - array( - Filesystem::signal_param_oldpath => $this->getHookPath($path1), - Filesystem::signal_param_newpath => $this->getHookPath($path2) - ) - ); + if ($this->shouldEmitHooks($path1) and $this->shouldEmitHooks($path2)) { + \OC_Hook::emit( + Filesystem::CLASSNAME, + Filesystem::signal_post_rename, + array( + Filesystem::signal_param_oldpath => $this->getHookPath($path1), + Filesystem::signal_param_newpath => $this->getHookPath($path2) + ) + ); + } } return $result; } else { @@ -1315,7 +1317,7 @@ class View { $maxLen = min(PHP_MAXPATHLEN, 4000); // Check for the string length - performed using isset() instead of strlen() // because isset() is about 5x-40x faster. - if(isset($path[$maxLen])) { + if (isset($path[$maxLen])) { $pathLen = strlen($path); throw new \OCP\Files\InvalidPathException("Path length($pathLen) exceeds max path length($maxLen): $path"); } @@ -1351,7 +1353,7 @@ class View { * @return \OCP\Files\FileInfo */ private function getPartFileInfo($path) { - $mount = $this->getMount($path); + $mount = $this->getMount($path); $storage = $mount->getStorage(); $internalPath = $mount->getInternalPath($this->getAbsolutePath($path)); return new FileInfo(