From a953ebf130c823280c98ca8832c0526563e7b782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Thu, 27 Aug 2026 15:03:45 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Zus=C3=A4tzliche=20Link-Parameter=20f=C3=BC?= =?UTF-8?q?r=20Men=C3=BCeintr=C3=A4ge=20"Allgemeine=20Inhalte"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../language/de-DE/de-DE.com_sportsmanager.sys.ini | 2 ++ .../language/en-GB/en-GB.com_sportsmanager.sys.ini | 2 ++ .../components/com_sportsmanager/sportsmanager.php | 14 +++++++++++++- .../views/sportsmanager/tmpl/default.xml | 5 +++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini b/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini index d1a32f5..7001e35 100644 --- a/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini +++ b/src/structure/administrator/language/de-DE/de-DE.com_sportsmanager.sys.ini @@ -30,6 +30,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Beschreibung" COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION_DESC="Beschreibung, die unterhalb des Titels angezeigt wird (WICHTIG: Werden HTML-Tags verwendet, müssen auch Umlaute in HTML-Code angeben werden)" COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES="Kategorien" COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="Eine optionale Auswahl von Kategorienummern durch Kommata oder Spiegelstrich getrennt" +COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS="Zusätzliche Parameter" +COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS_DESC="Optionale zusätzliche Parameter für den Link in der Form Name1=Wert1&Name2=Wert2, die bei Aufruf dieses Menüpunkts wie GET-Parameter zur Verfügung stehen" COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_TITLE="Layout: Elo-Rangliste" COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_DESC="Auflistung der Spieler sortiert nach Elo-Wertung" COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_OPTION_ELO_RANKING="Elo-Rangliste" diff --git a/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini b/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini index 959ced9..192b71c 100644 --- a/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini +++ b/src/structure/administrator/language/en-GB/en-GB.com_sportsmanager.sys.ini @@ -30,6 +30,8 @@ COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION="Description" COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_DESCRIPTION_DESC="Description that will be shows below the titel (IMPORTANT: if html tags are used, special characters must be maskeraded)" COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES="Categories" COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC="An optional selection of category numbers seperated by commas or bullet point" +COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS="Additional parameters" +COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_EXTRA_PARAMS_DESC="Optional additional parameters for the link in the form name1=value1&name2=value2, made available as GET parameters whenever this menu item is called" COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_TITLE="Layout: elo ranking" COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_DESC="Listing of players sorted by elo rating" COM_SPORTSMANAGER_LAYOUT_ELO_RANKING_OPTION_ELO_RANKING="Elo ranking" diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index d0b064b..2da059c 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -61,8 +61,20 @@ global $params; $app = Factory::getContainer()->get(SiteApplication::class); $jInput = $app->input; -$task = $jInput->getCmd('task'); $params = $app->getParams('com_sportsmanager'); + +// zusätzliche, im Menüpunkt hinterlegte Parameter (z.B. "test=test&foo=bar") wie GET-Parameter verfügbar machen; +// tatsächlich in der URL übergebene Werte haben weiterhin Vorrang (def() setzt nur, wenn noch nicht vorhanden); +// muss vor dem Auslesen von task/content erfolgen, damit diese die Zusatzparameter berücksichtigen +$zusatzparameter = trim((string) $params->get('zusatzparameter', '')); +if ($zusatzparameter !== '') { + parse_str($zusatzparameter, $zusatzparameterWerte); + foreach ($zusatzparameterWerte as $zusatzparameterName => $zusatzparameterWert) { + $jInput->def($zusatzparameterName, $zusatzparameterWert); + } +} + +$task = $jInput->getCmd('task'); $content = isJson() && $jInput->getCmd('content', NULL) != NULL ? $jInput->getCmd('content') : $params->get('content'); if (berechnungen()) diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml b/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml index e199df8..3c6a0c9 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/tmpl/default.xml @@ -45,6 +45,11 @@ default="" label="COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES" description="COM_SPORTSMANAGER_LAYOUT_GENERAL_CONTENT_OPTION_CATEGORIES_DESC" /> + \ No newline at end of file From c290986bac670713418d91cf53be0601755b331c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Sun, 30 Aug 2026 10:15:48 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=C3=84nderung=20wie=20Vorgeschlagen=20?= =?UTF-8?q?=C3=BCbernommen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/com_sportsmanager/sportsmanager.php | 7 +++++++ 1 file changed, 7 insertions(+) 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); } }