diff --git a/src/structure/components/com_sportsmanager/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php
index 9ca9fa5..0bd74c7 100644
--- a/src/structure/components/com_sportsmanager/sportsmanager.php
+++ b/src/structure/components/com_sportsmanager/sportsmanager.php
@@ -7786,6 +7786,31 @@ function turniervoranmeldungen(): void
administrationFooter();
}
+/// Die Einheit der Spalten „T +/-" einer Bestenliste: 0 = Tore, 1 = Saetze, null = gemischt
+/// oder unbekannt. Die Werte sind die Summe der teamspiel_*_punkte, und die zaehlen je
+/// punktetyp Tore oder gewonnene Saetze. Eine Bestenliste kann mehrere Wettbewerbe umfassen —
+/// dann gibt es keine gemeinsame Einheit.
+function spielerstatistikEinheit($bestenliste_id): ?int
+{
+ $db = getDatabase();
+ $query = "SELECT DISTINCT punktetyp"
+ . "\n FROM #__sportsmanager_bestenliste_veranstaltung"
+ . "\n INNER JOIN #__sportsmanager_veranstaltung USING (veranstaltung_id)"
+ . "\n INNER JOIN #__sportsmanager_teamspiel_modus ON teamspiel_modus_id = modus_id"
+ . "\n WHERE bestenliste_id = " . (int)$bestenliste_id;
+ $rows = loadObjectList($db, $query);
+ if (count($rows) != 1) {
+ return null;
+ }
+ // Individualwettbewerbe kennen keinen punktetyp; sind welche dabei, ist die Einheit offen.
+ $query = "SELECT COUNT(*) FROM #__sportsmanager_bestenliste_individualwettbewerb"
+ . "\n WHERE bestenliste_id = " . (int)$bestenliste_id;
+ if (!empty(loadResult($db, $query))) {
+ return null;
+ }
+ return (int)$rows[0]->punktetyp;
+}
+
function spielerstatistiken(): void
{
$db = getDatabase();
@@ -7870,7 +7895,7 @@ function spielerstatistiken(): void
$query .= "\n ORDER BY leistungsindex DESC, quotient DESC, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
$spielerstatistik_punkte = loadObjectList($db, $query);
- HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, 0, $details_anzeigen);
+ HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, FALSE, 0, 0, 0, $details_anzeigen, spielerstatistikEinheit($spielerstatistik->bestenliste_id));
}
administrationFooter();
@@ -8030,7 +8055,7 @@ function spielerstatistik(): void
JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte);
} else {
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, $id, $spiele, $spielerstatistik->min_spiele, $teams, $filter_teams);
- HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen);
+ HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen, spielerstatistikEinheit($spielerstatistik->bestenliste_id));
}
}
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 fc2fae1..a0744bf 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
@@ -1597,7 +1597,21 @@ if (count($spiele) > 0) {
- ergebnis_detailliert); ?>
+ teamspiel_heim_punkte . ':' . $spiel->teamspiel_gast_punkte;
+ $saetze = str_replace(" ", " | ", (string)$spiel->ergebnis_detailliert);
+ if ($saetze === '' && $spiel->teamspiel_heim_punkte == 0 && $spiel->teamspiel_gast_punkte == 0) {
+ // Nicht gespielt: wie bisher leer, kein „0:0".
+ } else if ($saetze === '' || $saetze === $stand) {
+ echo htmlentities_utf8($saetze !== '' ? $saetze : $stand);
+ } else {
+ echo htmlentities_utf8($stand) . ' (' . htmlentities_utf8($saetze) . ')';
+ }
+ ?>
|
@@ -6780,7 +6794,7 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
}
}
-static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen): void
+static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $allein_angezeigt, $filter_teams, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen, ?int $einheit = null): void
{
global $params;
if ($allein_angezeigt) {
@@ -6934,13 +6948,23 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
|
|
+
- +
+ title="">
+ +
|
- -
+ title="">
+ -
|
|
-
|
- |