diff options
author | Sean Molenaar <sean@seanmolenaar.eu> | 2021-04-10 10:52:34 +0200 |
---|---|---|
committer | Benjamin Brahmer <info@b-brahmer.de> | 2021-04-12 15:04:40 +0200 |
commit | 670fb34139d81eea794ca8171fb26a10f5818611 (patch) | |
tree | d464a49a8e9c0938b3f38b150e5fb312c4d7e628 /lib | |
parent | 6e845124df1d9238d28875c8f745868be1f765b7 (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); } } |