From 9884344230b81bc7e91bd6e1134fb5cb9f071a82 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 1 Jul 2021 17:21:09 +0200 Subject: [PATCH] dont include folder being search in in the results Signed-off-by: Robin Appelman --- lib/private/Files/Node/Folder.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/private/Files/Node/Folder.php b/lib/private/Files/Node/Folder.php index 7b480a60955..1f6edfd3bbc 100644 --- a/lib/private/Files/Node/Folder.php +++ b/lib/private/Files/Node/Folder.php @@ -280,6 +280,11 @@ class Folder extends Node implements \OCP\Files\Folder { }, $results); }, array_values($resultsPerCache), array_keys($resultsPerCache))); + // don't include this folder in the results + $files = array_filter($files, function (FileInfo $file) { + return $file->getPath() !== $this->getPath(); + }); + // since results were returned per-cache, they are no longer fully sorted $order = $query->getOrder(); if ($order) { @@ -302,7 +307,8 @@ class Folder extends Node implements \OCP\Files\Folder { private function cacheEntryToFileInfo(IMountPoint $mount, string $appendRoot, ICacheEntry $cacheEntry): FileInfo { $cacheEntry['internalPath'] = $cacheEntry['path']; $cacheEntry['path'] = $appendRoot . $cacheEntry->getPath(); - return new \OC\Files\FileInfo($this->path . '/' . $cacheEntry['path'], $mount->getStorage(), $cacheEntry['internalPath'], $cacheEntry, $mount); + $subPath = $cacheEntry['path'] !== '' ? '/' . $cacheEntry['path'] : ''; + return new \OC\Files\FileInfo($this->path . $subPath, $mount->getStorage(), $cacheEntry['internalPath'], $cacheEntry, $mount); } /** -- 2.39.5