Merge pull request #272 from Deutscher-Tischfussballbund/sportsmanager2-dev

dev to stage
This commit is contained in:
MarvinF
2026-03-24 17:13:22 +01:00
committed by GitHub
6 changed files with 129 additions and 51 deletions
@@ -9280,10 +9280,16 @@ function heimspieltag_aktualisieren($team_id): void
$query = "SELECT begegnung_id, zeitpunkt" $query = "SELECT begegnung_id, zeitpunkt"
. "\n FROM #__sportsmanager_begegnung" . "\n FROM #__sportsmanager_begegnung"
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
. "\n WHERE heim_team_id = $team_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)" . "\n WHERE heim_team_id = $team_id AND COALESCE(heim_spielpunkte, 0) = 0"
. "\n AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id)"
. "\n AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id)"
. "\n AND NOT EXISTS("
. "\n SELECT * FROM #__sportsmanager_begegnung_historie"
. "\n WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id"
. "\n AND #__sportsmanager_begegnung_historie.aktion NOT IN (11,12))"
. "\n ORDER BY spieltag DESC"; . "\n ORDER BY spieltag DESC";
$begegnungen = loadObjectList($db, $query); $begegnungen = loadObjectList($db, $query);
foreach ($begegnungen as $begegnung) { foreach ($begegnungen as $begegnung) {
$ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1)); $ts = getdate(geaenderterWochentag(strtotime($begegnung->zeitpunkt), $team->heimspiel_wochentag - 1));
$neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100); $neuer_zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($team->heimspiel_uhrzeit / 100), $team->heimspiel_uhrzeit % 100);
$query = "UPDATE #__sportsmanager_begegnung" $query = "UPDATE #__sportsmanager_begegnung"
@@ -9303,7 +9309,13 @@ function termin_aktualisieren($begegnung_id): void
$query = "SELECT heim_team_id, zeitpunkt" $query = "SELECT heim_team_id, zeitpunkt"
. "\n FROM #__sportsmanager_begegnung" . "\n FROM #__sportsmanager_begegnung"
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
. "\n WHERE begegnung_id = $begegnung_id AND COALESCE(heim_spielpunkte, 0) = 0 AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id) AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id) AND NOT EXISTS(SELECT * FROM #__sportsmanager_begegnung_historie WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id)" . "\n WHERE begegnung_id = $begegnung_id AND COALESCE(heim_spielpunkte, 0) = 0"
. "\n AND COALESCE(gast_spielpunkte, 0) = 0 AND NOT ISNULL(zeitpunkt) AND ISNULL(spielort_id)"
. "\n AND ISNULL(#__sportsmanager_unbestaetigtes_ergebnis.begegnung_id)"
. "\n AND NOT EXISTS("
. "\n SELECT * FROM #__sportsmanager_begegnung_historie"
. "\n WHERE #__sportsmanager_begegnung_historie.begegnung_id = #__sportsmanager_begegnung.begegnung_id"
. "\n AND #__sportsmanager_begegnung_historie.aktion NOT IN (11,12))"
. "\n ORDER BY spieltag DESC"; . "\n ORDER BY spieltag DESC";
$begegnungen = loadObjectList($db, $query); $begegnungen = loadObjectList($db, $query);
if (count($begegnungen) < 1) if (count($begegnungen) < 1)
@@ -5503,10 +5503,12 @@ function updateDatabase(): void
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "ALTER TABLE `#__sportsmanager_veranstaltung` ADD COLUMN IF NOT EXISTS `regelwerke_id` INT(11) NOT NULL DEFAULT '0' AFTER `bezeichnung`;"; $columns = $db->getTableColumns('#__sportsmanager_veranstaltung');
$db->setQuery($query); if (!array_key_exists('regelwerke_id', $columns)) {
if (!$db->execute()) { die($db->stderr(true)); } $query = "ALTER TABLE `#__sportsmanager_veranstaltung` ADD COLUMN `regelwerke_id` INT(11) NOT NULL DEFAULT '0' AFTER `bezeichnung`;";
$db->setQuery($query);
if (!$db->execute()) { die($db->stderr(true)); }
}
$query = "UPDATE #__sportsmanager_einstellungen" $query = "UPDATE #__sportsmanager_einstellungen"
. "\n SET wert = '114'" . "\n SET wert = '114'"
. "\n WHERE name = 'datenbank_version'"; . "\n WHERE name = 'datenbank_version'";
@@ -5519,13 +5521,18 @@ function updateDatabase(): void
if ($datenbank_version < 115) { if ($datenbank_version < 115) {
// Erweiterung Tabelle #__sportsmanager_verschieberegel // Erweiterung Tabelle #__sportsmanager_verschieberegel
$query = "ALTER TABLE `#__sportsmanager_verschieberegel`" $columns = $db->getTableColumns('#__sportsmanager_verschieberegel');
."\n ADD COLUMN IF NOT EXISTS `begruendung_erforderlich` INT(1) NOT NULL DEFAULT 0 AFTER `ablehnen`," if (!array_key_exists('begruendung_erforderlich', $columns)
."\n ADD COLUMN IF NOT EXISTS `vereine_berechtigt` INT(1) NOT NULL DEFAULT 1 AFTER `begruendung_erforderlich`," || !array_key_exists('vereine_berechtigt', $columns)
."\n ADD COLUMN IF NOT EXISTS `verband_berechtigt` INT(1) NOT NULL DEFAULT 0 AFTER `vereine_berechtigt`;"; || !array_key_exists('verband_berechtigt', $columns)) {
$db->setQuery($query); $query = "ALTER TABLE `#__sportsmanager_verschieberegel`"
if (!$db->execute()) { . "\n ADD COLUMN `begruendung_erforderlich` INT(1) NOT NULL DEFAULT 0 AFTER `ablehnen`,"
die($db->stderr(true)); . "\n ADD COLUMN `vereine_berechtigt` INT(1) NOT NULL DEFAULT 1 AFTER `begruendung_erforderlich`,"
. "\n ADD COLUMN `verband_berechtigt` INT(1) NOT NULL DEFAULT 0 AFTER `vereine_berechtigt`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
} }
$query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');"; $query = "INSERT IGNORE INTO `#__sportsmanager_email_vorlagen` (`email_vorlagen_id`, `vorlage`) VALUES (NULL, 'Spielverlegung');";
@@ -5543,20 +5550,28 @@ function updateDatabase(): void
if ($datenbank_version < 116) { if ($datenbank_version < 116) {
$query = "ALTER TABLE `#__sportsmanager_spielort`" $columns = $db->getTableColumns('#__sportsmanager_spielort');
. "\n ADD IF NOT EXISTS `telefon` VARCHAR(64) NULL DEFAULT NULL AFTER `url`," if (!array_key_exists('telefon', $columns)
. "\n ADD IF NOT EXISTS `email` VARCHAR(64) NULL DEFAULT NULL AFTER `telefon`," || !array_key_exists('email', $columns)
. "\n ADD IF NOT EXISTS `ruhetage` VARCHAR(64) NULL DEFAULT NULL AFTER `email`;"; || !array_key_exists('ruhetage', $columns)) {
$db->setQuery($query); $query = "ALTER TABLE `#__sportsmanager_spielort`"
if (!$db->execute()) { . "\n ADD `telefon` VARCHAR(64) NULL DEFAULT NULL AFTER `url`,"
die($db->stderr(true)); . "\n ADD `email` VARCHAR(64) NULL DEFAULT NULL AFTER `telefon`,"
. "\n ADD `ruhetage` VARCHAR(64) NULL DEFAULT NULL AFTER `email`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
} }
$query = "ALTER TABLE `#__sportsmanager_team`" $columns = $db->getTableColumns('#__sportsmanager_team');
. "\n ADD IF NOT EXISTS `trainingstage` VARCHAR(64) NULL DEFAULT NULL AFTER `heimspielort_id`;"; if (!array_key_exists('trainingstage', $columns)){
$db->setQuery($query); $query = "ALTER TABLE `#__sportsmanager_team`"
if (!$db->execute()) { . "\n ADD `trainingstage` VARCHAR(64) NULL DEFAULT NULL AFTER `heimspielort_id`;";
die($db->stderr(true)); $db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
} }
$query = "UPDATE #__sportsmanager_einstellungen" $query = "UPDATE #__sportsmanager_einstellungen"
@@ -5581,10 +5596,15 @@ function updateDatabase(): void
$db->setQuery( $query ); $db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); } if (!$db->execute()) { die($db->stderr(true)); }
$query = "ALTER TABLE #__sportsmanager_veranstaltung" $columns = $db->getTableColumns('#__sportsmanager_veranstaltung');
. "\n ADD IF NOT EXISTS explizite_strafen tinyint(4) DEFAULT '0' AFTER elo_wertung"; if (!array_key_exists('explizite_strafen', $columns)) {
$db->setQuery($query); $query = "ALTER TABLE #__sportsmanager_veranstaltung"
if (!$db->execute()) { die($db->stderr(true)); } . "\n ADD explizite_strafen tinyint(4) DEFAULT '0' AFTER elo_wertung";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
$query = "UPDATE #__sportsmanager_einstellungen SET wert = '117' WHERE name = 'datenbank_version'"; $query = "UPDATE #__sportsmanager_einstellungen SET wert = '117' WHERE name = 'datenbank_version'";
$db->setQuery($query); $db->setQuery($query);
@@ -1832,14 +1832,15 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag) function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
{ {
$gesamtpunkte = 1000; $gesamtpunkte = 1000;
$anzahlSpiele = 1000; $anzahlSpiele = 1000;
$platz = 0; $platz = 0;
$punktgleicheMannschaften = []; $punktgleicheMannschaften = [];
$korrekturen = []; $korrekturen = [];
$bufferplatz = [];
foreach($teams AS $team){ foreach($teams AS $team){
$bufferplatz[$team->team_id]['platz'] = $team->platz;
if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){ if (($gesamtpunkte != $team->gesamtpunkte) OR ($anzahlSpiele != $team->anzahl_spiele)){
$gesamtpunkte = $team->gesamtpunkte; $gesamtpunkte = $team->gesamtpunkte;
$anzahlSpiele = $team->anzahl_spiele; $anzahlSpiele = $team->anzahl_spiele;
@@ -1851,10 +1852,54 @@ function getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag)
$korrekturen[$platz] = $punktgleicheMannschaften[$platz]; $korrekturen[$platz] = $punktgleicheMannschaften[$platz];
} }
} }
if (!empty($korrekturen)){ if (!empty($korrekturen)){
foreach($korrekturen AS $key => $korrektur){ foreach($korrekturen AS $key => $korrektur){
$teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1); $teamsKorrektur = getTabelleSpieltag($veranstaltung,$spieltag,$korrektur,$key-1);
foreach($teamsKorrektur AS $teamKorrektur){
$teamKorrektur->platz_alt = $bufferplatz[$teamKorrektur->team_id]['platz'];
}
if ($veranstaltung->tabellenwertung == 1 || $veranstaltung->tabellenwertung == 4 || $veranstaltung->tabellenwertung == 7){
usort($teamsKorrektur, fn($a, $b) =>
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt]
<=>
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (float)$a->spielpunkte_differenz, (float)$a->punkte_differenz, (int)$b->platz_alt]
);
}
else if ($veranstaltung->tabellenwertung == 2 || $veranstaltung->tabellenwertung == 5 || $veranstaltung->tabellenwertung == 8){
usort($teamsKorrektur, fn($a, $b) =>
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, (int)$a->platz_alt]
<=>
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, (int)$b->platz_alt]
);
}
else if ($veranstaltung->tabellenwertung == 10){
usort($teamsKorrektur, fn($a, $b) =>
[(float)$b->spielpunkte_differenz, (float)$b->punkte_differenz, (int)$a->platz_alt]
<=>
[(float)$a->spielpunkte_differenz, (float)$a->punkte_differenz, (int)$b->platz_alt]
);
}
else if ($veranstaltung->tabellenwertung == 11){
usort($teamsKorrektur, fn($a, $b) =>
[(float)$b->spielpunkte_quotient, (float)$b->punkte_quotient, (int)$a->platz_alt]
<=>
[(float)$a->spielpunkte_quotient, (float)$a->punkte_quotient, (int)$b->platz_alt]
);
}
else {
usort($teamsKorrektur, fn($a, $b) =>
[(float)$b->begegnungspunkte, (int)$a->anzahl_spiele, (int)$a->platz_alt]
<=>
[(float)$a->begegnungspunkte, (int)$b->anzahl_spiele, (int)$b->platz_alt]
);
}
$neuerPlatz = $key;
foreach ($teamsKorrektur as $teamKorrektur) {
$teamKorrektur->platz = $neuerPlatz++;
}
foreach($teamsKorrektur AS $teamKorrektur){ foreach($teamsKorrektur AS $teamKorrektur){
foreach($teams AS $team){ foreach($teams AS $team){
if ($team->team_id == $teamKorrektur->team_id){ if ($team->team_id == $teamKorrektur->team_id){
@@ -1709,7 +1709,7 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
<select <select
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>" aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_MATCHDAY_SELECT'); ?>"
class="uk-select uk-form-width-medium" name="spieltag" size="1" class="uk-select uk-form-width-medium" name="spieltag" size="1"
onChange="document.adminForm.submit();"> onChange="this.form.submit();">
<?php <?php
foreach ($spieltage as $s) { foreach ($spieltage as $s) {
echo "<option value=\"" . $s->spieltag . "\"" . ($s->spieltag == $spieltag ? " selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($s->spieltag, $veranstaltung->unterteilung == 0)) . "</option>"; echo "<option value=\"" . $s->spieltag . "\"" . ($s->spieltag == $spieltag ? " selected" : "") . ">" . htmlentities_utf8(Rundenbezeichnung($s->spieltag, $veranstaltung->unterteilung == 0)) . "</option>";
@@ -6205,10 +6205,6 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>"> <?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?> <strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS_SHORTCUT'); ?>
-</strong></th> -</strong></th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_GAME_POINTS'); ?>
<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong></th>
<th nowrap <th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?> title="<?php echo Text::_('COM_SPORTSMANAGER_POINTS'); ?>
<?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>"> <?php echo Text::_('COM_SPORTSMANAGER_WON'); ?>">
@@ -6219,6 +6215,10 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
<?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>"> <?php echo Text::_('COM_SPORTSMANAGER_LOST'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> -</strong> <strong><?php echo Text::_('COM_SPORTSMANAGER_POINTS_SHORTCUT'); ?> -</strong>
</th> </th>
<th nowrap
title="<?php echo Text::_('COM_SPORTSMANAGER_RATE'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_RATE_SHORTCUT'); ?></strong>
</th>
<th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_VICTORIES'); ?>"> <th nowrap title="<?php echo Text::_('COM_SPORTSMANAGER_VICTORIES'); ?>">
<strong><?php echo Text::_('COM_SPORTSMANAGER_VICTORIES_SHORTCUT'); ?></strong> <strong><?php echo Text::_('COM_SPORTSMANAGER_VICTORIES_SHORTCUT'); ?></strong>
</th> </th>
@@ -6295,6 +6295,7 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
</td> </td>
<?php <?php
} }
$spiele_gesamt = $row->siege + $row->niederlagen + $row->unentschieden;
?> ?>
<td nowrap <td nowrap
style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td> style="text-align: center"><?php echo $row->siege + $row->niederlagen + $row->unentschieden; ?></td>
@@ -6302,10 +6303,10 @@ static function spielerstatistik($spielerstatistik, $spielerstatistik_punkte, $a
style="text-align: center"><?php echo ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : ""); ?></strong></td> style="text-align: center"><?php echo ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : "") . $row->spielpunkte_gewonnen . ($spielerstatistik->tabellenwertung == 0 ? "<strong>" : ""); ?></strong></td>
<td nowrap <td nowrap
style="text-align: center"><?php echo $row->spielpunkte_verloren; ?></td> style="text-align: center"><?php echo $row->spielpunkte_verloren; ?></td>
<td nowrap
style="text-align: center"><?php echo ($row->spielpunkte_gewonnen > 0 || $row->spielpunkte_verloren > 0) ? round($row->spielpunkte_gewonnen * 100 / ($row->spielpunkte_gewonnen + $row->spielpunkte_verloren)) . "%" : "-"; ?></td>
<td nowrap style="text-align: center"><?php echo $row->punkte_gewonnen; ?></td> <td nowrap style="text-align: center"><?php echo $row->punkte_gewonnen; ?></td>
<td nowrap style="text-align: center"><?php echo $row->punkte_verloren; ?></td> <td nowrap style="text-align: center"><?php echo $row->punkte_verloren; ?></td>
<td nowrap
style="text-align: center"><?php echo ($spiele_gesamt > 0) ? round((($row->siege * 2 + $row->unentschieden) / ($spiele_gesamt * 2)) * 100) . "%" : "-"; ?></td>
<td nowrap style="text-align: center"><?php echo $row->siege; ?></td> <td nowrap style="text-align: center"><?php echo $row->siege; ?></td>
<td nowrap style="text-align: center"><?php echo $row->unentschieden; ?></td> <td nowrap style="text-align: center"><?php echo $row->unentschieden; ?></td>
<td nowrap style="text-align: center"><?php echo $row->niederlagen; ?></td> <td nowrap style="text-align: center"><?php echo $row->niederlagen; ?></td>
@@ -299,7 +299,7 @@ COM_SPORTSMANAGER_PLAYER_STATISTICS="Spielerstatistiken"
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="LI" COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="LI"
COM_SPORTSMANAGER_WON="gewonnen" COM_SPORTSMANAGER_WON="gewonnen"
COM_SPORTSMANAGER_LOST="verloren" COM_SPORTSMANAGER_LOST="verloren"
COM_SPORTSMANAGER_RATE="Quote" COM_SPORTSMANAGER_RATE="Siegquote"
COM_SPORTSMANAGER_RATE_SHORTCUT="Q" COM_SPORTSMANAGER_RATE_SHORTCUT="Q"
COM_SPORTSMANAGER_NO_CLUB="Kein Verein" COM_SPORTSMANAGER_NO_CLUB="Kein Verein"
COM_SPORTSMANAGER_RATING="Wertung" COM_SPORTSMANAGER_RATING="Wertung"
@@ -299,7 +299,7 @@ COM_SPORTSMANAGER_PLAYER_STATISTICS="Player statistics"
COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="PI" COM_SPORTSMANAGER_PERFORMANCE_INDEX_SHORTCUT="PI"
COM_SPORTSMANAGER_WON="won" COM_SPORTSMANAGER_WON="won"
COM_SPORTSMANAGER_LOST="lost" COM_SPORTSMANAGER_LOST="lost"
COM_SPORTSMANAGER_RATE="Rate" COM_SPORTSMANAGER_RATE="Winning rate"
COM_SPORTSMANAGER_RATE_SHORTCUT="R" COM_SPORTSMANAGER_RATE_SHORTCUT="R"
COM_SPORTSMANAGER_NO_CLUB="No club" COM_SPORTSMANAGER_NO_CLUB="No club"
COM_SPORTSMANAGER_RATING="Rating" COM_SPORTSMANAGER_RATING="Rating"