diff options
author | Sean Molenaar <sean@seanmolenaar.eu> | 2021-04-10 10:52:34 +0200 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2021-04-10 14:55:33 +0200 |
commit | d5c2a8bb093f21bd5e7b075115b16d9aa9059a25 (patch) | |
tree | 280d0f2fe51efe6c1efc547895fc64544dcce78a /lib | |
parent | 6f3f9308178660e883dfde4b4a51ae816d5d8bbb (diff) |
Search: Fix and test folder search
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Search/FolderSearchProvider.php | 17 |
1 files changed, 10 insertions, 7 deletions
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); } } |