diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index ac2ac95..233b831 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -6298,7 +6298,8 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea foreach ($veranstaltungen as $veranstaltung) { $query = "SELECT heim_spieler_1_id, heim_spieler_2_id, gast_spieler_1_id, gast_spieler_2_id, heim_team_id, gast_team_id," - . "\n teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte" + . "\n teamspiel_heim_punkte, teamspiel_gast_punkte, teamspiel_heim_spielpunkte, teamspiel_gast_spielpunkte, ergebnis_detailliert," + . "\n spielpunkte_wertung_einzel, spielpunkte_wertung_doppel" . "\n FROM #__sportsmanager_begegnung" . "\n LEFT JOIN #__sportsmanager_team ON heim_team_id = #__sportsmanager_team.team_id" . "\n LEFT JOIN #__sportsmanager_teamspiel ON #__sportsmanager_begegnung.begegnung_id = #__sportsmanager_teamspiel.begegnung_id" @@ -6349,9 +6350,18 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea $heim_team_id = $begegnung->heim_team_id; $gast_team_id = $begegnung->gast_team_id; $ergebnis = $heim_punkte > $gast_punkte ? 1 : ($heim_punkte < $gast_punkte ? 2 : 0); - $heim_saetze = $ergebnis == 1 ? 1 : 0; - $unentschieden_saetze = $ergebnis == 0 ? 1 : 0; - $gast_saetze = $ergebnis == 2 ? 1 : 0; + $wertung = $begegnung->heim_spieler_2_id === NULL && $begegnung->gast_spieler_2_id === NULL + ? $begegnung->spielpunkte_wertung_einzel : $begegnung->spielpunkte_wertung_doppel; + if ($wertung == 4 && !empty($begegnung->ergebnis_detailliert)) { + $auswertung = runden_detailliert_auswertung($begegnung->ergebnis_detailliert); + $heim_saetze = $auswertung[1]; + $unentschieden_saetze = $auswertung[2]; + $gast_saetze = $auswertung[3]; + } else { + $heim_saetze = $ergebnis == 1 ? 1 : 0; + $unentschieden_saetze = $ergebnis == 0 ? 1 : 0; + $gast_saetze = $ergebnis == 2 ? 1 : 0; + } foreach ($beteiligte as $beteiligter) { $spieler_id = $beteiligter[0]; @@ -6373,12 +6383,9 @@ function spielerstatistikAktualisieren($geaenderte_spielerstatistik_id = 0, $gea else $punkte[$spieler_id]["team_id"] = $gast_team_id; } - if (($ergebnis == 1 && $typ == "H") || ($ergebnis == 2 && $typ != "H")) - $punkte[$spieler_id]["s"] += 1; - else if ($ergebnis != 0) - $punkte[$spieler_id]["n"] += 1; - else - $punkte[$spieler_id]["u"] += 1; + $punkte[$spieler_id]["s"] += $typ == "H" ? $heim_saetze : $gast_saetze; + $punkte[$spieler_id]["u"] += $unentschieden_saetze; + $punkte[$spieler_id]["n"] += $typ != "H" ? $heim_saetze : $gast_saetze; $punkte[$spieler_id]["spg"] += $typ == "H" ? $heim_spielpunkte : $gast_spielpunkte; $punkte[$spieler_id]["spv"] += $typ != "H" ? $heim_spielpunkte : $gast_spielpunkte; $punkte[$spieler_id]["sg"] += $typ == "H" ? $heim_saetze : $gast_saetze;