summaryrefslogtreecommitdiffstats
path: root/lib/private/App/InfoParser.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/App/InfoParser.php')
-rw-r--r--lib/private/App/InfoParser.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/private/App/InfoParser.php b/lib/private/App/InfoParser.php
index fef8ab7a1e8..40eaaf21bca 100644
--- a/lib/private/App/InfoParser.php
+++ b/lib/private/App/InfoParser.php
@@ -122,6 +122,21 @@ class InfoParser {
if (!array_key_exists('providers', $array['activity'])) {
$array['activity']['providers'] = [];
}
+ if (!array_key_exists('settings', $array)) {
+ $array['settings'] = [];
+ }
+ if (!array_key_exists('admin', $array['settings'])) {
+ $array['settings']['admin'] = [];
+ }
+ if (!array_key_exists('admin-section', $array['settings'])) {
+ $array['settings']['admin-section'] = [];
+ }
+ if (!array_key_exists('personal', $array['settings'])) {
+ $array['settings']['personal'] = [];
+ }
+ if (!array_key_exists('personal-section', $array['settings'])) {
+ $array['settings']['personal-section'] = [];
+ }
if (array_key_exists('types', $array)) {
if (is_array($array['types'])) {
@@ -165,6 +180,24 @@ class InfoParser {
if (isset($array['activity']['providers']['provider']) && is_array($array['activity']['providers']['provider'])) {
$array['activity']['providers'] = $array['activity']['providers']['provider'];
}
+ if (isset($array['collaboration']['collaborators']['searchPlugins']['searchPlugin'])
+ && is_array($array['collaboration']['collaborators']['searchPlugins']['searchPlugin'])
+ && !isset($array['collaboration']['collaborators']['searchPlugins']['searchPlugin']['class'])
+ ) {
+ $array['collaboration']['collaborators']['searchPlugins'] = $array['collaboration']['collaborators']['searchPlugins']['searchPlugin'];
+ }
+ if (isset($array['settings']['admin']) && !is_array($array['settings']['admin'])) {
+ $array['settings']['admin'] = [$array['settings']['admin']];
+ }
+ if (isset($array['settings']['admin-section']) && !is_array($array['settings']['admin-section'])) {
+ $array['settings']['admin-section'] = [$array['settings']['admin-section']];
+ }
+ if (isset($array['settings']['personal']) && !is_array($array['settings']['personal'])) {
+ $array['settings']['personal'] = [$array['settings']['personal']];
+ }
+ if (isset($array['settings']['personal-section']) && !is_array($array['settings']['personal-section'])) {
+ $array['settings']['personal-section'] = [$array['settings']['personal-section']];
+ }
if(!is_null($this->cache)) {
$this->cache->set($fileCacheKey, json_encode($array));