Compare commits

..

32 Commits

Author SHA1 Message Date
MarvinF 287dcb0074 Merge pull request #224 from Deutscher-Tischfussballbund/sportsmanager2-stage
stage to prod
2025-11-17 17:16:48 +01:00
MarvinF 2e596dfcaa Merge branch 'sportsmanager2-prod' into sportsmanager2-stage 2025-11-17 17:16:28 +01:00
MarvinF 6c96125da4 Merge pull request #223 from Deutscher-Tischfussballbund/sportsmanager2-dev
dev to stage merge
2025-11-17 17:15:39 +01:00
MarvinF 01c7e5bb63 Merge branch 'sportsmanager2-stage' into sportsmanager2-dev 2025-11-17 17:15:00 +01:00
MarvinF 0116fd0860 Merge pull request #222 from Deutscher-Tischfussballbund/sportsmanager2-v230
Small design fixes
2025-11-16 20:17:39 +01:00
Jürgen Meyer ec61daa5c7 Kleine kosmetsiche Korrekturen 2025-11-15 11:28:53 +01:00
MarvinF e692edcb99 Merge pull request #220 from Deutscher-Tischfussballbund/sportsmanager2-issue217
Sportsmanager2 issue217
2025-11-14 11:25:37 +01:00
Marvin Flock c1196c9fd9 Merge branch 'sportsmanager2-dev' into sportsmanager2-issue217
# Conflicts:
#	src/structure/components/com_sportsmanager/database/update.php
2025-11-14 11:25:01 +01:00
MarvinF 4cc403536e Merge pull request #219 from Deutscher-Tischfussballbund/sportsmanager2-issue192
Playoffs optimization: KO games with game number and matchday title
2025-11-14 11:20:19 +01:00
Jürgen Meyer 1032af51f5 Kleine Korrektur 2025-11-14 07:28:36 +01:00
Jürgen Meyer 33d748303d Bei eintägiger Veranstaltung wird Datum in Formular Disziplin versteckt 2025-11-14 07:18:06 +01:00
Jürgen Meyer 331d4cfd85 Kleine Korrektur 2025-11-14 06:38:07 +01:00
Jürgen Meyer 6b1aa25c1b Comments in Review abgearbeitet 2025-11-14 06:33:11 +01:00
MarvinF 6b9f81f1c7 Merge pull request #221 from Deutscher-Tischfussballbund/sportsmanager2-issue218
MonsterDYP imports throw error
2025-11-13 21:52:06 +01:00
Jürgen Meyer e498981bc4 Datumsabgleich zwischen Turnier und Turnierdisziplin optimiert. 2025-11-13 17:13:43 +01:00
Jürgen Meyer 54d73a61e0 Hilfsausgabe gelöscht 2025-11-13 10:55:15 +01:00
Jürgen Meyer bd491add2e Unterdrückung der Speicherung von Turnierspielen bei Monstr-DYP 2025-11-13 10:51:11 +01:00
Jürgen Meyer 30c8ba9bfa Erweiterter Export für STFV 2025-11-12 11:56:35 +01:00
Jürgen Meyer 555f1de1b5 Verbandskürzel zu Einstellungen hinzugefügt 2025-11-12 11:17:21 +01:00
Jürgen Meyer a823e029d0 Live-Ticker angepasst 2025-11-10 16:32:19 +01:00
Jürgen Meyer 5627282a53 Vorbelegung Spielnummer entfernt. 2025-11-10 15:39:11 +01:00
Jürgen Meyer d73d081780 Ansicht Begegnungen im Frontend überarbeitet 2025-11-05 16:44:32 +01:00
Jürgen Meyer e3bd06257d Kleinen Programmierfehler beseitigt. 2025-11-05 12:43:32 +01:00
Jürgen Meyer 2a87c93c17 Anischt Begegnungen im admin-Bereich überarbeitet 2025-11-05 12:36:29 +01:00
Jürgen Meyer 5fafcace6b Überarbeitung Teamsport Spieltag erzeugen 2025-11-04 21:30:58 +01:00
MarvinF 12fd3a3ff0 Merge pull request #215 from Deutscher-Tischfussballbund/sportsmanager2-issue214
Add background color on hover for tournament trees
2025-11-04 18:47:30 +01:00
Jürgen Meyer 885d6a3191 Überarbeitung Begegnung hinzufügen bzw. editieren 2025-11-04 18:39:08 +01:00
MarvinF c50833ebe4 Merge pull request #216 from Deutscher-Tischfussballbund/sportsmanager2-issue213
Anzahl Kategorein auf 100 erhöht.
2025-11-04 00:05:18 +01:00
Jürgen Meyer 8242bd09cc Anzahl Kategorien Spielerstatistiken auf 100 erhöht 2025-11-03 15:32:14 +01:00
Jürgen Meyer 3886cc88d3 Anzahl Sortierreihenfolge Team Veranstaltungen auf 100 gesetzt. 2025-11-03 12:25:34 +01:00
Jürgen Meyer 96eff9f189 Anzahl Kategorein auf 100 erhöht. 2025-11-03 12:18:31 +01:00
Jürgen Meyer 1c2a0abcc2 Hintergrundfarbe bei Mouseover in Turnierbaum 2025-11-03 11:42:34 +01:00
7 changed files with 433 additions and 189 deletions
@@ -672,7 +672,8 @@ function adminEinstellungen(): void
redirectSportsManagerURL('&task=admin_uebersicht'); redirectSportsManagerURL('&task=admin_uebersicht');
} }
$basis_spielernr = $db->escape(trim($jInput->get('basis_spielernr', '', 'RAW'))); $verbands_kuerzel = $db->escape(trim($jInput->get('verbands_kuerzel', '', 'RAW')));
$basis_spielernr = $db->escape(trim($jInput->get('basis_spielernr', '', 'RAW')));
$ansprechpartner_ausblenden = $jInput->get('ansprechpartner_ausblenden', 0, 'INT'); $ansprechpartner_ausblenden = $jInput->get('ansprechpartner_ausblenden', 0, 'INT');
$ansprechpartner_spielerdaten = $jInput->get('ansprechpartner_spielerdaten', 0, 'INT'); $ansprechpartner_spielerdaten = $jInput->get('ansprechpartner_spielerdaten', 0, 'INT');
$ansprechpartner_importieren = $jInput->get('ansprechpartner_importieren', 0, 'INT'); $ansprechpartner_importieren = $jInput->get('ansprechpartner_importieren', 0, 'INT');
@@ -690,6 +691,14 @@ function adminEinstellungen(): void
$api_push_key = $jInput->get('api_push_key', '', 'RAW'); $api_push_key = $jInput->get('api_push_key', '', 'RAW');
$query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'verbands_kuerzel'"
. ", wert = '$verbands_kuerzel'";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "REPLACE #__sportsmanager_einstellungen" $query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'basis_spielernr'" . "\n SET name = 'basis_spielernr'"
. ", wert = '$basis_spielernr'"; . ", wert = '$basis_spielernr'";
@@ -4628,11 +4637,13 @@ function adminKategorien(): void
$kategorien[6] = array(); $kategorien[6] = array();
$kategorien[7] = array(); $kategorien[7] = array();
$anzahl = array(0,50,100,50,50,100,50,50);
foreach ($rows as $row) foreach ($rows as $row)
$kategorien[$row->typ][$row->nummer] = $row->bezeichnung; $kategorien[$row->typ][$row->nummer] = $row->bezeichnung;
for ($typ = 1; $typ <= 7; $typ++) { for ($typ = 1; $typ <= 7; $typ++) {
for ($nummer = 1; $nummer <= 50; $nummer++) { for ($nummer = 1; $nummer <= $anzahl[$typ]; $nummer++) {
$bezeichnung = $db->escape($jInput->get('bezeichnung_' . $typ . '_' . $nummer, '', 'RAW')); $bezeichnung = $db->escape($jInput->get('bezeichnung_' . $typ . '_' . $nummer, '', 'RAW'));
if (empty($bezeichnung)) { if (empty($bezeichnung)) {
if (isset($kategorien[$typ][$nummer])) { if (isset($kategorien[$typ][$nummer])) {
@@ -7813,7 +7824,12 @@ function adminEditBegegnung(): void
. "\n FROM #__sportsmanager_spielort" . "\n FROM #__sportsmanager_spielort"
. "\n ORDER BY ortsname, name, ortsteil"; . "\n ORDER BY ortsname, name, ortsteil";
$spielorte = loadObjectList($db, $query); $spielorte = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminEditBegegnung($veranstaltung, $row, $id == null, $teams, $spielorte); $query = "SELECT spieltag_titel FROM #__sportsmanager_begegnung"
. "\n WHERE spieltag_titel IS NOT NULL"
. "\n GROUP BY spieltag_titel"
. "\n ORDER BY spieltag_titel;";
$auswahl_spieltagtitel = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminEditBegegnung($veranstaltung, $row, $id == null, $teams, $spielorte, $auswahl_spieltagtitel);
HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen); HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen);
} }
@@ -7837,6 +7853,8 @@ function adminEditBegegnung(): void
$datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT'))); $datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT')));
$uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT'))); $uhrzeit = normalisierteUhrzeit(sprintf(" %02d-%02d-00", $jInput->get('uhrzeit_stunden', 0, 'INT'), $jInput->get('uhrzeit_minuten', 0, 'INT')));
$zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit); $zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
$spiel_nr = $jInput->get('spiel_nr', 0, 'INT');
$spieltag_titel = $db->escape(trim($jInput->get('spieltag_titel', '', 'RAW')));
$heim_team_id = $jInput->get('heim_team_id', 0, 'INT'); $heim_team_id = $jInput->get('heim_team_id', 0, 'INT');
$gast_team_id = $jInput->get('gast_team_id', 0, 'INT'); $gast_team_id = $jInput->get('gast_team_id', 0, 'INT');
$spielort_id = $jInput->get('spielort_id', 0, 'INT'); $spielort_id = $jInput->get('spielort_id', 0, 'INT');
@@ -7879,9 +7897,11 @@ function adminEditBegegnung(): void
$begegnung = null; $begegnung = null;
$user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id; $user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
if ($id == 0) { if ($id == 0) {
$query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id, tisch, nichtraucherschutz)" $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id, tisch, nichtraucherschutz)"
. "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ", '$tisch', '$nichtraucherschutz');"; . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL")
$db->setQuery($query); . "\n , '$spieltag_titel', " . ($spiel_nr != 0 ? "'$spiel_nr'" : "NULL") . ", '$heim_team_id', '$gast_team_id'"
. "\n , " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ", '$tisch', '$nichtraucherschutz');";
$db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
@@ -7915,10 +7935,15 @@ function adminEditBegegnung(): void
} }
} }
if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id || $begegnung->zeitpunkt != $zeitpunkt || $begegnung->spieltag != $runde || $begegnung->spielort_id != $spielort_id || (empty($begegnung->tisch) != empty($tisch) || $begegnung->tisch != $tisch) || $begegnung->nichtraucherschutz != $nichtraucherschutz) { if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id ||
$begegnung->zeitpunkt != $zeitpunkt || $begegnung->spieltag != $runde || $begegnung->spiel_nr != $spiel_nr ||
$begegnung->spieltag_titel != $spieltag_titel || $begegnung->spielort_id != $spielort_id || (empty($begegnung->tisch) != empty($tisch) ||
$begegnung->tisch != $tisch) || $begegnung->nichtraucherschutz != $nichtraucherschutz) {
$query = "UPDATE #__sportsmanager_begegnung" $query = "UPDATE #__sportsmanager_begegnung"
. "\n SET zeitpunkt = " . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . "," . "\n SET zeitpunkt = " . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ","
. "\n spieltag = " . ($runde != null ? "'$runde'" : "NULL") . "," . "\n spieltag = " . ($runde != null ? "'$runde'" : "NULL") . ","
. "\n spieltag_titel = '$spieltag_titel',"
. "\n spiel_nr = " .($spiel_nr != 0 ? "'$spiel_nr'" : "NULL") . ","
. "\n heim_team_id = '$heim_team_id'," . "\n heim_team_id = '$heim_team_id',"
. "\n gast_team_id = '$gast_team_id'," . "\n gast_team_id = '$gast_team_id',"
. "\n spielort_id = " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . "," . "\n spielort_id = " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ","
@@ -9716,7 +9741,12 @@ function adminBegegnungenRundeErzeugenForm(): void
. "\n FROM #__sportsmanager_spielort" . "\n FROM #__sportsmanager_spielort"
. "\n ORDER BY ortsname, name, ortsteil"; . "\n ORDER BY ortsname, name, ortsteil";
$spielorte = loadObjectList($db, $query); $spielorte = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte); $query = "SELECT spieltag_titel FROM #__sportsmanager_begegnung"
. "\n WHERE spieltag_titel IS NOT NULL"
. "\n GROUP BY spieltag_titel"
. "\n ORDER BY spieltag_titel;";
$auswahl_spieltagtitel = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte, $auswahl_spieltagtitel);
} }
#[NoReturn] function adminBegegnungenRundeErzeugen(): void #[NoReturn] function adminBegegnungenRundeErzeugen(): void
@@ -9749,6 +9779,7 @@ function adminBegegnungenRundeErzeugenForm(): void
} }
$rundentyp = $jInput->get('rundentyp', -1, 'INT'); $rundentyp = $jInput->get('rundentyp', -1, 'INT');
$runde = max(min(abs($jInput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1); $runde = max(min(abs($jInput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
$spieltag_titel = $db->escape(trim($jInput->get('spieltag_titel', '', 'RAW')));
$platzierung_ende = max(min(abs($jInput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1); $platzierung_ende = max(min(abs($jInput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
if ($rundentyp >= 10000) if ($rundentyp >= 10000)
@@ -9768,8 +9799,10 @@ function adminBegegnungenRundeErzeugenForm(): void
$teamIds[$i] = $jInput->get('team_id_' . $i, 0, 'INT'); $teamIds[$i] = $jInput->get('team_id_' . $i, 0, 'INT');
$spielort_ids = array(); $spielort_ids = array();
for ($i = 1; $i <= $anzahlteams; $i += 2) for ($i = 1; $i <= $anzahlteams; $i += 2){
$spielort_ids[$i] = $jInput->get('spielort_id_' . $i, 0, 'INT'); $spielort_ids[$i] = $jInput->get('spielort_id_' . $i, 0, 'INT');
$spiel_nr[$i] = $jInput->get('spiel_nr_' . $i, 0, 'INT');
}
for ($teamNr = 1; $teamNr < $anzahlteams; $teamNr += 2) { for ($teamNr = 1; $teamNr < $anzahlteams; $teamNr += 2) {
$heim_team_id = $teamIds[$teamNr]; $heim_team_id = $teamIds[$teamNr];
@@ -9801,14 +9834,15 @@ function adminBegegnungenRundeErzeugenForm(): void
$zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($heim_team->heimspiel_uhrzeit / 100), $heim_team->heimspiel_uhrzeit % 100); $zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($heim_team->heimspiel_uhrzeit / 100), $heim_team->heimspiel_uhrzeit % 100);
} }
$query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id)" $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id)"
. "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_ids[$teamNr] != 0 ? "'$spielort_ids[$teamNr]'" : "NULL") . ");"; . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL")
$db->setQuery($query); . "\n , '$spieltag_titel', " . ($spiel_nr[$teamNr] != 0 ? "'$spiel_nr[$teamNr]'" : "NULL")
. "\n , '$heim_team_id', '$gast_team_id', " . ($spielort_ids[$teamNr] != 0 ? "'$spielort_ids[$teamNr]'" : "NULL") . ");";
$db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
} }
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
} }
@@ -10419,7 +10453,13 @@ function adminBegegnungenExportForm(): void
if ($export == "spielplan" or $export == "spielberichte") { if ($export == "spielplan" or $export == "spielberichte") {
$query = " $query = "
SELECT t1.begegnung_id AS ID, t5.saisonbezeichnung AS Saison, SELECT t1.begegnung_id AS ID, ";
if (einstellungswert("verbands_kuerzel") == "STFV"){
$query .= "
CONCAT(t5.saisonbezeichnung,LPAD(t4.kategorie,2,'0'),LPAD(t1.spieltag,2,'0'),LPAD(IFNULL(t1.spiel_nr, '0'),2,'0')) AS stfv_id, ";
}
$query .= "
t5.saisonbezeichnung AS Saison,
t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast, t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast,
t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore,
t1.gast_punkte AS Gast_Tore, t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_punkte AS Gast_Tore, t1.heim_spielpunkte AS Heim_Satzpunkte,
@@ -10430,7 +10470,7 @@ function adminBegegnungenExportForm(): void
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
LEFT JOIN #__sportsmanager_saison AS t5 ON t4.saison_id = t5.saison_id LEFT JOIN #__sportsmanager_saison AS t5 ON t4.saison_id = t5.saison_id
WHERE t4.veranstaltung_id = " . $veranstaltungId . " WHERE t4.veranstaltung_id = " . $veranstaltungId . "
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.zeitpunkt; ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr, t1.zeitpunkt;
"; ";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
@@ -10510,7 +10550,7 @@ function adminBegegnungenExportForm(): void
} }
$dateiname = "Spielberichte " . $veranstaltung->bezeichnung; $dateiname = "Spielberichte " . $veranstaltung->bezeichnung;
} }
$dateiname .= ".csv"; $dateiname .= ".csv";
$dateiname = bereinigterDateiname($dateiname); $dateiname = bereinigterDateiname($dateiname);
ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
@@ -10518,12 +10558,12 @@ function adminBegegnungenExportForm(): void
Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
Header('Content-Disposition: attachment; filename="' . $dateiname . '"'); Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
Header("Pragma: no-cache"); Header("Pragma: no-cache");
$data = ""; $data = "";
$trennzeichen = ";"; $trennzeichen = ";";
$spalte = 0; $spalte = 0;
$header = ""; $header = "";
foreach ($rows[0] as $field => $value) { foreach ($rows[0] as $field => $value) {
if ($spalte != 0) { if ($spalte != 0) {
$header .= $trennzeichen; $header .= $trennzeichen;
@@ -10543,9 +10583,9 @@ function adminBegegnungenExportForm(): void
} }
$data .= trim($line) . "\n"; $data .= trim($line) . "\n";
} }
echo $header . "\n" . utf8_decode($data); echo $header . "\n" . utf8_decode($data);
die(); die();
} }
@@ -10590,11 +10630,11 @@ function adminEditTurnier(): void
HTML_sportsmanager_admin::adminEditTurnier($row, $veranstalter, $saisons, $vorlage, $users, $berechtigt_fuer_turnier, $kategorien); HTML_sportsmanager_admin::adminEditTurnier($row, $veranstalter, $saisons, $vorlage, $users, $berechtigt_fuer_turnier, $kategorien);
} }
#[NoReturn] function adminSaveTurnier(): void function adminSaveTurnier(): void
{ {
$db = getDatabase(); $db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input; $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$Fehlertext = "";
if (!benutzerZugriff("turniere_aendern")) if (!benutzerZugriff("turniere_aendern"))
keinZugriff(); keinZugriff();
@@ -10608,7 +10648,9 @@ function adminEditTurnier(): void
$saison_id = $jInput->get('saison_id', 0, 'INT'); $saison_id = $jInput->get('saison_id', 0, 'INT');
$turnierort = $db->escape(trim($jInput->get('turnierort', '', 'RAW'))); $turnierort = $db->escape(trim($jInput->get('turnierort', '', 'RAW')));
$erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT'))); $erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
$mehrtaegig = $jInput->get('mehrtaegig', 0, 'INT'); if (!validateDate($erster_tag,'Y-m-d'))
$Fehlertext = "Bitte g&uuml;ltiges Datum eingeben";
$mehrtaegig = $jInput->get('mehrtaegig', 0, 'INT');
$reminder_count = $jInput->get('reminder_count', 0, 'INT'); $reminder_count = $jInput->get('reminder_count', 0, 'INT');
if (!$mehrtaegig) if (!$mehrtaegig)
$letzter_tag = $erster_tag; $letzter_tag = $erster_tag;
@@ -10623,6 +10665,11 @@ function adminEditTurnier(): void
$berechtigt_fuer_turnier_user_ids[] = $berechtigt_user_id; $berechtigt_fuer_turnier_user_ids[] = $berechtigt_user_id;
} }
if ($Fehlertext != ""){
echo "<span style='display: inline-block; background: red; color: white;vertical-align: middle;'>$Fehlertext</span>\n";
return;
}
if ($vorlage) { if ($vorlage) {
$vorlage_id = $id; $vorlage_id = $id;
$id = 0; $id = 0;
@@ -10664,6 +10711,15 @@ function adminEditTurnier(): void
. "\n reminder_count = '$reminder_count'" . "\n reminder_count = '$reminder_count'"
. "\n WHERE turnier_id = $id"; . "\n WHERE turnier_id = $id";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
if ($letzter_tag == $erster_tag){
$query = "UPDATE #__sportsmanager_turnierdisziplin"
. "\n SET beginn = CONCAT('$erster_tag', ' ', TIME(beginn))";
}
$db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
@@ -11948,6 +12004,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
} }
$turniersystemVorrunde = $matchingNodes->item(0)->getAttribute("system");
} }
if ($disziplinZusatzrunde != null) { if ($disziplinZusatzrunde != null) {
@@ -11958,6 +12015,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
} }
$turniersystemZusatzrunde = $matchingNodes->item(0)->getAttribute("system");
} }
if ($disziplinZusatzrunde2 != null) { if ($disziplinZusatzrunde2 != null) {
@@ -11968,6 +12026,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
} }
$turniersystemZusatzrunde2 = $matchingNodes->item(0)->getAttribute("system");
} }
$matchingNodes = $disziplin->getElementsByTagName("disziplin"); $matchingNodes = $disziplin->getElementsByTagName("disziplin");
@@ -11977,6 +12036,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei darf nur eine Disziplin enthalten."); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei darf nur eine Disziplin enthalten.");
} }
$turniersystemHauptrunde = $matchingNodes->item(0)->getAttribute("system");
// Spieler-Ids über Spielerliste ermitteln // Spieler-Ids über Spielerliste ermitteln
$meldungenSpieler = array(); $meldungenSpieler = array();
@@ -12257,7 +12317,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
// Spiele speichern // Spiele speichern
$totalVorrunde = 0; $totalVorrunde = 0;
if ($disziplinVorrunde != null) { if ($disziplinVorrunde != null && $turniersystemVorrunde != "Monster-DYP") {
$matchingNodes = $disziplinVorrunde->getElementsByTagName("runde"); $matchingNodes = $disziplinVorrunde->getElementsByTagName("runde");
if ($matchingNodes != null) { if ($matchingNodes != null) {
$totalVorrunde = $matchingNodes->length; $totalVorrunde = $matchingNodes->length;
@@ -12305,7 +12365,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)" $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
. "\n VALUES ('$id', '$spielNr', '$rundenNr', '10', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");"; . "\n VALUES ('$id', '$spielNr', '$rundenNr', '10', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
@@ -12332,7 +12392,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
// Spiele speichern // Spiele speichern
if ($disziplinZusatzrunde != null) { if ($disziplinZusatzrunde != null && $turniersystemZusatzrunde != "Monster-DYP") {
$matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde"); $matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde");
if ($matchingNodes != null) { if ($matchingNodes != null) {
$totalZusatzrunde = $matchingNodes->length; $totalZusatzrunde = $matchingNodes->length;
@@ -12406,7 +12466,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
// Spiele speichern // Spiele speichern
if ($disziplinZusatzrunde2 != null) { if ($disziplinZusatzrunde2 != null && $turniersystemZusatzrunde2 != "Monster-DYP") {
$matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde"); $matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde");
if ($matchingNodes != null) { if ($matchingNodes != null) {
$totalZusatzrunde2 = $matchingNodes->length; $totalZusatzrunde2 = $matchingNodes->length;
@@ -12478,77 +12538,79 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
} }
} }
if ($turniersystemHauptrunde != "Monster-DYP") {
$matchingNodes = $disziplin->getElementsByTagName("runde");
if ($matchingNodes != null) {
$total = $matchingNodes->length;
$ergebnis_saetze_maximum = 0;
for ($i = 0; $i < $total; $i++) {
$currNode = $matchingNodes->item($i);
$rundenNr = $currNode->getAttribute("no");
$matchingNodes = $disziplin->getElementsByTagName("runde"); $spielNodes = $currNode->getElementsByTagName("spiel");
if ($matchingNodes != null) { foreach ($spielNodes as $spiel) {
$total = $matchingNodes->length; $heim = $spiel->getAttribute("heim");
$ergebnis_saetze_maximum = 0; $gast = $spiel->getAttribute("gast");
for ($i = 0; $i < $total; $i++) {
$currNode = $matchingNodes->item($i);
$rundenNr = $currNode->getAttribute("no");
$spielNodes = $currNode->getElementsByTagName("spiel"); $heimGewonneneSaetze = 0;
foreach ($spielNodes as $spiel) { $gastGewonneneSaetze = 0;
$heim = $spiel->getAttribute("heim"); $ergebnis_detailliert = "";
$gast = $spiel->getAttribute("gast"); $ergebnis_saetze = 0;
$satzNodes = $spiel->getElementsByTagName("satz");
foreach ($satzNodes as $satz) {
$heimPunkte = $satz->getAttribute("heim");
$gastPunkte = $satz->getAttribute("gast");
if ($heimPunkte > $gastPunkte)
$heimGewonneneSaetze++;
else if ($heimPunkte < $gastPunkte)
$gastGewonneneSaetze++;
if ($heimPunkte > 1 || $gastPunkte > 1) {
if (!empty($ergebnis_detailliert))
$ergebnis_detailliert .= " ";
$ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
$ergebnis_saetze++;
}
}
if ($ergebnis_saetze > $ergebnis_saetze_maximum)
$ergebnis_saetze_maximum = $ergebnis_saetze;
$heimGewonneneSaetze = 0; $heimId = $meldungenIds[$heim];
$gastGewonneneSaetze = 0; $gastId = $meldungenIds[$gast];
$ergebnis_detailliert = ""; $spielNr = $totalVorrunde + $i + 1;
$ergebnis_saetze = 0; if ($heimGewonneneSaetze > $gastGewonneneSaetze)
$satzNodes = $spiel->getElementsByTagName("satz"); $ergebnis = 1;
foreach ($satzNodes as $satz) { else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
$heimPunkte = $satz->getAttribute("heim"); $ergebnis = 2;
$gastPunkte = $satz->getAttribute("gast"); else
if ($heimPunkte > $gastPunkte) $ergebnis = 0;
$heimGewonneneSaetze++;
else if ($heimPunkte < $gastPunkte)
$gastGewonneneSaetze++;
if ($heimPunkte > 1 || $gastPunkte > 1) {
if (!empty($ergebnis_detailliert))
$ergebnis_detailliert .= " ";
$ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
$ergebnis_saetze++;
}
}
if ($ergebnis_saetze > $ergebnis_saetze_maximum)
$ergebnis_saetze_maximum = $ergebnis_saetze;
$heimId = $meldungenIds[$heim]; $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
$gastId = $meldungenIds[$gast]; . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
$spielNr = $totalVorrunde + $i + 1; $db->setQuery($query);
if ($heimGewonneneSaetze > $gastGewonneneSaetze) if (!$db->execute()) {
$ergebnis = 1; die($db->stderr(true));
else if ($heimGewonneneSaetze < $gastGewonneneSaetze) }
$ergebnis = 2; }
else }
$ergebnis = 0; if ($ergebnis_saetze_maximum > 0) {
$query = "INSERT #__sportsmanager_turnier_rundenstufe"
$query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)" . "\n SET bezeichnung = '',"
. "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");"; . "\n typ = null,"
$db->setQuery($query); . "\n runden = null,"
if (!$db->execute()) { . "\n tabellenwertung = null,"
die($db->stderr(true)); . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
} . "\n tore = null,"
} . "\n spielfelder = null,"
} . "\n turnierdisziplin_id = '$id',"
if ($ergebnis_saetze_maximum > 0) { . "\n rundenstufe = '1'";
$query = "INSERT #__sportsmanager_turnier_rundenstufe" $db->setQuery($query);
. "\n SET bezeichnung = ''," if (!$db->execute()) {
. "\n typ = null," die($db->stderr(true));
. "\n runden = null," }
. "\n tabellenwertung = null," }
. "\n saetze = " . "'$ergebnis_saetze_maximum'" . "," }
. "\n tore = null," }
. "\n spielfelder = null,"
. "\n turnierdisziplin_id = '$id',"
. "\n rundenstufe = '1'";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
}
} }
} }
} }
@@ -5364,7 +5364,7 @@ function updateDatabase(): void
die($db->stderr(true)); die($db->stderr(true));
} }
} }
if ($datenbank_version < 110) { if ($datenbank_version < 110) {
$aktueller_verein_aktualisieren = true; $aktueller_verein_aktualisieren = true;
@@ -5378,6 +5378,42 @@ function updateDatabase(): void
} }
} }
if ($datenbank_version < 111) {
$query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'verbands_kuerzel', wert = 'tbe.';";
$db->setQuery( $query );
if (!$db->execute()) { die($db->stderr(true)); }
$query = "UPDATE #__sportsmanager_einstellungen"
. "\n SET wert = '111'"
. "\n WHERE name = 'datenbank_version'";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
if ($datenbank_version < 112) {
// Korrektur Startuhrzeit in sportsmanager_turnierdisziplin bei eintägigen Veranstaltungen
$query = "UPDATE #__sportsmanager_turnierdisziplin td"
. "\n JOIN #__sportsmanager_turnier t ON td.turnier_id = t.turnier_id"
. "\n SET td.beginn = CONCAT(t.erster_tag, ' ', TIME(td.beginn))"
. "\n WHERE t.erster_tag = t.letzter_tag;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "UPDATE #__sportsmanager_einstellungen"
. "\n SET wert = '112'"
. "\n WHERE name = 'datenbank_version'";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
if ($termin_aktionen_email_setzen) { if ($termin_aktionen_email_setzen) {
$query = "SELECT aktion_user_id, termin_aktion_id" $query = "SELECT aktion_user_id, termin_aktion_id"
. "\n FROM #__sportsmanager_termin_aktion"; . "\n FROM #__sportsmanager_termin_aktion";
@@ -1087,11 +1087,24 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
$monat = "..."; $monat = "...";
$spieltag = 0; $spieltag = 0;
$spielort_name = ""; $spielort_name = "";
$Spieltagname = "";
$Spieltagname_Buffer = "";
foreach ($rows as $row) { foreach ($rows as $row) {
$ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null; $ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null;
if ($zeitfenster == 0 && $veranstaltung != null) { if ($zeitfenster == 0 && $veranstaltung != null) {
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) { if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
if ($spieltag != $row->spieltag || $spielort_name != $row->spielort_name) {
if ($row->spieltag > 999)
$Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true));
else if ($veranstaltung->unterteilung == 1)
$Spieltagname = "Runde " . $row->spieltag;
else
$Spieltagname = "Spieltag " . $row->spieltag;
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
$Spieltagname .= " - " . $row->spieltag_titel;
if ($Spieltagname_Buffer != $Spieltagname || $spielort_name != $row->spielort_name) {
$spieltag = $row->spieltag; $spieltag = $row->spieltag;
$spielort_name = $row->spielort_name; $spielort_name = $row->spielort_name;
?> ?>
@@ -1105,13 +1118,14 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
echo htmlentities_utf8(Rundenbezeichnung($spieltag, $veranstaltung->unterteilung == 0)); echo htmlentities_utf8(Rundenbezeichnung($spieltag, $veranstaltung->unterteilung == 0));
if (!empty($row->spieltag_titel) && !empty($veranstaltung->spieltag_titel_zeigen)) if (!empty($row->spieltag_titel) && !empty($veranstaltung->spieltag_titel_zeigen))
echo "&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;" . $row->spieltag_titel; echo "&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;" . $row->spieltag_titel;
if (!empty($spielort_name)) if (!empty($spielort_name))
echo "<br />" . htmlentities_utf8($spielort_name); echo "<br />" . htmlentities_utf8($spielort_name);
?> ?>
</th> </th>
</tr> </tr>
<?php <?php
} }
$Spieltagname_Buffer = $Spieltagname;
} else if ($monat != substr($row->zeitpunkt, 0, 7)) { // Freundschaftsspiel } else if ($monat != substr($row->zeitpunkt, 0, 7)) { // Freundschaftsspiel
$monat = substr($row->zeitpunkt, 0, 7); $monat = substr($row->zeitpunkt, 0, 7);
if (strlen($monat) == 0) if (strlen($monat) == 0)
@@ -1311,8 +1325,11 @@ static function turnierbaumAnzeigen($veranstaltung,$begegnungen): void
$oben = $hoehe * pow(2, $runde) * $spiel + $offset; $oben = $hoehe * pow(2, $runde) * $spiel + $offset;
$links = ($breite + $abstand) * $runde; $links = ($breite + $abstand) * $runde;
echo "\n<div "; echo "\n<div ";
if ($begegnungen[$runde + 1][$spiel + 1]['link']) if ($begegnungen[$runde + 1][$spiel + 1]['link']){
echo "onclick=\"window.location.href='" . $begegnungen[$runde + 1][$spiel + 1]['link'] . "';\" "; echo "onclick=\"window.location.href='" . $begegnungen[$runde + 1][$spiel + 1]['link'] . "';\" ";
echo "onmouseover=\"this.style.backgroundColor='lightblue';\" ";
echo "onmouseout=\"this.style.backgroundColor='white';\" ";
}
echo "class='matchbox' style='top: " . $oben . "px; left: " . $links . "px;' echo "class='matchbox' style='top: " . $oben . "px; left: " . $links . "px;'
title='" . $begegnungen[$runde + 1][$spiel + 1]['tooltiptext'] . "'>"; title='" . $begegnungen[$runde + 1][$spiel + 1]['tooltiptext'] . "'>";
echo "<span class='" . $class['heim'] . "'>"; echo "<span class='" . $class['heim'] . "'>";
@@ -646,6 +646,18 @@ class HTML_sportsmanager_admin
<td nowrap style="width: 60%; vertical-align: top"> <td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table style="width: 100%"> <table style="width: 100%">
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="association_short_name"><?php echo Text::_('COM_SPORTSMANAGER_ASSOCIATION_SHORT_NAME'); ?>
:</label>
</td>
<td nowrap>
<input class="uk-select uk-form-width-medium" type="text" name="verbands_kuerzel"
id="association_short_name" size="16" maxlength="16" style="height: 36px;"
value="<?php if (isset($einstellungen["verbands_kuerzel"])) echo htmlentities_utf8($einstellungen["verbands_kuerzel"]); ?>"/>
</td>
</tr>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -5086,6 +5098,7 @@ class HTML_sportsmanager_admin
static function adminKategorien($kategorien): void static function adminKategorien($kategorien): void
{ {
global $params; global $params;
$anzahl = array(0,50,100,50,50,100,50,50);
?> ?>
<div <div
@@ -5127,7 +5140,7 @@ class HTML_sportsmanager_admin
</td> </td>
</tr> </tr>
<?php <?php
for ($nummer = 1; $nummer <= 50; $nummer++) { for ($nummer = 1; $nummer <= $anzahl[$typ]; $nummer++) {
?> ?>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
@@ -6034,11 +6047,11 @@ class HTML_sportsmanager_admin
<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" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 60%; vertical-align: top"> <td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -6046,8 +6059,8 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<input class="inputbox" type="text" name="bezeichnung" id="designation" <input class="uk-select uk-form-width-large" type="text" name="bezeichnung" id="designation"
size="50" maxlength="100" size="50" maxlength="100" style="height: 34px;"
value="<?php if ($spielerstatistik != null) echo htmlentities_utf8($spielerstatistik->bezeichnung); ?>"/> value="<?php if ($spielerstatistik != null) echo htmlentities_utf8($spielerstatistik->bezeichnung); ?>"/>
</td> </td>
</tr> </tr>
@@ -6076,7 +6089,7 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-medium" name="kategorie" <select class="uk-select uk-form-width-medium" name="kategorie"
id="category" size="1"> id="category" size="1">
<?php <?php
for ($i = 1; $i <= 50; $i++) { for ($i = 1; $i <= 100; $i++) {
echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "</option>"; echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "</option>";
} }
?> ?>
@@ -6092,7 +6105,7 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-medium" name="reihenfolge" id="order" <select class="uk-select uk-form-width-medium" name="reihenfolge" id="order"
size="1"> size="1">
<?php <?php
for ($i = 1; $i <= 50; $i++) { for ($i = 1; $i <= 100; $i++) {
echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "</option>"; echo "<option value=\"" . $i . "\"" . ($spielerstatistik != null ? ($spielerstatistik->reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "</option>";
} }
?> ?>
@@ -6192,7 +6205,7 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" 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(Text::_('COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE'), Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX'), Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2')); $typ = array(Text::_('COM_SPORTSMANAGER_POINTS_WON_LOST_DIFFERENCE'), Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX'), Text::_('COM_SPORTSMANAGER_PERFORMANCE_INDEX2'));
@@ -6208,7 +6221,7 @@ class HTML_sportsmanager_admin
<label for="type"><?php echo Text::_('COM_SPORTSMANAGER_TYPE'); ?>:</label> <label for="type"><?php echo Text::_('COM_SPORTSMANAGER_TYPE'); ?>:</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="typ" id="type" <select class="uk-select uk-form-width-large" name="typ" id="type"
size="1"> size="1">
<?php <?php
$bezeichnungen = array(0 => Text::_('COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS'), 1 => Text::_('COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES'), 2 => Text::_('COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES'), 3 => Text::_('COM_SPORTSMANAGER_STATISTICS_DOUBLES')); $bezeichnungen = array(0 => Text::_('COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS'), 1 => Text::_('COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_SINGLES'), 2 => Text::_('COM_SPORTSMANAGER_INDIVIDUAL_STATISTICS_DOUBLES'), 3 => Text::_('COM_SPORTSMANAGER_STATISTICS_DOUBLES'));
@@ -7161,7 +7174,7 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-medium" style='width: 350px;' name="kategorie" <select class="uk-select uk-form-width-medium" style='width: 350px;' name="kategorie"
id="category" size="1"> id="category" size="1">
<?php <?php
for ($i = 1; $i <= 50; $i++) { for ($i = 1; $i <= 100; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "</option>"; echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->kategorie == $i ? " selected" : "") : "") . ">" . $i . (isset($kategorien[$i]) ? htmlentities_utf8(" " . $kategorien[$i]) : "") . "</option>";
} }
?> ?>
@@ -7177,7 +7190,7 @@ class HTML_sportsmanager_admin
<select class="uk-select uk-form-width-medium" name="reihenfolge" id="order" <select class="uk-select uk-form-width-medium" name="reihenfolge" id="order"
size="1"> size="1">
<?php <?php
for ($i = 1; $i <= 50; $i++) { for ($i = 1; $i <= 100; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "</option>"; echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->reihenfolge == $i ? " selected" : "") : "") . ">" . $i . "</option>";
} }
?> ?>
@@ -8867,18 +8880,9 @@ class HTML_sportsmanager_admin
?> ?>
<table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>"> <table class="contentpaneopen<?php echo $params->get('pageclass_sfx'); ?>">
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>"> <tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
<?php <th nowrap style="text-align: left;"><strong><?php echo Text::_('COM_SPORTSMANAGER_SCHEDULE_DATE'); ?></strong></th>
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) { <th nowrap style="text-align: left;"><strong><?php echo Text::_('COM_SPORTSMANAGER_HOME_TEAM'); ?></strong></th>
?> <th nowrap style="text-align: left;"><strong><?php echo Text::_('COM_SPORTSMANAGER_GUEST_TEAM'); ?></strong></th>
<th nowrap>
<strong><?php echo $veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND'); ?></strong>
</th>
<?php
}
?>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_SCHEDULE_DATE'); ?></strong></th>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_HOME_TEAM'); ?></strong></th>
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_GUEST_TEAM'); ?></strong></th>
<th nowrap> <th nowrap>
<strong><?php echo $modus->punktetyp == 0 ? Text::_('COM_SPORTSMANAGER_GOALS') : Text::_('COM_SPORTSMANAGER_SETS'); ?></strong> <strong><?php echo $modus->punktetyp == 0 ? Text::_('COM_SPORTSMANAGER_GOALS') : Text::_('COM_SPORTSMANAGER_SETS'); ?></strong>
</th> </th>
@@ -8886,37 +8890,61 @@ class HTML_sportsmanager_admin
<th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_RESULT_DELAYS');?></strong></th> <th nowrap><strong><?php echo Text::_('COM_SPORTSMANAGER_GAME_RESULT_DELAYS');?></strong></th>
</tr> </tr>
<?php <?php
$k = 0;
$k = 0; $monat = "...";
$spieltag = -1; $Spieltagname = "";
$Spieltagname_Buffer = "";
foreach ($rows as $row) { foreach ($rows as $row) {
$ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null; $ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null;
?>
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
if ($row->spieltag > 999)
$Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true));
else if ($veranstaltung->unterteilung == 1)
$Spieltagname = "Runde " . $row->spieltag;
else
$Spieltagname = "Spieltag " . $row->spieltag;
if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
$Spieltagname .= " - " . $row->spieltag_titel;
if ($Spieltagname_Buffer != $Spieltagname){
?>
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>">
<td nowrap style="text-align: left; vertical-align: bottom; height: 36px; font-style: italic; font-size: 70%; font-weight: 600;">
<?php echo $Spieltagname; ?>
</td>
</tr>
<?php
}
$Spieltagname_Buffer = $Spieltagname;
} else if ($monat != substr($row->zeitpunkt, 0, 7)) {
$monat = substr($row->zeitpunkt, 0, 7);
if (strlen($monat) == 0)
$monatsbezeichnung = "N/A";
else {
$monatsname = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
$monatsbezeichnung = $monatsname[substr($monat, 5, 2) - 1] . " " . substr($monat, 0, 4);
}
?>
<tr>
<td nowrap height="4"></td>
</tr>
<tr class="sectiontableheader<?php echo $params->get('pageclass_sfx'); ?>" style="text-align: center">
<th nowrap><span style="font-size: 70%; "><i>
<?php echo htmlentities_utf8($monatsbezeichnung); ?></i></span>
</th>
</tr>
<?php
}
?>
<tr class="sectiontableentry<?php echo $k + 1; <tr class="sectiontableentry<?php echo $k + 1;
$k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>"> $k = ($k + 1) % 2; ?><?php echo $params->get('pageclass_sfx'); ?>">
<?php
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
?>
<td nowrap style="text-align: center;">
<a id="id<?php echo $row->begegnung_id; ?>"></a>
<?php
if ($veranstaltung->spieltag_titel_zeigen == 0){
if ($spieltag != $row->spieltag) {
$spieltag = $row->spieltag;
echo htmlentities_utf8(Rundenbezeichnung($spieltag, $veranstaltung->unterteilung == 0, true));
}
}
if ($veranstaltung->spieltag_titel_zeigen == 1){
if ($spieltag != $row->spieltag_titel) {
$spieltag = $row->spieltag_titel;
echo htmlentities_utf8($spieltag);
}
}
?>
</td>
<?php
}
?>
<td nowrap><a <td nowrap><a
href="<?php echo SportsManagerURL('&task=admin_begegnung_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->begegnung_id); ?>"> href="<?php echo SportsManagerURL('&task=admin_begegnung_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->begegnung_id); ?>">
<?php <?php
@@ -8964,7 +8992,7 @@ class HTML_sportsmanager_admin
} }
} }
static function adminEditBegegnung($veranstaltung, $row, $neuer_eintrag, $teams, $spielorte): void static function adminEditBegegnung($veranstaltung, $row, $neuer_eintrag, $teams, $spielorte, $auswahl_spieltagtitel): void
{ {
global $params; global $params;
?> ?>
@@ -8990,7 +9018,7 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="datum_tag" <select class="uk-select uk-form-width-xsmall" name="datum_tag"
id="schedule_date" size="1"> id="schedule_date" size="1">
<?php <?php
$datum = "0000-00-00"; $datum = "0000-00-00";
@@ -9004,7 +9032,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="datum_monat" size="1" <select class="uk-select uk-form-width-small" name="datum_monat" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>">
<?php <?php
$datum_monat = substr($datum, 5, 2); $datum_monat = substr($datum, 5, 2);
@@ -9015,7 +9043,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="datum_jahr" size="1" <select class="uk-select uk-form-width-small" name="datum_jahr" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>">
<?php <?php
$datum_jahr = substr($datum, 0, 4); $datum_jahr = substr($datum, 0, 4);
@@ -9025,7 +9053,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_stunden" <select class="uk-select uk-form-width-xsmall" name="uhrzeit_stunden"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>">
<?php <?php
@@ -9039,7 +9067,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_minuten" <select class="uk-select uk-form-width-xsmall" name="uhrzeit_minuten"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>">
<?php <?php
@@ -9105,7 +9133,48 @@ class HTML_sportsmanager_admin
</tr> </tr>
<?php <?php
} }
if ($veranstaltung->spieltag_titel_zeigen)
echo "<tr>";
else
echo "<tr style='display: none;'>";
?> ?>
<td nowrap style="width: 20%; text-align: right">
<label for="game_title"><?php echo Text::_('COM_SPORTSMANAGER_LABEL_GAME_TITLE'); ?>
:</label>
</td>
<td nowrap>
<input list="auswahl_spieltagtitel" class="uk-select uk-form-width-medium" type="text" name="spieltag_titel"
id="game_title" size="32" maxlength="20" style="height: 34px;width: 300px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
<datalist id="auswahl_spieltagtitel" >
<?php if ($auswahl_spieltagtitel){ ?>
<?php foreach($auswahl_spieltagtitel AS $titel){ ?>
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
<?php } ?>
<?php } ?>
</datalist>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="game_nr"><?php echo Text::_('COM_SPORTSMANAGER_LABEL_GAME_NUMBER'); ?>
:</label>
</td>
<td nowrap>
<?php if ($neuer_eintrag) {$row->spiel_nr = "";} ?>
<select class="uk-select uk-form-width-xsmall" id="game_nr" size="1"
title="Spielnummer (optional)" name="spiel_nr">
<option value=""></option>
<?php
for ($i = 1; $i <= 99; $i++)
{
echo "<option value=\"" . $i . "\"" . ($row->spiel_nr == $i ? " selected" : "") . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -9171,8 +9240,8 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<input class="inputbox" type="text" name="tisch" id="table" size="50" <input class="uk-select uk-form-width-medium" type="text" name="tisch" id="table" size="50"
maxlength="255" maxlength="255" style="height: 34px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->tisch); ?>"/> value="<?php if ($row != null) echo htmlentities_utf8($row->tisch); ?>"/>
</td> </td>
</tr> </tr>
@@ -9210,7 +9279,8 @@ class HTML_sportsmanager_admin
</div> </div>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button" <input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"
onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value) { alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/> onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value)
{ alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" <input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
class="button"/> class="button"/>
<input type="hidden" name="task" value="admin_begegnung_save"/> <input type="hidden" name="task" value="admin_begegnung_save"/>
@@ -10069,7 +10139,7 @@ class HTML_sportsmanager_admin
<?php <?php
} }
static function adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte): void static function adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte, $auswahl_spieltagtitel): void
{ {
global $params; global $params;
$anzahlteams = count($rows); $anzahlteams = count($rows);
@@ -10083,11 +10153,11 @@ class HTML_sportsmanager_admin
<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" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 60%; vertical-align: top"> <td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -10108,7 +10178,7 @@ class HTML_sportsmanager_admin
} }
} }
</script> </script>
<select class="uk-select uk-form-width-medium" name="datum_tag" <select class="uk-select uk-form-width-xsmall" name="datum_tag"
id="schedule_date" size="1" id="schedule_date" size="1"
onchange="tag_changed();"> onchange="tag_changed();">
<?php <?php
@@ -10128,7 +10198,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="datum_monat" size="1" <select class="uk-select uk-form-width-small" name="datum_monat" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>">
<?php <?php
$datum_monat = substr($datum, 5, 2); $datum_monat = substr($datum, 5, 2);
@@ -10139,7 +10209,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="datum_jahr" size="1" <select class="uk-select uk-form-width-small" name="datum_jahr" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>">
<?php <?php
$datum_jahr = substr($datum, 0, 4); $datum_jahr = substr($datum, 0, 4);
@@ -10149,7 +10219,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_stunden" <select class="uk-select uk-form-width-xsmall" name="uhrzeit_stunden"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>">
<?php <?php
@@ -10163,7 +10233,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_minuten" <select class="uk-select uk-form-width-xsmall" name="uhrzeit_minuten"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>">
<?php <?php
@@ -10231,7 +10301,30 @@ class HTML_sportsmanager_admin
} }
?> ?>
<?php <?php
if ($veranstaltung->spieltag_titel_zeigen)
echo "<tr>";
else
echo "<tr style='display: none;'>";
?>
<td nowrap style="width: 20%; text-align: right">
<label for="game_title"><?php echo Text::_('COM_SPORTSMANAGER_LABEL_GAME_TITLE'); ?>
:</label>
</td>
<td nowrap>
<input list="auswahl_spieltagtitel" class="uk-select uk-form-width-medium" type="text" name="spieltag_titel"
id="game_title" size="32" maxlength="20" style="height: 34px;width: 280px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
<datalist id="auswahl_spieltagtitel" >
<?php if ($auswahl_spieltagtitel){ ?>
<?php foreach($auswahl_spieltagtitel AS $titel){ ?>
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
<?php } ?>
<?php } ?>
</datalist>
</td>
</tr>
<?php
$spielnummer = "";
for ($teamnr = 1; $teamnr < $anzahlteams; $teamnr += 2) { for ($teamnr = 1; $teamnr < $anzahlteams; $teamnr += 2) {
?> ?>
<tr> <tr>
@@ -10239,6 +10332,16 @@ class HTML_sportsmanager_admin
<?php if ($teamnr == 1) echo Text::_('COM_SPORTSMANAGER_PAIRINGS') . ":"; ?> <?php if ($teamnr == 1) echo Text::_('COM_SPORTSMANAGER_PAIRINGS') . ":"; ?>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-xsmall" size="1" id="game_nr"
name="spiel_nr_<?php echo $teamnr; ?>" title="Spielnummer (optional)">
<option value=""></option>
<?php
for ($i = 1; $i <= 99; $i++)
{
echo "<option value=\"" . $i . "\"" . ($i == $spielnummer ? " selected " : "") . ">" . $i . "</option>";
}
?>
</select>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium"
name="team_id_<?php echo $teamnr; ?>" size="1" name="team_id_<?php echo $teamnr; ?>" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PAIRING_TEAM'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PAIRING_TEAM'); ?>">
@@ -10470,7 +10573,7 @@ class HTML_sportsmanager_admin
</td> </td>
<td nowrap> <td nowrap>
<input list="auswahl_rundentitel" class="uk-select uk-form-width-large" <input list="auswahl_rundentitel" class="uk-select uk-form-width-large"
style="height: 34px; text-align: left;" type="text" name="rundentitel" id="rundentitel" size="32" maxlength="32" style="height: 34px; width: 280px; text-align: left;" type="text" name="rundentitel" id="rundentitel" size="32" maxlength="20"
value="<?php echo $veranstaltung->titelVorschlag; ?>"/> value="<?php echo $veranstaltung->titelVorschlag; ?>"/>
<datalist id="auswahl_rundentitel" > <datalist id="auswahl_rundentitel" >
<?php if ($auswahl_rundentitel){ ?> <?php if ($auswahl_rundentitel){ ?>
@@ -11388,11 +11491,11 @@ class HTML_sportsmanager_admin
<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" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 60%; vertical-align: top"> <td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -11479,7 +11582,10 @@ class HTML_sportsmanager_admin
$datum = $row->erster_tag; $datum = $row->erster_tag;
else else
$datum = date("Y-m-d"); $datum = date("Y-m-d");
$datum_tag = substr($datum, 8, 2); $datum_tag = substr($datum, 8, 2);
if ($vorlage)
$datum_tag = "";
echo "<option value=\"\"></option>";
for ($i = 1; $i <= 31; $i++) { for ($i = 1; $i <= 31; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_tag == $i ? "selected" : "") . ">" . $i . "</option>"; echo "<option value=\"" . $i . "\" " . ($datum_tag == $i ? "selected" : "") . ">" . $i . "</option>";
} }
@@ -11490,6 +11596,9 @@ class HTML_sportsmanager_admin
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_TOURNAMENT_START_MONTH'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_TOURNAMENT_START_MONTH'); ?>">
<?php <?php
$datum_monat = substr($datum, 5, 2); $datum_monat = substr($datum, 5, 2);
if ($vorlage)
$datum_monat = "";
echo "<option value=\"\"></option>";
$monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER')); $monate = array(Text::_('COM_SPORTSMANAGER_JANUARY'), Text::_('COM_SPORTSMANAGER_FEBRUARY'), Text::_('COM_SPORTSMANAGER_MARCH'), Text::_('COM_SPORTSMANAGER_APRIL'), Text::_('COM_SPORTSMANAGER_MAY'), Text::_('COM_SPORTSMANAGER_JUNE'), Text::_('COM_SPORTSMANAGER_JULY'), Text::_('COM_SPORTSMANAGER_AUGUST'), Text::_('COM_SPORTSMANAGER_SEPTEMBER'), Text::_('COM_SPORTSMANAGER_OCTOBER'), Text::_('COM_SPORTSMANAGER_NOVEMBER'), Text::_('COM_SPORTSMANAGER_DECEMBER'));
for ($i = 1; $i <= 12; $i++) { for ($i = 1; $i <= 12; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_monat == $i ? "selected" : "") . ">" . htmlentities_utf8($monate[$i - 1]) . "</option>"; echo "<option value=\"" . $i . "\" " . ($datum_monat == $i ? "selected" : "") . ">" . htmlentities_utf8($monate[$i - 1]) . "</option>";
@@ -11729,17 +11838,26 @@ class HTML_sportsmanager_admin
static function adminEditTurnierdisziplin($turnier, $row, $ranglisten, $systeme): void static function adminEditTurnierdisziplin($turnier, $row, $ranglisten, $systeme): void
{ {
global $params; global $params;
if ($turnier->erster_tag == $turnier->letzter_tag)
$tag_zeigen = "none";
else
$tag_zeigen = "inline-block";
?> ?>
<style>
td {
padding: 3px;
}
</style>
<div <div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TOURNAMENT_DISCIPLINE'); ?><?php echo $row != null ? Text::_('COM_SPORTSMANAGER_CHANGING') : Text::_('COM_SPORTSMANAGER_ADD') ?><?php echo htmlentities_utf8($turnier->turnierbezeichnung . " (" . FormatiertesDatum($turnier->erster_tag, false) . " - " . FormatiertesDatum($turnier->letzter_tag, false) . ")"); ?></div> class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TOURNAMENT_DISCIPLINE'); ?>&nbsp;<?php echo $row != null ? Text::_('COM_SPORTSMANAGER_CHANGING') : Text::_('COM_SPORTSMANAGER_ADD') ?>&nbsp;<?php echo htmlentities_utf8($turnier->turnierbezeichnung . " (" . FormatiertesDatum($turnier->erster_tag, false) . " - " . FormatiertesDatum($turnier->letzter_tag, false) . ")"); ?></div>
<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" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 60%; vertical-align: top"> <td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -11802,8 +11920,8 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="datum_tag" <select class="uk-select uk-form-width-small" name="datum_tag"
id="date_begin" size="1"> id="date_begin" size="1" style="display: <?php echo $tag_zeigen; ?>">
<?php <?php
$datum = $turnier->erster_tag; $datum = $turnier->erster_tag;
if ($row != null) if ($row != null)
@@ -11816,7 +11934,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="datum_monat" size="1" <select class="uk-select uk-form-width-small" name="datum_monat" size="1" style="display: <?php echo $tag_zeigen; ?>"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>">
<?php <?php
$datum_monat = substr($datum, 5, 2); $datum_monat = substr($datum, 5, 2);
@@ -11827,7 +11945,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="datum_jahr" size="1" <select class="uk-select uk-form-width-small" name="datum_jahr" size="1" style="display: <?php echo $tag_zeigen; ?>"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>">
<?php <?php
$datum_jahr = substr($datum, 0, 4); $datum_jahr = substr($datum, 0, 4);
@@ -11837,7 +11955,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_stunden" <select class="uk-select uk-form-width-small" name="uhrzeit_stunden"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>">
<?php <?php
@@ -11851,7 +11969,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_minuten" <select class="uk-select uk-form-width-small" name="uhrzeit_minuten"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>">
<?php <?php
@@ -11908,7 +12026,8 @@ class HTML_sportsmanager_admin
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium"
name="rangliste_id_<?php echo $i; ?>" name="rangliste_id_<?php echo $i; ?>"
id="ranking_<?php echo $i; ?>" size="1"> id="ranking_<?php echo $i; ?>" size="1"
style="width: 480px;">
<option value="0"></option> <option value="0"></option>
<?php <?php
$rangliste_system_id = 0; $rangliste_system_id = 0;
@@ -11929,7 +12048,8 @@ class HTML_sportsmanager_admin
:</label> :</label>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium"
name="rangliste_system_id_<?php echo $i; ?>" name="rangliste_system_id_<?php echo $i; ?>"
id="system_<?php echo $i; ?>" size="1"> id="system_<?php echo $i; ?>" size="1"
style="width: 275px;">
<option <option
value="0"><?php echo Text::_('COM_SPORTSMANAGER_RANKING_SETTING'); ?></option> value="0"><?php echo Text::_('COM_SPORTSMANAGER_RANKING_SETTING'); ?></option>
<?php <?php
@@ -12004,7 +12124,7 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="voranmeldung_datum_tag" <select class="uk-select uk-form-width-small" name="voranmeldung_datum_tag"
id="appointment_date" id="appointment_date"
size="1"> size="1">
<?php <?php
@@ -12019,7 +12139,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-small"
name="voranmeldung_datum_monat" name="voranmeldung_datum_monat"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>">
@@ -12032,7 +12152,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-small"
name="voranmeldung_datum_jahr" name="voranmeldung_datum_jahr"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>">
@@ -12044,7 +12164,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-small"
name="voranmeldung_uhrzeit_stunden" name="voranmeldung_uhrzeit_stunden"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>">
@@ -12059,7 +12179,7 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-small"
name="voranmeldung_uhrzeit_minuten" name="voranmeldung_uhrzeit_minuten"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>">
@@ -40,8 +40,11 @@ class HTML_sportsmanager_ticker
continue; continue;
else else
$status = 'upcoming'; $status = 'upcoming';
$spieltag = Rundenbezeichnung($begegnung->spieltag, $begegnung->unterteilung == 0, false, true); if ($begegnung->spieltag_titel)
$gewinner = $begegnung->heim_spielpunkte > $begegnung->gast_spielpunkte ? 1 : ($begegnung->heim_spielpunkte < $begegnung->gast_spielpunkte ? 2 : 0); $spieltag = $begegnung->spieltag_titel;
else
$spieltag = Rundenbezeichnung($begegnung->spieltag, $begegnung->unterteilung == 0, false, true);
$gewinner = $begegnung->heim_spielpunkte > $begegnung->gast_spielpunkte ? 1 : ($begegnung->heim_spielpunkte < $begegnung->gast_spielpunkte ? 2 : 0);
$heim_name = $begegnung->heim_name; $heim_name = $begegnung->heim_name;
$gast_name = $begegnung->gast_name; $gast_name = $begegnung->gast_name;
$heim_spielpunkte = $begegnung->heim_spielpunkte; $heim_spielpunkte = $begegnung->heim_spielpunkte;
@@ -265,6 +265,7 @@ COM_SPORTSMANAGER_IN="in"
COM_SPORTSMANAGER_NATIONAL="Nationale" COM_SPORTSMANAGER_NATIONAL="Nationale"
COM_SPORTSMANAGER_INTERNATIONAL="Internationale" COM_SPORTSMANAGER_INTERNATIONAL="Internationale"
COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT="Spielernr." COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT="Spielernr."
COM_SPORTSMANAGER_ASSOCIATION_SHORT_NAME="Verbands-Kürzel"
COM_SPORTSMANAGER_BASIC_PLAYER_NUMBER_SHORT="Basis-Spielernr." COM_SPORTSMANAGER_BASIC_PLAYER_NUMBER_SHORT="Basis-Spielernr."
COM_SPORTSMANAGER_MESSAGES="Meldungen" COM_SPORTSMANAGER_MESSAGES="Meldungen"
COM_SPORTSMANAGER_TOURNAMENT_PLACEMENT="Turnierplatzierungen" COM_SPORTSMANAGER_TOURNAMENT_PLACEMENT="Turnierplatzierungen"
@@ -894,6 +895,8 @@ COM_SPORTSMANAGER_OPTIONAL_BUT_SAME_IN_DOUBLES="Optional, aber im Doppel keiner
COM_SPORTSMANAGER_REQUIRED="Erforderlich" COM_SPORTSMANAGER_REQUIRED="Erforderlich"
COM_SPORTSMANAGER_RESULT_ONLY="Nur Ergebnis" COM_SPORTSMANAGER_RESULT_ONLY="Nur Ergebnis"
COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d" COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d"
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Spiel Nr"
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Spieltag Titel"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Spieltermin verlegen" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Spieltermin verlegen"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nAlternative Termine:\n\n" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nAlternative Termine:\n\n"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nBitte alternative Termine vorschlagen unter %s" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nBitte alternative Termine vorschlagen unter %s"
@@ -265,6 +265,7 @@ COM_SPORTSMANAGER_IN="in"
COM_SPORTSMANAGER_NATIONAL="National" COM_SPORTSMANAGER_NATIONAL="National"
COM_SPORTSMANAGER_INTERNATIONAL="International" COM_SPORTSMANAGER_INTERNATIONAL="International"
COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT="Player number" COM_SPORTSMANAGER_PLAYER_NUMBER_SHORT="Player number"
COM_SPORTSMANAGER_ASSOCIATION_SHORT_NAME="Association short name"
COM_SPORTSMANAGER_BASIC_PLAYER_NUMBER_SHORT="Player number base" COM_SPORTSMANAGER_BASIC_PLAYER_NUMBER_SHORT="Player number base"
COM_SPORTSMANAGER_MESSAGES="Registrations" COM_SPORTSMANAGER_MESSAGES="Registrations"
COM_SPORTSMANAGER_TOURNAMENT_PLACEMENT="Tournament placements" COM_SPORTSMANAGER_TOURNAMENT_PLACEMENT="Tournament placements"
@@ -894,6 +895,8 @@ COM_SPORTSMANAGER_OPTIONAL_BUT_SAME_IN_DOUBLES="Optional but both or none in dou
COM_SPORTSMANAGER_REQUIRED="Required" COM_SPORTSMANAGER_REQUIRED="Required"
COM_SPORTSMANAGER_RESULT_ONLY="Result only" COM_SPORTSMANAGER_RESULT_ONLY="Result only"
COM_SPORTSMANAGER_GAME_NUMBER="Game %d" COM_SPORTSMANAGER_GAME_NUMBER="Game %d"
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Game nr"
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Gameday title"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Shift game appointment" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Shift game appointment"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="For match %s versus %s on %s in %s the game appointment is shifted by %s.\n\nAlternative appointments:\n\n" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="For match %s versus %s on %s in %s the game appointment is shifted by %s.\n\nAlternative appointments:\n\n"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="For match %s on %s in %s the game appointment is shifted by %s.\n\nPlease propose alternative appointments under %s" COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="For match %s on %s in %s the game appointment is shifted by %s.\n\nPlease propose alternative appointments under %s"