diff options
-rw-r--r-- | lib/private/Settings/Manager.php | 36 | ||||
-rw-r--r-- | lib/public/Settings/IManager.php | 17 |
2 files changed, 53 insertions, 0 deletions
diff --git a/lib/private/Settings/Manager.php b/lib/private/Settings/Manager.php index d40dfd1e417..a307261c83f 100644 --- a/lib/private/Settings/Manager.php +++ b/lib/private/Settings/Manager.php @@ -338,6 +338,24 @@ class Manager implements IManager { } /** + * @param string $section + * @return ISection[] + */ + private function getBuiltInPersonalSettings($section) { + $forms = []; + try { + if ($section === 'personal-info') { + /** @var ISettings $form */ + $form = new Personal\PersonalInfo(); + $forms[$form->getPriority()] = [$form]; + } + } catch (QueryException $e) { + // skip + } + return $forms; + } + + /** * @inheritdoc */ public function getAdminSettings($section) { @@ -358,4 +376,22 @@ class Manager implements IManager { ksort($settings); return $settings; } + + /** + * @inheritdoc + */ + public function getPersonalSections() { + $sections = [ + 0 => [new Section('personal-info', $this->l->t('Personal info'), 0, $this->url->imagePath('core', 'actions/info.svg'))], + ]; + return $sections; + } + + /** + * @inheritdoc + */ + public function getPersonalSettings($section) { + $settings = $this->getBuiltInPersonalSettings($section); + return $settings; + } } diff --git a/lib/public/Settings/IManager.php b/lib/public/Settings/IManager.php index a406915ad09..2c992399267 100644 --- a/lib/public/Settings/IManager.php +++ b/lib/public/Settings/IManager.php @@ -88,6 +88,14 @@ interface IManager { public function getAdminSections(); /** + * returns a list of the personal sections + * + * @return array array of ISection[] where key is the priority + * @since 12.0.0 + */ + public function getPersonalSections(); + + /** * returns a list of the admin settings * * @param string $section the section id for which to load the settings @@ -95,4 +103,13 @@ interface IManager { * @since 9.1.0 */ public function getAdminSettings($section); + + /** + * returns a list of the personal settings + * + * @param string $section the section id for which to load the settings + * @return array array of IPersonal[] where key is the priority + * @since 12.0.0 + */ + public function getPersonalSettings($section); } |