summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Settings/Manager.php36
-rw-r--r--lib/public/Settings/IManager.php17
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);
}