From 670fb34139d81eea794ca8171fb26a10f5818611 Mon Sep 17 00:00:00 2001 From: Sean Molenaar Date: Sat, 10 Apr 2021 10:52:34 +0200 Subject: Search: Fix and test folder search Signed-off-by: Sean Molenaar --- lib/Search/FolderSearchProvider.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/Search/FolderSearchProvider.php b/lib/Search/FolderSearchProvider.php index 1d961a699..3e8126245 100644 --- a/lib/Search/FolderSearchProvider.php +++ b/lib/Search/FolderSearchProvider.php @@ -49,7 +49,7 @@ class FolderSearchProvider implements IProvider public function getOrder(string $route, array $routeParameters): int { - if (strpos($route, Application::NAME . '.') === 0) { + if ($route === 'news.view.index') { // Active app, prefer my results return -1; } @@ -59,19 +59,22 @@ class FolderSearchProvider implements IProvider public function search(IUser $user, ISearchQuery $query): SearchResult { - $term = $query->getTerm(); - $list = array_map(function (Folder $folder) use ($term): ?SearchResultEntry { - if (strpos($folder->getName(), $term) === false) { - return null; + $list = []; + $term = strtolower($query->getTerm()); + + foreach ($this->service->findAllForUser($user->getUID()) as $folder) { + if (strpos(strtolower($folder->getName()), $term) === false) { + continue; } - return new SearchResultEntry( + $list[] = new SearchResultEntry( $this->urlGenerator->imagePath('core', 'filetypes/folder.svg'), $folder->getName(), '', $this->urlGenerator->linkToRoute('news.view.index') . '#/items/folders/' . $folder->getId() ); - }, $this->service->findAllForUser($user->getUID())); + } + return SearchResult::complete($this->l10n->t('News'), $list); } } -- cgit v1.2.3