From 1aa9b924d76f5dabed795d127e42b64c2a129082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Meyer?= Date: Sun, 17 Aug 2025 18:11:46 +0200 Subject: [PATCH] =?UTF-8?q?Noch=20ein=20paar=20kleine=20=C3=84nderungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/com_sportsmanager/admin.php | 5 +-- .../com_sportsmanager/sportsmanager.php | 34 ++++++++++++++++--- .../views/sportsmanager/view.html.php | 7 ++-- .../views/sportsmanager/view_admin.php | 4 +-- 4 files changed, 39 insertions(+), 11 deletions(-) diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index ffe96d6..bff9b7d 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -11929,8 +11929,9 @@ function adminBegegnungenExportForm(): void $query = " SELECT t1.begegnung_id AS ID, t5.saisonbezeichnung AS Saison, t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast, - t1.spieltag AS Spieltag_Nr, t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore, - t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte + t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore, + t1.gast_punkte AS Gast_Tore, t1.heim_spielpunkte AS Heim_Satzpunkte, + t1.gast_spielpunkte AS Gast_Satzpunkte FROM #__sportsmanager_begegnung AS t1 LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 6b35a7c..c6bf144 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -2366,7 +2366,6 @@ function turnierbaumAnzeigen($veranstaltung): void $anzahlRunden = getAnzahlRunden($anzahlTeams); //Alle Begegnungen vorbelegen - $anzahlSpiele = pow(2, $anzahlRunden - 1); for($runde_nr = 1; $runde_nr <= $anzahlRunden; $runde_nr++) { @@ -2395,12 +2394,20 @@ function turnierbaumAnzeigen($veranstaltung): void } else { $begegnungen[1][$spiel_nr]['heim'] = "freilos"; $begegnungen[1][$spiel_nr]['sieger'] = 2; + if ($spiel_nr %2) + $begegnungen[2][round($spiel_nr/2)]['heim'] = $teams[$setzung[1]]['teamname_kurz'] ?: $teams[$setzung[1]]['teamname']; + else + $begegnungen[2][round($spiel_nr/2)]['gast'] = $teams[$setzung[1]]['teamname_kurz'] ?: $teams[$setzung[1]]['teamname']; } if ($setzung[1] <= $anzahlTeams) { - $begegnungen[1][$spiel_nr]['gast'] = $teams[$setzung[0]]['teamname_kurz'] ?: $teams[$setzung[0]]['teamname']; + $begegnungen[1][$spiel_nr]['gast'] = $teams[$setzung[1]]['teamname_kurz'] ?: $teams[$setzung[1]]['teamname']; } else { $begegnungen[1][$spiel_nr]['gast'] = "freilos"; $begegnungen[1][$spiel_nr]['sieger'] = 1; + if ($spiel_nr %2) + $begegnungen[2][round($spiel_nr/2)]['heim'] = $teams[$setzung[0]]['teamname_kurz'] ?: $teams[$setzung[0]]['teamname']; + else + $begegnungen[2][round($spiel_nr/2)]['gast'] = $teams[$setzung[0]]['teamname_kurz'] ?: $teams[$setzung[0]]['teamname']; } } @@ -2431,12 +2438,28 @@ function turnierbaumAnzeigen($veranstaltung): void $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['erg_heim'] = $begegnung['Heim_Satzpunkte']; $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['erg_gast'] = $begegnung['Gast_Satzpunkte']; $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['link'] = SportsManagerURL('&task=begegnung_spielplan&veranstaltungid=' . $veranstaltungId . '&id=' . $begegnung['begegnung_id']); - + $tooltiptext = $begegnung['Runde'] . ": " . $begegnung['Heim'] . " vs. " . $begegnung['Gast']; + if ($begegnung['Heim_Satzpunkte'] > 0 || $begegnung['Gast_Satzpunkte'] > 0) + $tooltiptext .= " - " . $begegnung['Heim_Satzpunkte'] . " : " . $begegnung['Gast_Satzpunkte']; + $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['tooltiptext'] = $tooltiptext; + if ($begegnung['Heim_Satzpunkte'] > $begegnung['Gast_Satzpunkte']) { $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1; + if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ + if (round($begegnung['Spiel_Nr'] % 2)) + $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = $begegnung['Heim']; + else + $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = $begegnung['Heim']; + } } else if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) { $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2; + if ($begegnung['Spieltag_Nr'] < $anzahlRunden){ + if (round($begegnung['Spiel_Nr'] % 2)) + $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = $begegnung['Gast']; + else + $begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = $begegnung['Gast']; + } } else { $begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 0; } @@ -2552,8 +2575,9 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id" . "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id" . "\n WHERE t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . " AND t2.veranstaltung_id = $veranstaltung->veranstaltung_id" . ($zeitfenster > 0 ? " AND (ABS(DATEDIFF(zeitpunkt, CURDATE())) <= $zeitfenster OR (heim_punkte = 0 AND gast_punkte = 0 AND (SELECT IF(aktion NOT IN (0, 3, 4), 0, 1) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) = 1))" : "") . ($ausgetragene_filtern ? " AND ISNULL(heim_punkte) AND ISNULL(gast_punkte)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0)" : "") - . "\n ORDER BY " . ((($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) && $zeitfenster == 0) ? ("t1.spieltag" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", s1.name, ") : "") . "t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name"; - $db->setQuery($query); + . "\n ORDER BY " . ((($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) && $zeitfenster == 0) ? ("t1.spieltag" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", t1.spiel_nr, s1.name, ") : "") . "t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name"; + + $db->setQuery($query); if (!$db->execute()) { abortWithError($db->stderr(true)); } 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 baa4a2b..c5f32b6 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -1094,7 +1094,9 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster, unterteilung == 0)); - if (!empty($spielort_name)) + if (!empty($row->spieltag_titel) && !empty($veranstaltung->spieltag_titel_zeigen)) + echo "   -   " . $row->spieltag_titel; + if (!empty($spielort_name)) echo "
" . htmlentities_utf8($spielort_name); ?> @@ -1302,7 +1304,8 @@ static function turnierbaumAnzeigen($veranstaltung,$begegnungen): void echo "\n
"; + echo "class='matchbox' style='top: " . $oben . "px; left: " . $links . "px;' + title='" . $begegnungen[$runde + 1][$spiel + 1]['tooltiptext'] . "'>"; echo ""; echo $begegnungen[$runde + 1][$spiel + 1]['heim'] ?? ''; echo ""; 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 456c2d4..eec6a1f 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -716,7 +716,7 @@ class HTML_sportsmanager_admin + -