diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2016-08-19 18:52:33 +0300 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2016-08-22 09:29:49 +0300 |
commit | 7972fa552724ce63a4f51b864c28bd086fc15cb7 (patch) | |
tree | 1528708b020b4d1def91f66c2e6c8ecd63f51032 /lib | |
parent | cb3c1eee976711d21724de819b9b365fd9e6badb (diff) |
enlist only registered sections that also have settings registered to
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Settings/Manager.php | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index 7574695d709..8451e965955 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -327,10 +327,6 @@ class Manager implements IManager { * @inheritdoc */ public function getAdminSections() { - $query = $this->dbc->getQueryBuilder(); - $query->select(['class', 'priority']) - ->from(self::TABLE_ADMIN_SECTIONS); - // built-in sections $sections = [ 0 => [new Section('server', $this->l->t('Server settings'), 0)], @@ -341,7 +337,15 @@ class Manager implements IManager { 99 => [new Section('tips-tricks', $this->l->t('Tips & tricks'), 0)], ]; + $query = $this->dbc->getQueryBuilder(); + $query->selectDistinct('s.class') + ->addSelect('s.priority') + ->from(self::TABLE_ADMIN_SECTIONS, 's') + ->from(self::TABLE_ADMIN_SETTINGS, 'f') + ->where($query->expr()->eq('s.id', 'f.section')) + ; $result = $query->execute(); + while($row = $result->fetch()) { if(!isset($sections[$row['priority']])) { $sections[$row['priority']] = []; |