From 1d9aa13300da996c45595182cc8d4906e2b4a71c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Fri, 12 Sep 2025 10:56:25 +0200 Subject: [PATCH] =?UTF-8?q?=C3=9Cberarbeitung=20Anzeige=20Vereinsliste=20i?= =?UTF-8?q?n=20Frontend=20(issue=20#178)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/com_sportsmanager/admin.php | 9 +++ .../com_sportsmanager/sportsmanager.php | 7 ++- .../views/sportsmanager/view.html.php | 17 ++++-- .../views/sportsmanager/view_admin.php | 58 ++++++++++++++++--- .../de-DE/de-DE.com_sportsmanager.ini | 5 +- .../en-GB/en-GB.com_sportsmanager.ini | 5 +- 6 files changed, 80 insertions(+), 21 deletions(-) diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index cab859e..e9042ed 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -658,6 +658,7 @@ function adminEinstellungen(): void $lizenz_anzeigen = $jInput->get('lizenz_anzeigen', 0, 'INT'); $anzahl_mitglieder_zeigen = $jInput->get('anzahl_mitglieder_zeigen', 0, 'INT'); $verband_anzeigen = $jInput->get('verband_anzeigen', 0, 'INT'); + $spalte_mitglieder_zeigen = $jInput->get('spalte_mitglieder_zeigen', 0, 'INT'); $turnierbaum_zeigen = $jInput->get('turnierbaum_zeigen', 0, 'INT'); $termine_beantragen = $jInput->get('termine_beantragen', 0, 'INT'); $spielerimport_persoenliche_daten_vorauswahl = $jInput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT'); @@ -717,6 +718,14 @@ function adminEinstellungen(): void die($db->stderr(true)); } + $query = "REPLACE #__sportsmanager_einstellungen" + . "\n SET name = 'spalte_mitglieder_zeigen'" + . ", wert = '$spalte_mitglieder_zeigen'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + $query = "REPLACE #__sportsmanager_einstellungen" . "\n SET name = 'turnierbaum_zeigen'" . ", wert = '$turnierbaum_zeigen'"; diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index b1dcbc4..90c901b 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -3787,13 +3787,14 @@ function vereine($sort): void $db = getDatabase(); global $params; $organisationAnzeigen = einstellungswert('verband_anzeigen'); - + $spalteMitgliederAnzeigen = einstellungswert('spalte_mitglieder_zeigen'); + if (!$spalteMitgliederAnzeigen) $sort = "vereinsname"; $query = "SELECT t1.verein_id, t1.vereinsname, t1.vereinssitz," . "\n t2.veranstalterbezeichnung, COUNT(*) As mitglieder" . "\n FROM #__sportsmanager_verein AS t1" . "\n LEFT JOIN #__sportsmanager_veranstalter AS t2 USING (veranstalter_id)" . "\n LEFT JOIN #__sportsmanager_mitglied_von_verein AS t3 USING (verein_id)" - . "\n WHERE t1.ausgetreten = 0 AND verstecken = 0" + . "\n WHERE t1.ausgetreten = 0 AND t1.verstecken = 0 AND t3.ausgetreten = 0" . "\n GROUP BY t1.verein_id"; if ($sort == "mitglieder"){ $query .= "\n HAVING mitglieder >= " . einstellungswert('anzahl_mitglieder_zeigen'); @@ -3804,7 +3805,7 @@ function vereine($sort): void } $vereine = loadObjectList($db, $query); - HTML_sportsmanager::vereine($params->get('titel'), $params->get('beschreibung'), $vereine, $organisationAnzeigen); + HTML_sportsmanager::vereine($params->get('titel'), $params->get('beschreibung'), $vereine, $organisationAnzeigen, $spalteMitgliederAnzeigen); administrationFooter(); } diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php index 3fc8916..bad6dde 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -3082,7 +3082,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie } } - static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen): void + static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen, $spalteMitgliederAnzeigen): void { global $params; if (!empty($titel)) { ?> @@ -3115,17 +3115,20 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie - + - - + + + + @@ -3153,9 +3156,11 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie vereinsname)); ?> + + " . $row->veranstalterbezeichnung . ""; diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php index 6a01e20..87640e8 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -727,14 +727,9 @@ class HTML_sportsmanager_admin : @@ -755,6 +750,24 @@ class HTML_sportsmanager_admin + + + +
VereinslogoVereinslogo - - + + + Organisation mitglieder; ?> vereinssitz)) echo htmlentities_utf8($row->vereinssitz . (!empty($row->vereinssitz_ortsteil) ? ("-" . $row->vereinssitz_ortsteil) : "")); ?> - + + id="anzahl_mitglieder_zeigen" name="anzahl_mitglieder_zeigen" placeholder="Zahl eingeben">
+ + + +