fix(InfoParser): properly handle collaboration plugins

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
Ferdinand Thiessen 2026-05-02 22:06:49 +02:00
parent e3783b88e6
commit a6a228bd0a
No known key found for this signature in database
GPG key ID: 7E849AE05218500F
2 changed files with 4 additions and 7 deletions

View file

@ -560,8 +560,8 @@ class AppManager implements IAppManager {
if (!empty($info['collaboration']['plugins'])) {
// deal with one or many plugin entries
$plugins = isset($info['collaboration']['plugins']['plugin']['@value'])
? [$info['collaboration']['plugins']['plugin']] : $info['collaboration']['plugins']['plugin'];
$plugins = isset($info['collaboration']['plugins']['@value'])
? [$info['collaboration']['plugins']] : $info['collaboration']['plugins'];
$collaboratorSearch = null;
$autoCompleteManager = null;
foreach ($plugins as $plugin) {

View file

@ -171,11 +171,8 @@ 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['collaboration']['plugins']['plugin']) && is_array($array['collaboration']['plugins']['plugin'])) {
$array['collaboration']['plugins'] = $array['collaboration']['plugins']['plugin'];
}
if (isset($array['settings']['admin']) && !is_array($array['settings']['admin'])) {
$array['settings']['admin'] = [$array['settings']['admin']];