summaryrefslogtreecommitdiffstats
path: root/apps/files_versions
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2024-02-16 11:55:06 +0100
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2024-03-07 23:15:09 +0100
commit1125cf7afc31dec044b308cac583fbcf40fcb719 (patch)
tree17a78691d4dba85d90a78d2362ff4f07f247091b /apps/files_versions
parent7dd22b0c8362adb9546f97a76533e71b96aef0f0 (diff)
downloadnextcloud-server-1125cf7afc31dec044b308cac583fbcf40fcb719.tar.gz
nextcloud-server-1125cf7afc31dec044b308cac583fbcf40fcb719.zip
fix: fallback from guessing the owner from path in versioning
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'apps/files_versions')
-rw-r--r--apps/files_versions/lib/Listener/FileEventsListener.php10
1 files changed, 10 insertions, 0 deletions
diff --git a/apps/files_versions/lib/Listener/FileEventsListener.php b/apps/files_versions/lib/Listener/FileEventsListener.php
index 0f795669d30..1795c74f7b4 100644
--- a/apps/files_versions/lib/Listener/FileEventsListener.php
+++ b/apps/files_versions/lib/Listener/FileEventsListener.php
@@ -367,6 +367,16 @@ class FileEventsListener implements IEventListener {
}
$owner = $node->getOwner()?->getUid();
+
+ // If no owner, extract it from the path.
+ // e.g. /user/files/foobar.txt
+ if (!$owner) {
+ $parts = explode('/', $node->getPath(), 4);
+ if (count($parts) === 4) {
+ $owner = $parts[1];
+ }
+ }
+
if ($owner) {
$path = $this->rootFolder
->getUserFolder($owner)