Effizienzindex und Punkteschnitt zu Spielerstatistoken hinzugefügt.

This commit is contained in:
Jürgen Meyer
2026-04-04 12:42:07 +02:00
parent c92774b27d
commit b112b4dc31
5 changed files with 93 additions and 19 deletions
@@ -7312,6 +7312,7 @@ function spielerstatistiken(): void
$details_anzeigen = currentUserHasAccessToDetails(); $details_anzeigen = currentUserHasAccessToDetails();
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
if ($filter_saison_id == 0) if ($filter_saison_id == 0)
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
@@ -7341,10 +7342,22 @@ function spielerstatistiken(): void
. "\n ORDER BY reihenfolge, bezeichnung, kategorie"; . "\n ORDER BY reihenfolge, bezeichnung, kategorie";
$spielerstatistiken = loadObjectList($db, $query); $spielerstatistiken = loadObjectList($db, $query);
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id); HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, "", null, null);
foreach ($spielerstatistiken as $spielerstatistik) { foreach ($spielerstatistiken as $spielerstatistik) {
//Mindestzahl an Spielen
$spiele = null;
$spielerstatistik->min_spiele = 0;
if (in_array($spielerstatistik->tabellenwertung, [4, 5])) {
$query = "SELECT siege + unentschieden + niederlagen AS spiele"
. "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
. "\n ORDER BY spiele DESC;";
$max_spiele = loadResult($db, $query);
$spielerstatistik->min_spiele = round($max_spiele/2);
}
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname," $query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname,"
. "\n siege + unentschieden + niederlagen AS spiele,"
. "\n #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht," . "\n #__sportsmanager_spieler.vorname, #__sportsmanager_spieler.geschlecht,"
. "\n #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden," . "\n #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden,"
. "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2," . "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2,"
@@ -7359,11 +7372,16 @@ function spielerstatistiken(): void
$query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex"; $query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 3){ } else if ($spielerstatistik->tabellenwertung == 3){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex"; $query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 4){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen*100 / (punkte_gewonnen + punkte_verloren),2), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 5){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen / (siege + unentschieden + niederlagen),2), 0) AS leistungsindex";
} }
$query .= "\n FROM #__sportsmanager_bestenliste_punkte" $query .= "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id" . "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"; . "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
. "\n AND siege + unentschieden + niederlagen >= $spielerstatistik->min_spiele";
if ($spielerstatistik->tabellenwertung == 0) if ($spielerstatistik->tabellenwertung == 0)
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname"; $query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
else else
@@ -7379,6 +7397,7 @@ function spielerstatistiken(): void
function spielerstatistik(): void function spielerstatistik(): void
{ {
$db = getDatabase(); $db = getDatabase();
global $params;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input; $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$id = $jInput->get('id', 0, 'INT'); $id = $jInput->get('id', 0, 'INT');
@@ -7394,6 +7413,7 @@ function spielerstatistik(): void
} }
} }
$details_anzeigen = currentUserHasAccessToDetails(); $details_anzeigen = currentUserHasAccessToDetails();
$filter_min_spiele = $jInput->get('filter_min_spiele', 999, 'INT');
$filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->get('filter_saison_id', 0, 'INT');
if ($filter_saison_id == 0) { if ($filter_saison_id == 0) {
$filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT'); $filter_saison_id = $jInput->cookie->get('sportsmanager_filter_saison_id', 0, 'INT');
@@ -7430,8 +7450,32 @@ function spielerstatistik(): void
} }
$spielerstatistik = $rows[0]; $spielerstatistik = $rows[0];
//Mindestzahl an Spielen
$spiele = null;
$spielerstatistik->min_spiele = 0;
if (in_array($spielerstatistik->tabellenwertung, [4, 5])) {
$query = "SELECT siege + unentschieden + niederlagen AS spiele"
. "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n WHERE bestenliste_id = $id"
. "\n ORDER BY spiele DESC;";
$max_spiele = loadResult($db, $query);
if ($max_spiele > 0){
$offset = $max_spiele/10;
$spiele[0] = "Alle zeigen";
for($i = 1; $i <= 10; $i++){
$spiele[round($offset*$i)] = $i*10 . "%";
}
}
$spielerstatistik->max_spiele = $max_spiele;
if ($filter_min_spiele == 999)
$spielerstatistik->min_spiele = round($max_spiele/2);
else if ($filter_min_spiele != 999)
$spielerstatistik->min_spiele = $filter_min_spiele;
}
// Spielerstatistikpunkte ermitteln // Spielerstatistikpunkte ermitteln
$query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname," $query = "SELECT #__sportsmanager_bestenliste_punkte.*, #__sportsmanager_spieler.nachname, #__sportsmanager_spieler.vorname,"
. "\n siege + unentschieden + niederlagen AS spiele,"
. "\n #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden," . "\n #__sportsmanager_spieler.geschlecht, #__sportsmanager_spieler.aktueller_verein_id, #__sportsmanager_spieler.bild_ausblenden,"
. "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2," . "\n spieler_2.nachname AS nachname_2, spieler_2.vorname AS vorname_2, spieler_2.geschlecht AS geschlecht_2,"
. "\n spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2," . "\n spieler_2.aktueller_verein_id AS aktueller_verein_id_2, spieler_2.bild_ausblenden AS bild_ausblenden_2,"
@@ -7444,11 +7488,16 @@ function spielerstatistik(): void
$query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex"; $query .= ", IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(siege * punkte_gewonnen * 10 / (punkte_gewonnen + punkte_verloren)), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 3){ } else if ($spielerstatistik->tabellenwertung == 3){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex"; $query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, siege * 2 + unentschieden + punkte_gewonnen - punkte_verloren, 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 4){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen*100 / (punkte_gewonnen + punkte_verloren),2), 0) AS leistungsindex";
} else if ($spielerstatistik->tabellenwertung == 5){
$query .= "\n , IF(punkte_gewonnen > 0 OR punkte_verloren > 0, ROUND(punkte_gewonnen / (siege + unentschieden + niederlagen),2), 0) AS leistungsindex";
} }
$query .= "\n FROM #__sportsmanager_bestenliste_punkte" $query .= "\n FROM #__sportsmanager_bestenliste_punkte"
. "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)" . "\n LEFT JOIN #__sportsmanager_spieler USING (spieler_id)"
. "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id" . "\n LEFT JOIN #__sportsmanager_spieler AS spieler_2 ON spieler_2.spieler_id = spieler_2_id"
. "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"; . "\n WHERE bestenliste_id = $spielerstatistik->bestenliste_id"
. "\n AND siege + unentschieden + niederlagen >= $spielerstatistik->min_spiele";
if ($spielerstatistik->tabellenwertung == 0) { if ($spielerstatistik->tabellenwertung == 0) {
$query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname"; $query .= "\n ORDER BY spielpunkte_gewonnen DESC, spielpunkte_verloren, punkte_gewonnen - punkte_verloren DESC, nachname, vorname";
} else { } else {
@@ -7482,6 +7531,7 @@ function spielerstatistik(): void
if (isJson()) { if (isJson()) {
JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte); JSON_sportsmanager::spielerstatistik($spielerstatistik_punkte);
} else { } else {
HTML_sportsmanager::spielerstatistikenHeader($params->get('titel'), $params->get('beschreibung'), $saisons, $filter_saison_id, $id, $spiele, $spielerstatistik->min_spiele);
HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen); HTML_sportsmanager::spielerstatistik($spielerstatistik, $spielerstatistik_punkte, TRUE, $vorherige_spielerstatistik_id, $naechste_spielerstatistik_id, $details_anzeigen);
} }
@@ -6016,9 +6016,10 @@ static function turniervoranmeldungen($disziplin, $meldungenSpielerSortiert, $me
<?php <?php
} }
static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filter_saison_id): void static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filter_saison_id, $id, $spiele, $min_spiele): void
{ {
global $params; global $params;
//SpielerstatistikenHeader //SpielerstatistikenHeader
if (!empty($titel)) { ?> if (!empty($titel)) { ?>
<div <div
@@ -6034,17 +6035,18 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
</div> </div>
<?php <?php
} }
if (count($saisons) > 0) { if (!empty($saisons) || !empty($spiele)) {
?> ?>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm"> <form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>"> <table class="uk-table contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<tr> <tr>
<td nowrap> <td nowrap>
<?PHP if (!empty($saisons)){ ?>
<label <label
for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?> for="filter_saison_id"><?php echo Text::_('COM_SPORTSMANAGER_SEASON'); ?>
:</label> :</label>
<select class="uk-select uk-form-width-medium" name="filter_saison_id" <select class="uk-select uk-form-width-small" name="filter_saison_id"
id="filter_saison_id" size="1" id="filter_saison_id" size="1"
onChange="document.adminForm.submit();"> onChange="document.adminForm.submit();">
<?php <?php
@@ -6052,6 +6054,22 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>"; echo "<option value=\"" . $saison->saison_id . "\" " . ($filter_saison_id == $saison->saison_id ? "selected" : "") . ">" . htmlentities_utf8($saison->saisonbezeichnung) . "</option>";
?> ?>
</select> </select>
<?PHP
}
if (!empty($spiele)){
?>
<label
for="filter_min_matches"><?php echo Text::_('COM_SPORTSMANAGER_MIN_MATCHES'); ?>
:</label>
<select class="uk-select uk-form-width-small" name="filter_min_spiele"
id="filter_min_matches" size="1"
onChange="document.adminForm.task.value='spielerstatistik'; document.adminForm.submit();">
<?php
foreach ($spiele as $key => $value)
echo "<option value=\"" . $key . "\" " . ($min_spiele == $key ? "selected" : "") . ">" . htmlentities_utf8($value) . "</option>";
?>
</select>
<?PHP } ?>
<input type="submit" name="ok" <input type="submit" name="ok"
value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>" value="<?php echo Text::_('COM_SPORTSMANAGER_GO'); ?>"
class="button uk-button uk-button-primary"/> class="button uk-button uk-button-primary"/>
@@ -6060,6 +6078,7 @@ static function spielerstatistikenHeader($titel, $beschreibung, $saisons, $filte
</table> </table>
</div> </div>
<input type="hidden" name="task" value="spielerstatistiken"/> <input type="hidden" name="task" value="spielerstatistiken"/>
<input type="hidden" name="id" value="<?PHP echo $id; ?>"/>
</form> </form>
<?php <?php
} }
@@ -6362,12 +6362,13 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-large" name="tabellenwertung" <select class="uk-select uk-form-width-large" name="tabellenwertung"
id="table_evaluation" size="1"> id="table_evaluation" size="1">
<?php <?php
$typ = array(0 => Text::_('COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE'), $typ = array(0 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX0'),
1 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX'), 1 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX1'),
2 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2'), 2 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2'),
3 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX3'), 3 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX3'),
4 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX4')); 4 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX4'),
for ($i = 0; $i <= 3; $i++) { 5 => Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX5'));
for ($i = 0; $i <= 5; $i++) {
echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->tabellenwertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>"; echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->tabellenwertung == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($typ[$i]) . "</option>";
} }
?> ?>
@@ -550,11 +550,12 @@ COM_SPORTSMANAGER_NO_RATING="Keine Wertung"
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe" COM_SPORTSMANAGER_TEAM_COMPETITIONS="Mannschaftswettbewerbe"
COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung" COM_SPORTSMANAGER_TABLE_SUMMARY="Tabellenwertung"
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Direkter Vergleich" COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Direkter Vergleich"
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz" COM_SPORTSMANAGER_PERFORMANCE_INDEX0="Spielpunkte gewonnen, Spielpunkte verloren, Punktedifferenz"
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX1="Leistungsindex (SP+ * SP+ * 100) / (SP+ + SP-), Spielpunkte gewonnen, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Leistungsindex (S * P+ * 10) / (P+ + P-), Spielpunkte gewonnen, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (Siege*2 + Unentschieden + Tordifferenz)" COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (Siege*2 + Unentschieden + Tordifferenz)"
COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Effizienzindex (G+ / (G+ + G-))" COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Effizienzindex (G+ / (G+ + G-))"
COM_SPORTSMANAGER_PERFORMANCE_INDEX5="Punkteschnitt (SP+ / Anzahl Sätze)"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Einzelstatistik aus allen Spielen" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Einzelstatistik aus allen Spielen"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Einzelstatistik aus Einzel-Spielen" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Einzelstatistik aus Einzel-Spielen"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Einzelstatistik aus Doppel-Spielen" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Einzelstatistik aus Doppel-Spielen"
@@ -1101,3 +1102,4 @@ COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="Der Spielbericht wird zusammen mit
COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Spielbericht gel&ouml;scht" COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Spielbericht gel&ouml;scht"
COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="Der Spielbericht wurde erfolgreich gel&ouml;scht!" COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="Der Spielbericht wurde erfolgreich gel&ouml;scht!"
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Spielberichtskorrektur" COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Spielberichtskorrektur"
COM_SPORTSMANAGER_MIN_MATCHES="Mindestzahl Spiele"
@@ -550,11 +550,12 @@ COM_SPORTSMANAGER_NO_RATING="No rating"
COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions" COM_SPORTSMANAGER_TEAM_COMPETITIONS="Team competitions"
COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating" COM_SPORTSMANAGER_TABLE_SUMMARY="Table rating"
COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Head-to-head record" COM_SPORTSMANAGER_HEAD_TO_HEAD_RECORD="Head-to-head record"
COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE="Game points won, game points lost, point difference" COM_SPORTSMANAGER_PERFORMANCE_INDEX0="Game points won, game points lost, point difference"
COM_SPORTSMANAGER_PERFORMANCE_INDEX="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX1="Performance index (GP+ * GP+ * 100) / (GP+ + GP-), game points won, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..." COM_SPORTSMANAGER_PERFORMANCE_INDEX2="Performance index (games * P+ * 10) / (P+ + P-), game points won, ..."
COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (victories*2 + draws + goal difference)" COM_SPORTSMANAGER_PERFORMANCE_INDEX3="Race Performance Index (victories*2 + draws + goal difference)"
COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Efficency index (G+ / (G+ + G-))" COM_SPORTSMANAGER_PERFORMANCE_INDEX4="Efficency index (G+ / (G+ + G-))"
COM_SPORTSMANAGER_PERFORMANCE_INDEX5="Set point average (SP+ / count sets)"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Individual statistics of all games" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS="Individual statistics of all games"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Individual statistics of singles games" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES="Individual statistics of singles games"
COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Individual statistics of doubles games" COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES="Individual statistics of doubles games"
@@ -1101,3 +1102,4 @@ COM_SPORTSMANAGER_REALLY_DELETE_MATCH_REPORT="The match report and all its histo
COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Match report deleted" COM_SPORTSMANAGER_MATCH_REPORT_DELETED="Match report deleted"
COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="The match report has been successfully deleted!" COM_SPORTSMANAGER_MATCH_REPORT_WAS_DELETED="The match report has been successfully deleted!"
COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Match report corrected" COM_SPORTSMANAGER_MATCH_REPORT_CORRECTED="Match report corrected"
COM_SPORTSMANAGER_MIN_MATCHES="Min count matches"