aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2021-07-02 17:50:25 +0200
committerGitHub <noreply@github.com>2021-07-02 17:50:25 +0200
commita0d9dce26e0e669d1565e252f8df24ae07900dde (patch)
tree578829b93b44a3201df8a6f1bb32fc402950c3fc /lib
parent24a853239309a063a9c4ea5b620add3e47fdcfdd (diff)
parent9884344230b81bc7e91bd6e1134fb5cb9f071a82 (diff)
downloadnextcloud-server-a0d9dce26e0e669d1565e252f8df24ae07900dde.tar.gz
nextcloud-server-a0d9dce26e0e669d1565e252f8df24ae07900dde.zip
Merge pull request #27750 from nextcloud/folder-search-filter-self
dont include folder being search in in the results
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Files/Node/Folder.php8
1 files changed, 7 insertions, 1 deletions
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);
}
/**