aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAnna Larch <anna@nextcloud.com>2023-07-19 16:39:04 +0200
committerAnna Larch <anna@nextcloud.com>2023-08-17 09:32:14 +0200
commit556f29bef5b2e9c5705b3ff2b31994c7c58fa5d0 (patch)
tree6f52b1b9c56fa23247276c420f3c1d98a35d64fd /lib
parentdaf3b29572921562abcb700052c1de19fdd2fe4e (diff)
downloadnextcloud-server-556f29bef5b2e9c5705b3ff2b31994c7c58fa5d0.tar.gz
nextcloud-server-556f29bef5b2e9c5705b3ff2b31994c7c58fa5d0.zip
fix: don't emit Hooks when hookpaths are empty
Signed-off-by: Anna Larch <anna@nextcloud.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Files/View.php40
1 files changed, 24 insertions, 16 deletions
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php
index d256003537d..71815939310 100644
--- a/lib/private/Files/View.php
+++ b/lib/private/Files/View.php
@@ -744,14 +744,18 @@ class View {
// 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, $target, $run);
} elseif ($this->shouldEmitHooks($source)) {
- \OC_Hook::emit(
- Filesystem::CLASSNAME, Filesystem::signal_rename,
- [
- Filesystem::signal_param_oldpath => $this->getHookPath($source),
- Filesystem::signal_param_newpath => $this->getHookPath($target),
- Filesystem::signal_param_run => &$run
- ]
- );
+ $sourcePath = $this->getHookPath($source);
+ $targetPath = $this->getHookPath($target);
+ if ($sourcePath !== null && $targetPath !== null) {
+ \OC_Hook::emit(
+ Filesystem::CLASSNAME, Filesystem::signal_rename,
+ [
+ Filesystem::signal_param_oldpath => $sourcePath,
+ Filesystem::signal_param_newpath => $targetPath,
+ Filesystem::signal_param_run => &$run
+ ]
+ );
+ }
}
if ($run) {
$this->verifyPath(dirname($target), basename($target));
@@ -817,14 +821,18 @@ class View {
}
} elseif ($result) {
if ($this->shouldEmitHooks($source) && $this->shouldEmitHooks($target)) {
- \OC_Hook::emit(
- Filesystem::CLASSNAME,
- Filesystem::signal_post_rename,
- [
- Filesystem::signal_param_oldpath => $this->getHookPath($source),
- Filesystem::signal_param_newpath => $this->getHookPath($target)
- ]
- );
+ $sourcePath = $this->getHookPath($source);
+ $targetPath = $this->getHookPath($target);
+ if ($sourcePath !== null && $targetPath !== null) {
+ \OC_Hook::emit(
+ Filesystem::CLASSNAME,
+ Filesystem::signal_post_rename,
+ [
+ Filesystem::signal_param_oldpath => $sourcePath,
+ Filesystem::signal_param_newpath => $targetPath,
+ ]
+ );
+ }
}
}
}