diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2017-05-16 01:40:36 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2017-06-23 12:36:37 +0200 |
commit | b68fdb473d03878911b0874a75564c8a7f08d03d (patch) | |
tree | f403c34abe58347bd4f3aa6c926c077d6088eba7 | |
parent | 560ab2e91158fa57b12cb5f382dfd79cbbc1ffc4 (diff) | |
download | nextcloud-server-b68fdb473d03878911b0874a75564c8a7f08d03d.tar.gz nextcloud-server-b68fdb473d03878911b0874a75564c8a7f08d03d.zip |
Extend interfaces
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
-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); } |