diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 32dbd7c..7b7fd8f 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -2003,9 +2003,9 @@ function getTabelleSpieltag($veranstaltung,$spieltag,$mannschaften = "",$offset_ . "\n WHERE teamspiel_modus_id = " . (int)($veranstaltung->modus_id ?? 0); $wertungen = loadObjectList($db, $query); $je_satz = count($wertungen) > 0 - && ($wertungen[0]->spielpunkte_wertung_einzel >= 10 || $wertungen[0]->spielpunkte_wertung_doppel >= 10); + && jeSatzWertung($wertungen[0]->spielpunkte_wertung_einzel, $wertungen[0]->spielpunkte_wertung_doppel); $ausgetragen = function ($alias) use ($je_satz) { - return "($alias.heim_punkte != 0 OR $alias.gast_punkte != 0" . ($je_satz ? " OR NOT ISNULL($alias.heim_tore)" : "") . ")"; + return ausgetragenBedingung($je_satz, $alias); }; $query = "SELECT verein_id, teamname, zusatzpunkte," @@ -5630,9 +5630,9 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert . "\n WHERE teamspiel_modus_id = " . (int)($veranstaltung->modus_id ?? 0); $wertungen = loadObjectList($db, $query); $je_satz = count($wertungen) > 0 - && ($wertungen[0]->spielpunkte_wertung_einzel >= 10 || $wertungen[0]->spielpunkte_wertung_doppel >= 10); + && jeSatzWertung($wertungen[0]->spielpunkte_wertung_einzel, $wertungen[0]->spielpunkte_wertung_doppel); $ausgetragen = function ($alias) use ($je_satz) { - return "($alias.heim_punkte != 0 OR $alias.gast_punkte != 0" . ($je_satz ? " OR NOT ISNULL($alias.heim_tore)" : "") . ")"; + return ausgetragenBedingung($je_satz, $alias); }; $query = "UPDATE #__sportsmanager_team" diff --git a/src/structure/components/com_sportsmanager/tools.php b/src/structure/components/com_sportsmanager/tools.php index b4f9038..e951e7f 100644 --- a/src/structure/components/com_sportsmanager/tools.php +++ b/src/structure/components/com_sportsmanager/tools.php @@ -663,6 +663,22 @@ function toreFuerSpiel($punktetyp, $satzergebnisse, $heim_punkte, $gast_punkte, return array(null, null); } +function jeSatzWertung($wertung_einzel, $wertung_doppel): bool +{ + return $wertung_einzel >= 10 || $wertung_doppel >= 10; +} + +function ausgetragenBedingung($je_satz, $alias): string +{ + return "($alias.heim_punkte != 0 OR $alias.gast_punkte != 0" + . ($je_satz ? " OR NOT ISNULL($alias.heim_tore)" : "") . ")"; +} + +function ergebnisVorhanden($je_satz, $heim_punkte, $gast_punkte, $heim_tore): bool +{ + return $heim_punkte != null || $gast_punkte != null || ($je_satz && $heim_tore !== null); +} + function saetzeRemisFuerSpiel($punktetyp, $satzergebnisse, $ergebnis_detailliert): ?int { if ($punktetyp == 0 || empty($satzergebnisse) || empty($ergebnis_detailliert)) 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 5394440..f9f987d 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -1091,8 +1091,11 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster, $spielort_name = ""; $Spieltagname = ""; $Spieltagname_Buffer = ""; + $je_satz = $modus != null + && jeSatzWertung($modus->spielpunkte_wertung_einzel, $modus->spielpunkte_wertung_doppel); foreach ($rows as $row) { - $ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null; + $ergebnis_vorhanden = ergebnisVorhanden($je_satz, $row->heim_punkte, $row->gast_punkte, + $row->heim_tore ?? null); if ($zeitfenster == 0 && $veranstaltung != null) { if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) { @@ -2922,7 +2925,9 @@ $veranstaltung_id = $row->veranstaltung_id; heim_punkte != null || $row->gast_punkte != null; + $ergebnis_vorhanden = ergebnisVorhanden( + jeSatzWertung($row->spielpunkte_wertung_einzel, $row->spielpunkte_wertung_doppel), + $row->heim_punkte, $row->gast_punkte, $row->heim_tore ?? null); ?>