diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 2da059c..56b6d51 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -68,8 +68,15 @@ $params = $app->getParams('com_sportsmanager'); // muss vor dem Auslesen von task/content erfolgen, damit diese die Zusatzparameter berücksichtigen $zusatzparameter = trim((string) $params->get('zusatzparameter', '')); if ($zusatzparameter !== '') { + // Namen, die den gesamten Seitenaufbau umstellen würden, nicht über einen Menüparameter + $gesperrteNamen = ['option', 'Itemid', 'format', 'tmpl', 'lang']; parse_str($zusatzparameter, $zusatzparameterWerte); foreach ($zusatzparameterWerte as $zusatzparameterName => $zusatzparameterWert) { + // Arrays (z.B. "task[]=x") würden weiter unten zu einem TypeError führen + if (!is_scalar($zusatzparameterWert) + || in_array($zusatzparameterName, $gesperrteNamen, true)) { + continue; + } $jInput->def($zusatzparameterName, $zusatzparameterWert); } }