mirror of
https://github.com/nextcloud/server.git
synced 2026-04-28 17:48:40 -04:00
fix: Fix empty sections appearing in search results
Signed-off-by: Christopher Ng <chrng8@gmail.com>
This commit is contained in:
parent
ec396e588f
commit
f582aba86e
1 changed files with 18 additions and 2 deletions
|
|
@ -74,9 +74,25 @@ class SectionSearch implements IProvider {
|
|||
public function search(IUser $user, ISearchQuery $query): SearchResult {
|
||||
$isAdmin = $this->groupManager->isAdmin($user->getUID());
|
||||
|
||||
$personalSections = $this->settingsManager->getPersonalSections();
|
||||
foreach ($personalSections as $priority => $sections) {
|
||||
$personalSections[$priority] = array_values(array_filter(
|
||||
$sections,
|
||||
fn (IIconSection $section) => !empty($this->settingsManager->getPersonalSettings($section->getID())),
|
||||
));
|
||||
}
|
||||
|
||||
$adminSections = $this->settingsManager->getAdminSections();
|
||||
foreach ($adminSections as $priority => $sections) {
|
||||
$adminSections[$priority] = array_values(array_filter(
|
||||
$sections,
|
||||
fn (IIconSection $section) => !empty($this->settingsManager->getAllowedAdminSettings($section->getID(), $user)),
|
||||
));
|
||||
}
|
||||
|
||||
$result = $this->searchSections(
|
||||
$query,
|
||||
$this->settingsManager->getPersonalSections(),
|
||||
$personalSections,
|
||||
$isAdmin ? $this->l->t('Personal') : '',
|
||||
'settings.PersonalSettings.index'
|
||||
);
|
||||
|
|
@ -84,7 +100,7 @@ class SectionSearch implements IProvider {
|
|||
if ($this->groupManager->isAdmin($user->getUID())) {
|
||||
$result = array_merge($result, $this->searchSections(
|
||||
$query,
|
||||
$this->settingsManager->getAdminSections(),
|
||||
$adminSections,
|
||||
$this->l->t('Administration'),
|
||||
'settings.AdminSettings.index'
|
||||
));
|
||||
|
|
|
|||
Loading…
Reference in a new issue