From cb8b6ebe0622ba77e5533653dffcb71b7f8ae819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Thu, 12 Feb 2026 11:33:29 +0100 Subject: [PATCH] Einige Optimierungen --- .../com_sportsmanager/sportsmanager.php | 20 ++++++++++--- .../views/sportsmanager/view.html.php | 29 ++++++++++++------- .../views/sportsmanager/view_admin.php | 2 +- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 9f81bbc..dce344b 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -4257,21 +4257,32 @@ function verbandsorgane(): void global $params; $jInput = Factory::getContainer()->get(SiteApplication::class)->input; - $query = "SELECT t1.*, COUNT(t2.verbandsorgane_id) AS anzahl" + $query = "SELECT t1.*, COUNT(t2.verbandsorgane_id) AS anzahl, t3.veranstalterbezeichnung AS organisation" . "\n FROM #__sportsmanager_verbandsorgane t1" . "\n LEFT JOIN #__sportsmanager_mitglied_von_verbandsorgan t2 ON t2.verbandsorgane_id = t1.verbandsorgane_id" + . "\n LEFT JOIN #__sportsmanager_veranstalter t3 ON t3.veranstalter_id = t1.veranstalter_id" . "\n GROUP BY t1.verbandsorgane_id" . kategorieFilter("HAVING t1.kategorie IN") . "\n ORDER BY t1.reihenfolge;"; $verbandsorgane = loadObjectList($db, $query); + $query = "SELECT COUNT(veranstalter_id) AS anzahl" + . "\n FROM #__sportsmanager_verbandsorgane" + . "\n GROUP BY veranstalter_id" + . kategorieFilter("WHERE kategorie IN"); + $organisationen = loadObjectList($db, $query); + if (count($organisationen) > 1) + $organisation_zeigen = true; + else + $organisation_zeigen = false; + if (count($verbandsorgane) == 1){ verbandsorganeDetails($verbandsorgane[0]->verbandsorgane_id); } else { if (isJson()) { echo json_encode($verbandsorgane); } else { - HTML_sportsmanager::verbandsorgane($params->get('titel'), $params->get('beschreibung'), $verbandsorgane); + HTML_sportsmanager::verbandsorgane($params->get('titel'), $params->get('beschreibung'), $verbandsorgane, $organisation_zeigen); } } } @@ -4287,11 +4298,12 @@ function verbandsorganeDetails($uebergabe_id = 0): void else $id = $uebergabe_id; - $query = "SELECT * FROM #__sportsmanager_verbandsorgane WHERE verbandsorgane_id = $id"; $verbandsorgane = loadObjectList($db, $query); - $query = "SELECT * FROM #__sportsmanager_mitglied_von_verbandsorgan WHERE verbandsorgane_id = $id"; + $query = "SELECT * FROM #__sportsmanager_mitglied_von_verbandsorgan" + . "\n WHERE verbandsorgane_id = $id" + . "\n ORDER BY reihenfolge, nachname, vorname"; $mitglieder = loadObjectList($db, $query); if (isJson()) { 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 162b1af..3891991 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -3951,14 +3951,14 @@ static function spielverlegungen($titel, $beschreibung, $rows): void } ?>
- - - - - - + + + + + 0) { @@ -4002,7 +4002,7 @@ static function spielverlegungen($titel, $beschreibung, $rows): void @@ -4023,12 +4023,15 @@ static function verbandsorgane($titel, $beschreibung, $rows): void if (count($rows) > 0) { ?> -
+ + + email; ?> + + + 0) { ?> -
+ organisation; ?> +
- +

Mitglieder

+
-