Merge pull request #145 from Deutscher-Tischfussballbund/sportsmanager2-issue052

Änderungen für issue #52, issue #131 und issue #143
This commit is contained in:
MarvinF
2025-09-02 00:23:13 +02:00
committed by GitHub
8 changed files with 1490 additions and 204 deletions
@@ -658,6 +658,7 @@ function adminEinstellungen(): void
$lizenz_anzeigen = $jInput->get('lizenz_anzeigen', 0, 'INT'); $lizenz_anzeigen = $jInput->get('lizenz_anzeigen', 0, 'INT');
$anzahl_mitglieder_zeigen = $jInput->get('anzahl_mitglieder_zeigen', 0, 'INT'); $anzahl_mitglieder_zeigen = $jInput->get('anzahl_mitglieder_zeigen', 0, 'INT');
$verband_anzeigen = $jInput->get('verband_anzeigen', 0, 'INT'); $verband_anzeigen = $jInput->get('verband_anzeigen', 0, 'INT');
$turnierbaum_zeigen = $jInput->get('turnierbaum_zeigen', 0, 'INT');
$termine_beantragen = $jInput->get('termine_beantragen', 0, 'INT'); $termine_beantragen = $jInput->get('termine_beantragen', 0, 'INT');
$spielerimport_persoenliche_daten_vorauswahl = $jInput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT'); $spielerimport_persoenliche_daten_vorauswahl = $jInput->get('spielerimport_persoenliche_daten_vorauswahl', 0, 'INT');
@@ -716,6 +717,14 @@ function adminEinstellungen(): void
die($db->stderr(true)); die($db->stderr(true));
} }
$query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'turnierbaum_zeigen'"
. ", wert = '$turnierbaum_zeigen'";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "REPLACE #__sportsmanager_einstellungen" $query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'ansprechpartner_ausblenden'" . "\n SET name = 'ansprechpartner_ausblenden'"
. ", wert = '$ansprechpartner_ausblenden'"; . ", wert = '$ansprechpartner_ausblenden'";
@@ -6095,6 +6104,7 @@ function adminEditVeranstaltung(): void
$tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT'); $tabellenwertung = $jInput->get('tabellenwertung', 0, 'INT');
$direktervergleich = $jInput->get('direktervergleich', 0, 'INT'); $direktervergleich = $jInput->get('direktervergleich', 0, 'INT');
$unterteilung = $jInput->get('unterteilung', 0, 'INT'); $unterteilung = $jInput->get('unterteilung', 0, 'INT');
$spieltag_titel_zeigen = $jInput->get('spieltag_titel_zeigen', 0, 'INT');
$elo_wertung = $jInput->get('elo_wertung', 0, 'INT'); $elo_wertung = $jInput->get('elo_wertung', 0, 'INT');
$logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW'))); $logo_url = $db->escape(trim($jInput->get('logo_url', '', 'RAW')));
$ticker_logo_url = $db->escape(trim($jInput->get('ticker_logo_url', '', 'RAW'))); $ticker_logo_url = $db->escape(trim($jInput->get('ticker_logo_url', '', 'RAW')));
@@ -6113,8 +6123,8 @@ function adminEditVeranstaltung(): void
$elo_aktualisieren = false; $elo_aktualisieren = false;
$spielerstatistik_aktualisieren = false; $spielerstatistik_aktualisieren = false;
if ($id == 0) { if ($id == 0) {
$query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", modus_id, verschieberegel_id, tabellenwertung, direktervergleich, unterteilung, elo_wertung, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES $query = "INSERT INTO #__sportsmanager_veranstaltung (veranstalter_id, saison_id, bezeichnung, erster_tag " . ($letzter_tag != null ? ", letzter_tag" : "") . ", modus_id, verschieberegel_id, tabellenwertung, direktervergleich, unterteilung, spieltag_titel_zeigen, elo_wertung, logo_url, ticker_logo_url, status, reihenfolge, kategorie) VALUES
('$veranstalterId', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$modus_id', '$verschieberegel_id', '$tabellenwertung', '$direktervergleich', '$unterteilung', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');"; ('$veranstalterId', '$saison_id', '$bezeichnung', '$erster_tag', " . ($letzter_tag != null ? "'$letzter_tag', " : "") . "'$modus_id', '$verschieberegel_id', '$tabellenwertung', '$direktervergleich', '$unterteilung', '$spieltag_titel_zeigen', '$elo_wertung', '$logo_url', '$ticker_logo_url', '$status', '$reihenfolge', '$kategorie');";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
@@ -6139,6 +6149,7 @@ function adminEditVeranstaltung(): void
. "\n tabellenwertung = '$tabellenwertung'," . "\n tabellenwertung = '$tabellenwertung',"
. "\n direktervergleich = '$direktervergleich'," . "\n direktervergleich = '$direktervergleich',"
. "\n unterteilung = '$unterteilung'," . "\n unterteilung = '$unterteilung',"
. "\n spieltag_titel_zeigen = '$spieltag_titel_zeigen',"
. "\n elo_wertung = '$elo_wertung'," . "\n elo_wertung = '$elo_wertung',"
. "\n logo_url = '$logo_url'," . "\n logo_url = '$logo_url',"
. "\n ticker_logo_url = '$ticker_logo_url'," . "\n ticker_logo_url = '$ticker_logo_url',"
@@ -6401,6 +6412,7 @@ function adminEditMannschaft(): void
$beschraenkter_zugriff_veranstaltungen_ids = $beschraenkter_zugriff_veranstaltungen ? benutzerVeranstaltungIdsModerator() : null; $beschraenkter_zugriff_veranstaltungen_ids = $beschraenkter_zugriff_veranstaltungen ? benutzerVeranstaltungIdsModerator() : null;
$teamname = $db->escape(trim($jInput->get('teamname', '', 'RAW'))); $teamname = $db->escape(trim($jInput->get('teamname', '', 'RAW')));
$teamname_kurz = $db->escape(trim($jInput->get('teamname_kurz', '', 'RAW')));
$platz = $jInput->get('platz', 0, 'INT'); $platz = $jInput->get('platz', 0, 'INT');
$verein_id = $jInput->get('verein_id', 0, 'INT'); $verein_id = $jInput->get('verein_id', 0, 'INT');
$tischtyp = $db->escape(trim($jInput->get('tischtyp', '', 'RAW'))); $tischtyp = $db->escape(trim($jInput->get('tischtyp', '', 'RAW')));
@@ -6434,8 +6446,9 @@ function adminEditMannschaft(): void
$veranstaltung = $rows[0]; $veranstaltung = $rows[0];
if ($id == 0) { if ($id == 0) {
$query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)" $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, teamname_kurz, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)"
. "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');"; . "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$teamname_kurz', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');";
echo $query;
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
@@ -6457,6 +6470,7 @@ function adminEditMannschaft(): void
$query = "UPDATE #__sportsmanager_team" $query = "UPDATE #__sportsmanager_team"
. "\n SET verein_id = " . ($verein_id != 0 ? "'$verein_id'" : "NULL") . "," . "\n SET verein_id = " . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ","
. "\n teamname = '$teamname'," . "\n teamname = '$teamname',"
. "\n teamname_kurz = '$teamname_kurz',"
. "\n tischtyp = '$tischtyp'," . "\n tischtyp = '$tischtyp',"
. "\n tischeigenschaften = '$tischeigenschaften'," . "\n tischeigenschaften = '$tischeigenschaften',"
. "\n heimspiel_wochentag = '$heimspiel_wochentag'," . "\n heimspiel_wochentag = '$heimspiel_wochentag',"
@@ -6682,6 +6696,7 @@ function mannschaftsgruppe_verknuepfen($quelle_team_id, $ziel_team_id, $mannscha
. "\n SET teamgruppe_id = '$teamgruppe_id'," . "\n SET teamgruppe_id = '$teamgruppe_id',"
. "\n verein_id = " . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . "," . "\n verein_id = " . ($team->verein_id == null ? "NULL" : "'$team->verein_id'") . ","
. "\n teamname = '" . $db->escape($team->teamname) . "'," . "\n teamname = '" . $db->escape($team->teamname) . "',"
. "\n teamname_kurz = '" . $db->escape($team->teamname_kurz) . "',"
. "\n tischtyp = '" . $db->escape($team->tischtyp) . "'," . "\n tischtyp = '" . $db->escape($team->tischtyp) . "',"
. "\n tischeigenschaften = '" . $db->escape($team->tischeigenschaften) . "'," . "\n tischeigenschaften = '" . $db->escape($team->tischeigenschaften) . "',"
. "\n heimspiel_wochentag = '" . $db->escape($team->heimspiel_wochentag) . "'," . "\n heimspiel_wochentag = '" . $db->escape($team->heimspiel_wochentag) . "',"
@@ -7701,7 +7716,7 @@ function adminBegegnungen(): void
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id" . "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id" . "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis AS t4 ON t1.begegnung_id = t4.begegnung_id"
. "\n WHERE t2.veranstaltung_id = $veranstaltungId" . "\n WHERE t2.veranstaltung_id = $veranstaltungId"
. "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, " : "") . "t1.zeitpunkt, heim_name"; . "\n ORDER BY " . (($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) ? "t1.spieltag, t1.spiel_nr, " : "") . "t1.zeitpunkt, heim_name";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminBegegnungen($veranstaltung, $modus, $rows); HTML_sportsmanager_admin::adminBegegnungen($veranstaltung, $modus, $rows);
} }
@@ -9281,8 +9296,8 @@ function adminBegegnungenGenerierenForm(): void
if ($spiele[$spieltag][$spielnr][0] > $anzahlteams || $spiele[$spieltag][$spielnr][1] > $anzahlteams) if ($spiele[$spieltag][$spielnr][0] > $anzahlteams || $spiele[$spieltag][$spielnr][1] > $anzahlteams)
continue; continue;
$heim_team_id = $teamIds[$spiele[$spieltag][$spielnr][0]]; $heim_team_id = $teamIds[trim($spiele[$spieltag][$spielnr][0])];
$gast_team_id = $teamIds[$spiele[$spieltag][$spielnr][1]]; $gast_team_id = $teamIds[trim($spiele[$spieltag][$spielnr][1])];
$heim_team = null; $heim_team = null;
foreach ($teams as $t) { foreach ($teams as $t) {
@@ -9323,6 +9338,7 @@ function adminBegegnungenGenerierenForm(): void
$Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt; $Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt;
$Begegnung[$Zeile]['heim_team_id'] = $heim_team_id; $Begegnung[$Zeile]['heim_team_id'] = $heim_team_id;
$Begegnung[$Zeile]['gast_team_id'] = $gast_team_id; $Begegnung[$Zeile]['gast_team_id'] = $gast_team_id;
$Begegnung[$Zeile]['spiel_nr'] = $spielnr;
$Zeile++; $Zeile++;
@@ -9348,8 +9364,9 @@ function adminBegegnungenGenerierenForm(): void
$Begegnung[$Zeile]['spieltag'] = $spieltag_nr; $Begegnung[$Zeile]['spieltag'] = $spieltag_nr;
$Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt; $Begegnung[$Zeile]['zeitpunkt'] = $zeitpunkt;
$Begegnung[$Zeile]['heim_team_id'] = $heim_team_id; $Begegnung[$Zeile]['heim_team_id'] = $gast_team_id;
$Begegnung[$Zeile]['gast_team_id'] = $gast_team_id; $Begegnung[$Zeile]['gast_team_id'] = $heim_team_id;
$Begegnung[$Zeile]['spiel_nr'] = $spielnr;
$Zeile++; $Zeile++;
} }
@@ -9358,12 +9375,12 @@ function adminBegegnungenGenerierenForm(): void
if ($datumsangaben and $teams_ok and $spieltage_ok) { if ($datumsangaben and $teams_ok and $spieltage_ok) {
$Zeile = 1; $Zeile = 1;
$query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, heim_team_id, gast_team_id) VALUES "; $query = "INSERT INTO #__sportsmanager_begegnung (spieltag, spiel_nr, zeitpunkt, heim_team_id, gast_team_id) VALUES ";
foreach ($Begegnung as $value) { foreach ($Begegnung as $value) {
if ($Zeile > 1) { if ($Zeile > 1) {
$query .= ", "; $query .= ", ";
} }
$query .= "(" . $value['spieltag'] . "," . ($value['zeitpunkt'] != NULL ? "'" . $value['zeitpunkt'] . "'" : "NULL") . "," . $value['heim_team_id'] . "," . $value['gast_team_id'] . ") "; $query .= "(" . $value['spieltag'] . "," . $value['spiel_nr'] . "," . ($value['zeitpunkt'] != NULL ? "'" . $value['zeitpunkt'] . "'" : "NULL") . "," . $value['heim_team_id'] . "," . $value['gast_team_id'] . ") ";
$Zeile++; $Zeile++;
} }
$query .= ";"; $query .= ";";
@@ -9411,9 +9428,34 @@ function adminBegegnungenImportierenForm(): void
HTML_sportsmanager_admin::adminBegegnungenImportieren($veranstaltung); HTML_sportsmanager_admin::adminBegegnungenImportieren($veranstaltung);
} }
function vergleich($text1, $text2): bool
{
$suchen = ["_","-"," "];
$ersetzen = ["","",""];
$begriffe = explode(",", $text2);
foreach($begriffe as $begriff)
{
$text1 = strtolower(str_replace($suchen,$ersetzen,$text1));
$begriff = strtolower(str_replace($suchen,$ersetzen,$begriff));
if ($text1 == $begriff) return true;
}
return false;
}
function erstelleZeitpunkt($datum_jahr, $datum_kw, $heimspiel_wochentag, $heimspiel_uhrzeit): bool|string
{
if (!empty($datum_jahr) && !empty($datum_kw) && !empty($heimspiel_wochentag) && !empty($heimspiel_uhrzeit))
{
$ts = getdate(mondaykw($datum_kw, $datum_jahr, $heimspiel_wochentag - 1));
return sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"],
floor($heimspiel_uhrzeit / 100), $heimspiel_uhrzeit % 100, 0);
}
else
return false;
}
function adminBegegnungenImportieren(): void function adminBegegnungenImportieren(): void
{ {
//Jürgen Meyer 07.03.2025
$db = getDatabase(); $db = getDatabase();
global $_FILES; global $_FILES;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input; $jInput = Factory::getContainer()->get(SiteApplication::class)->input;
@@ -9431,13 +9473,18 @@ function adminBegegnungenImportieren(): void
echo Text::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME2') . " <br><br>"; echo Text::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME2') . " <br><br>";
$query = "SELECT team_id, teamname FROM #__sportsmanager_team WHERE veranstaltung_id = " . $veranstaltungId . ";"; $query = "SELECT team_id, teamname, heimspiel_wochentag, heimspiel_uhrzeit"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = " . $veranstaltungId . ";";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!"); if (count($rows) < 1) die("Wrong id!");
$Mannschaften = null; $Mannschaften = null;
foreach ($rows as $value) { foreach ($rows as $value) {
$Mannschaften[$value->teamname] = $value->team_id; $Mannschaften[$value->teamname]['team_id'] = $value->team_id;
$Mannschaften[$value->teamname]['heimspiel_wochentag'] = $value->heimspiel_wochentag;
$Mannschaften[$value->teamname]['heimspiel_uhrzeit'] = $value->heimspiel_uhrzeit;
} }
if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) { if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) {
@@ -9466,26 +9513,53 @@ function adminBegegnungenImportieren(): void
$import_zeile = false; $import_zeile = false;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
if ($Zeile == 1) { if ($Zeile == 1) {
$Titelzeile = array_flip($data); foreach($data as $spalte_nr => $spalte)
{
if (vergleich($spalte,"spieltagnr,spieltagnummer")) $Titelzeile['Spieltag_Nr'] = $spalte_nr;
if (vergleich($spalte,"spielstart,zeitpunkt")) $Titelzeile['Spielstart'] = $spalte_nr;
if (vergleich($spalte,"heim,heimteam,heimmannschaft")) $Titelzeile['Heim'] = $spalte_nr;
if (vergleich($spalte,"gast,gastteam,gastmannschaft")) $Titelzeile['Gast'] = $spalte_nr;
if (vergleich($spalte,"spielnr,spielnummer")) $Titelzeile['Spiel_Nr'] = $spalte_nr;
if (vergleich($spalte,"spieltagtitel")) $Titelzeile['Spieltag_Titel'] = $spalte_nr;
if (vergleich($spalte,"jahr,spieljahr")) $Titelzeile['Spieljahr'] = $spalte_nr;
if (vergleich($spalte,"kalenderwoche,woche,kw")) $Titelzeile['Kalenderwoche'] = $spalte_nr;
}
} else { } else {
$import_zeile = true; $import_zeile = true;
$bgcolor = "green"; $bgcolor = "green";
$Begegnung[$Zeile]['spieltag'] = $data[$Titelzeile['Spieltag_Nr']]; $Begegnung[$Zeile]['spieltag'] = $data[$Titelzeile['Spieltag_Nr']];
$Begegnung[$Zeile]['zeitpunkt'] = UhrzeitWandlerDE($data[$Titelzeile['Spielstart']]); $Begegnung[$Zeile]['zeitpunkt'] = UhrzeitWandlerDE($data[$Titelzeile['Spielstart']]);
$Begegnung[$Zeile]['heim_team_id'] = $Mannschaften[utf8_encode($data[$Titelzeile['Heim']])]; $Begegnung[$Zeile]['heim_team_id'] = $Mannschaften[$data[$Titelzeile['Heim']]]['team_id'];
$Begegnung[$Zeile]['gast_team_id'] = $Mannschaften[utf8_encode($data[$Titelzeile['Gast']])]; $Begegnung[$Zeile]['gast_team_id'] = $Mannschaften[$data[$Titelzeile['Gast']]]['team_id'];
if (isset($data[$Titelzeile['Spiel_Nr']])) $Begegnung[$Zeile]['spiel_nr'] = $data[$Titelzeile['Spiel_Nr']];
if (isset($data[$Titelzeile['Spieltag_Titel']])) $Begegnung[$Zeile]['spieltag_titel'] = $data[$Titelzeile['Spieltag_Titel']];
echo "<tr style='color: white;'>"; echo "<tr style='color: white;'>";
if ($Begegnung[$Zeile]['spieltag'] > 99 or $Begegnung[$Zeile]['spieltag'] < 1) { if ($Begegnung[$Zeile]['spieltag'] > 99 or $Begegnung[$Zeile]['spieltag'] < 1) {
$bgcolor = "red"; $bgcolor = "red";
$import = false; $import = false;
} }
echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . $data[$Titelzeile['Spieltag_Nr']] . "</td>"; echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . $data[$Titelzeile['Spieltag_Nr']] . "</td>";
if (empty($data[$Titelzeile['Spielstart']])
AND !empty($data[$Titelzeile['Spieljahr']])
AND !empty($data[$Titelzeile['Kalenderwoche']])
AND !empty($Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_wochentag'])
AND !empty($Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_uhrzeit']))
{
$data[$Titelzeile['Spielstart']] =
erstelleZeitpunkt($data[$Titelzeile['Spieljahr']], $data[$Titelzeile['Kalenderwoche']],
$Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_wochentag'],
$Mannschaften[$data[$Titelzeile['Heim']]]['heimspiel_uhrzeit']);
}
$Begegnung[$Zeile]['zeitpunkt'] = $data[$Titelzeile['Spielstart']];
if (!validateDate($Begegnung[$Zeile]['zeitpunkt'])) { if (!validateDate($Begegnung[$Zeile]['zeitpunkt'])) {
$bgcolor = "red"; $bgcolor = "red";
$import = false; $import = false;
} else { } else {
$bgcolor = "green"; $bgcolor = "green";
} }
echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . $data[$Titelzeile['Spielstart']] . "</td>"; echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . $data[$Titelzeile['Spielstart']] . "</td>";
if ($Begegnung[$Zeile]['heim_team_id'] == "") { if ($Begegnung[$Zeile]['heim_team_id'] == "") {
if ($data[$Titelzeile['Heim']] == "spielfrei") { if ($data[$Titelzeile['Heim']] == "spielfrei") {
@@ -9498,7 +9572,7 @@ function adminBegegnungenImportieren(): void
} else { } else {
$bgcolor = "green"; $bgcolor = "green";
} }
echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . utf8_encode($data[$Titelzeile['Heim']]) . "</td>"; echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . $data[$Titelzeile['Heim']] . "</td>";
if ($Begegnung[$Zeile]['gast_team_id'] == "") { if ($Begegnung[$Zeile]['gast_team_id'] == "") {
if ($data[$Titelzeile['Gast']] == "spielfrei") { if ($data[$Titelzeile['Gast']] == "spielfrei") {
$bgcolor = "orange"; $bgcolor = "orange";
@@ -9510,7 +9584,7 @@ function adminBegegnungenImportieren(): void
} else { } else {
$bgcolor = "green"; $bgcolor = "green";
} }
echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . utf8_encode($data[$Titelzeile['Gast']]) . "</td>"; echo "<td style='text-align: center; background-color:" . $bgcolor . "'>" . $data[$Titelzeile['Gast']] . "</td>";
echo "</tr>"; echo "</tr>";
} }
if (!$import_zeile) { if (!$import_zeile) {
@@ -9523,18 +9597,18 @@ function adminBegegnungenImportieren(): void
if ($import) { if ($import) {
$Zeile = 1; $Zeile = 1;
$query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, heim_team_id, gast_team_id) VALUES "; $query = "INSERT INTO #__sportsmanager_begegnung (spieltag, zeitpunkt, spieltag_titel, spiel_nr, heim_team_id, gast_team_id) VALUES ";
foreach ($Begegnung as $value) { foreach ($Begegnung as $value) {
if ($Zeile > 1) { if ($Zeile > 1) {
$query .= ", "; $query .= ", ";
} }
$query .= "(" . $value['spieltag'] . ",'" . $value['zeitpunkt'] . "'," . $value['heim_team_id'] . "," . $value['gast_team_id'] . ") "; $query .= "(" . $value['spieltag'] . ",'" . $value['zeitpunkt'] . "','" .
($value['spieltag_titel'] ?? "") . "', " . ($value['spiel_nr'] ?? "NULL") . " ," .
$value['heim_team_id'] . "," . $value['gast_team_id'] . ") ";
$Zeile++; $Zeile++;
} }
$query .= ";"; $query .= ";";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} else { } else {
@@ -9685,6 +9759,448 @@ function adminBegegnungenRundeErzeugenForm(): void
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
} }
function getAuswahlSpieltagtitel()
{
$db = getDatabase();
$query = "SELECT spieltag_titel FROM #__sportsmanager_begegnung"
. "\n WHERE spieltag_titel <> ''"
. "\n GROUP BY spieltag_titel ORDER BY spieltag_titel;";
return loadObjectList($db, $query);
}
function adminBegegnungenPokalrundeAuslosenForm(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
if ($veranstaltungId == 0) die("Missing id!");
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
keinZugriff(true);
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
$rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$veranstaltung = $rows[0];
$query = "SELECT COUNT(teamname)"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltungId"
. "\n ORDER BY teamname";
$anzahlteams = loadResult($db, $query);
$veranstaltung->letzteRunde = getAnzahlRunden($anzahlteams);
$query = "SELECT t1.spieltag AS Runden_Nr
FROM #__sportsmanager_begegnung AS t1
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
WHERE t4.veranstaltung_id = ".$veranstaltungId."
GROUP BY t1.spieltag
ORDER BY t1.spieltag DESC LIMIT 1;";
$Runde = loadObjectList($db, $query);
if (!isset($Runde[0]))
$veranstaltung->naechsteRunde = 1;
else
$veranstaltung->naechsteRunde = $Runde[0]->Runden_Nr + 1;
$veranstaltung->titelVorschlag = getRundenTitel(pow(2, $veranstaltung->letzteRunde - $veranstaltung->naechsteRunde) * 2);
// Spieltage ermitteln, die noch nicht abgeschlossen sind
$query = "SELECT COUNT(DISTINCT spieltag) AS Anzahl"
. "\n FROM #__sportsmanager_begegnung"
. "\n LEFT JOIN #__sportsmanager_unbestaetigtes_ergebnis USING (begegnung_id)"
. "\n INNER JOIN #__sportsmanager_team ON heim_team_id = team_id"
. "\n WHERE veranstaltung_id = $veranstaltung->veranstaltung_id"
. "\n AND (heim_spielpunkte IS NULL OR gast_spielpunkte IS NULL"
. "\n OR #__sportsmanager_unbestaetigtes_ergebnis.begegnung_id IS NOT NULL)"
. "\n ORDER BY spieltag DESC";
$veranstaltung->nicht_abgeschlossene_spiele = loadResult($db, $query);
HTML_sportsmanager_admin::adminBegegnungenPokalrundeAuslosenForm($veranstaltung,getAuswahlSpieltagtitel());
}
#[NoReturn] function adminBegegnungenPokalrundeAuslosen(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$sperren = false;
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
$rundenNr = $jInput->get('runde', 0, 'INT');
$rundenTitel = $jInput->get('rundentitel', 0, 'STRING');
$spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT');
$teams = [];
if ($veranstaltungId == 0) die("Missing id!");
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
keinZugriff();
if ($jInput->get('cancel', false, 'BOOL')) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
$query = "SELECT COUNT(teamname)"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltungId"
. "\n ORDER BY teamname";
$anzahlteams = loadResult($db, $query);
$anzahlrunden = getAnzahlRunden($anzahlteams);
$Verlierer = "";
//Alle Teams einlesen
$query = "SELECT *"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltungId ";
$teams_komplett = json_decode(json_encode(loadObjectList($db, $query)), true);
foreach($teams_komplett AS $team)
{
$teams[$team['team_id']] = $team;
}
if ($rundenNr == 1){
$anzahlmatches = $anzahlteams - pow(2, $anzahlrunden - 1 );
}
else{
$anzahlmatches = pow(2, $anzahlrunden - $rundenNr);
//Verlierer rausfiltern
$query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_team AS t2"
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
. "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4"
. "\n ON t2.veranstaltung_id = t4.veranstaltung_id"
. "\n WHERE t4.veranstaltung_id = $veranstaltungId;";
$loosers = loadObjectList($db, $query);
$Zeile = 0;
foreach($loosers AS $looser)
{
if ($Zeile > 0) $Verlierer .= ",";
$Verlierer .= $looser->Verlierer;
$Zeile++;
}
}
$query = "SELECT team_id"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltungId ";
if ($Verlierer != "")
$query .= "\n AND team_id NOT IN (".$Verlierer.");";
$teams_auslosung = json_decode(json_encode(loadObjectList($db, $query)), true);
// Teams durchmischen
shuffle($teams_auslosung);
if ($anzahlteams < 2)
{
$Fehlertext = "Zu wenige Teams vorhanden!!!";
$sperren = true;
}
if ($anzahlteams > 128)
{
$Fehlertext = "Zu viele Teams vorhanden!!!";
$sperren = true;
}
$datum_jahr = null;
$zeitpunkt = "";
if ($jInput->get('datum_tag', 0, 'STRING') > 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 0 && $jInput->get('datum_monat', 0, 'STRING') >= 0
&& $jInput->get('uhrzeit_stunden', 0, 'STRING') >= 0 && $jInput->get('uhrzeit_minuten', 0, 'STRING') >= 0) {
$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')));
$zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
$datum_kw = 0;
} else {
$datum_jahr = $jInput->get('datum_jahr', 0, 'INT');
$datum_kw = abs($jInput->get('datum_tag', 0, 'INT'));
}
if (!((($jInput->get('datum_tag', 0, 'STRING') <= 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 2000)) || $zeitpunkt != ""))
{
$Fehlertext = "Bitte ein g&uuml;ltiges Datum eingeben!!!";
$sperren = true;
}
for ($matchNr = 0; $matchNr < $anzahlmatches; $matchNr++) {
$team_heim = $matchNr * 2 ;
$team_gast = $team_heim + 1;
$matches[$matchNr]['heim'] = $teams_auslosung[$team_heim]['team_id'];
$matches[$matchNr]['gast'] = $teams_auslosung[$team_gast]['team_id'];
}
if ($spielumplatz3)
{
//Verlierer Halbfinale ermitteln
$query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_team AS t2"
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
. "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4"
. "\n ON t2.veranstaltung_id = t4.veranstaltung_id"
. "\n WHERE t4.veranstaltung_id = $veranstaltungId"
. "\n AND t1.spieltag = " . ($rundenNr - 1) . " ORDER BY RAND();";
$loosers = loadObjectList($db, $query);
$matches[2]['heim'] = $loosers[0]->Verlierer;
$matches[2]['gast'] = $loosers[1]->Verlierer;
$matches[2]['rundentitel'] = "Spiel um Platz 3";
}
$Fehlertext = "";
foreach($matches AS $spiel_nr => $match)
{
$matches[$spiel_nr]['rundentitel'] = $matches[$spiel_nr]['rundentitel'] ?? $rundenTitel;
$matches[$spiel_nr]['zeitpunkt'] = $zeitpunkt;
$matches[$spiel_nr]['heimspielort_id'] = $teams[$teams_setzliste[$setzung[0]]]['heimspielort_id'];
$team_heim = $match['heim'];
if ($datum_kw != null && $teams[$team_heim]['heimspiel_wochentag'] !== 0) {
$ts = getdate(mondaykw($datum_kw, $datum_jahr, $teams[$team_heim]['heimspiel_wochentag'] - 1));
$matches[$spiel_nr]['zeitpunkt'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"],
floor($teams[$team_heim]['heimspiel_uhrzeit'] / 100), $teams[$team_heim]['heimspiel_uhrzeit'] % 100, 0);
}
if (!validateDate($matches[$spiel_nr]['zeitpunkt'])){
$sperren = true;
$Fehlertext .= "Bitte die Heimspiel Uhrzeit des " . $teams[$matches[$spiel_nr]['heim']]['teamname'] . " &uuml;berpr&uuml;fen!!!<br>";
}
}
if (!$sperren){
$Zeile = 0;
$query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id) values ";
foreach ($matches AS $key => $match) {
if (++$Zeile > 1) $query .= ", ";
$query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr .
", '" . $match['rundentitel'] . "', " . $key .
", '" . $match['heim'] . "', '" . $match['gast'] . "'" .
", " . ($match['heimspielort_id'] != 0 ? "'" . $match['heimspielort_id'] . "'" : "NULL") . ")";
}
$query .= "; ";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
else{
echo "<span style='display: inline-block; background: red; color: white;vertical-align: middle;'>
$Fehlertext</span>\n";
}
}
#[NoReturn] function adminBegegnungenPokalrundeSetzliste(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
$teams = [];
$setzliste = [];
$setzung = [];
$matches = [];
$sperren = false;
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
$rundenNr = $jInput->get('runde', 0, 'INT');
$rundenTitel = $jInput->get('rundentitel', 0, 'STRING');
$spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT');
if ($veranstaltungId == 0) die("Missing id!");
if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($veranstaltungId))
keinZugriff();
if ($jInput->get('cancel', false, 'BOOL')) {
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
$query = "SELECT COUNT(teamname)"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltungId"
. "\n ORDER BY teamname";
$anzahlteams = loadResult($db, $query);
$anzahlrunden = getAnzahlRunden($anzahlteams);
//Vergabe der Setzliste
if ($rundenNr == 1){
$query = "UPDATE #__sportsmanager_team AS t
JOIN (
SELECT team_id, (@r := @r + 1) AS rnd_num
FROM (
SELECT team_id
FROM #__sportsmanager_team
WHERE veranstaltung_id = $veranstaltungId
ORDER BY RAND()
) AS shuffled
JOIN (SELECT @r := 0) AS init
) AS x ON t.team_id = x.team_id
SET t.setzliste_nr = x.rnd_num;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
$query = "SELECT *"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltungId"
. "\n ORDER BY setzliste_nr;";
$teams_array = json_decode(json_encode(loadObjectList($db, $query)), true);
foreach($teams_array AS $team)
{
$teams_setzliste[$team['setzliste_nr']] = $team['team_id'];
$teams[$team['team_id']] = $team;
}
if ($anzahlteams < 2)
{
$Fehlertext = "Zu wenige Teams vorhanden!!!";
$sperren = true;
}
$datum_jahr = null;
$zeitpunkt = "";
if ($jInput->get('datum_tag', 0, 'STRING') > 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 0 && $jInput->get('datum_monat', 0, 'STRING') >= 0
&& $jInput->get('uhrzeit_stunden', 0, 'STRING') >= 0 && $jInput->get('uhrzeit_minuten', 0, 'STRING') >= 0) {
$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')));
$zeitpunkt = $datum == null || $uhrzeit == null ? null : ($datum . " " . $uhrzeit);
$datum_kw = 0;
} else {
$datum_jahr = $jInput->get('datum_jahr', 0, 'INT');
$datum_kw = abs($jInput->get('datum_tag', 0, 'INT'));
}
if (!((($jInput->get('datum_tag', 0, 'STRING') <= 0 && $jInput->get('datum_jahr', 0, 'STRING') >= 2000)) || $zeitpunkt != ""))
{
$Fehlertext = "Bitte ein g&uuml;ltiges Datum eingeben!!!";
$sperren = true;
}
$matches = [];
if ($rundenNr == 1){
$setzliste = getSetzliste($anzahlrunden);
$spiel_nr = 0;
foreach($setzliste AS $setzung){
$spiel_nr++;
if ($setzung[0] <= $anzahlteams && $setzung[1] <= $anzahlteams){
$matches[$spiel_nr]['heim'] = $teams_setzliste[$setzung[0]];
$matches[$spiel_nr]['gast'] = $teams_setzliste[$setzung[1]];
}
}
}
//Freilose Runde 1 ermitteln
if ($rundenNr == 2){
$setzliste = getSetzliste($anzahlrunden);
$spiel_nr = 0;
foreach($setzliste AS $setzung){
$spiel_nr++;
if ($setzung[0] > $anzahlteams || $setzung[1] > $anzahlteams){
if ($spiel_nr % 2)
$matches[round($spiel_nr/2)]['heim'] = $teams_setzliste[min($setzung[0],$setzung[1])];
else
$matches[round($spiel_nr/2)]['gast'] = $teams_setzliste[min($setzung[0],$setzung[1])];
}
}
}
//Sieger der vorherigen Runde ermitteln
if ($rundenNr >= 2){
$query = "SELECT t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast,
t1.heim_team_id, t1.gast_team_id,
t1.spieltag_titel AS Runde, 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_spielpunkte AS Gast_Satzpunkte
FROM #__sportsmanager_begegnung AS t1
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
WHERE t4.veranstaltung_id = " . $veranstaltungId . " AND t1.spieltag = " . ($rundenNr - 1) . "
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr;";
$begegnungen = json_decode(json_encode(loadObjectList($db, $query)), true);
foreach($begegnungen AS $begegnung)
{
if ($begegnung['Heim_Satzpunkte'] > $begegnung['Gast_Satzpunkte'])
$sieger = $begegnung['heim_team_id'];
else
$sieger = $begegnung['gast_team_id'];
if ($begegnung['Spiel_Nr'] % 2)
$matches[round($begegnung['Spiel_Nr']/2)]['heim'] = $sieger;
else
$matches[round($begegnung['Spiel_Nr']/2)]['gast'] = $sieger;
}
}
if ($spielumplatz3)
{
//Verlierer Halbfinale ermitteln
$query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_team AS t2"
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
. "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4"
. "\n ON t2.veranstaltung_id = t4.veranstaltung_id"
. "\n WHERE t4.veranstaltung_id = $veranstaltungId"
. "\n AND t1.spieltag = " . ($rundenNr - 1) . ";";
$loosers = loadObjectList($db, $query);
$matches[2]['heim'] = $loosers[0]->Verlierer;
$matches[2]['gast'] = $loosers[1]->Verlierer;
$matches[2]['rundentitel'] = "Spiel um Platz 3";
}
$Fehlertext = "";
foreach($matches AS $spiel_nr => $match)
{
$matches[$spiel_nr]['rundentitel'] = $matches[$spiel_nr]['rundentitel'] ?? $rundenTitel;
$matches[$spiel_nr]['zeitpunkt'] = $zeitpunkt;
$matches[$spiel_nr]['heimspielort_id'] = $teams[$teams_setzliste[$setzung[0]]]['heimspielort_id'];
$team_heim = $match['heim'];
if ($datum_kw != null && $teams[$team_heim]['heimspiel_wochentag'] !== 0) {
$ts = getdate(mondaykw($datum_kw, $datum_jahr, $teams[$team_heim]['heimspiel_wochentag'] - 1));
$matches[$spiel_nr]['zeitpunkt'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"],
floor($teams[$team_heim]['heimspiel_uhrzeit'] / 100), $teams[$team_heim]['heimspiel_uhrzeit'] % 100, 0);
}
if (!validateDate($matches[$spiel_nr]['zeitpunkt'])){
$sperren = true;
$Fehlertext .= "Bitte die Heimspiel Uhrzeit des " . $teams[$matches[$spiel_nr]['heim']]['teamname'] . " &uuml;berpr&uuml;fen!!!<br>";
}
}
if (!$sperren){
$Zeile = 0;
$query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id) values ";
foreach ($matches AS $key => $match) {
if (++$Zeile > 1) $query .= ", ";
$query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr .
", '" . $match['rundentitel'] . "', " . $key .
", '" . $match['heim'] . "', '" . $match['gast'] . "'" .
", " . ($match['heimspielort_id'] != 0 ? "'" . $match['heimspielort_id'] . "'" : "NULL") . ")";
}
$query .= "; ";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
else{
echo "<span style='display: inline-block; background: red; color: white;vertical-align: middle;'>
$Fehlertext</span>\n";
}
}
#[NoReturn] function adminBegegnungenAlleEntfernen(): void #[NoReturn] function adminBegegnungenAlleEntfernen(): void
{ {
$db = getDatabase(); $db = getDatabase();
@@ -9739,6 +10255,12 @@ function adminBegegnungenRundeErzeugenForm(): void
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
$query = "UPDATE #__sportsmanager_team SET setzliste_nr = NULL WHERE veranstaltung_id = $veranstaltungId;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
} }
if ($veranstaltung->status != 0 && $veranstaltung->elo_wertung != 0) { if ($veranstaltung->status != 0 && $veranstaltung->elo_wertung != 0) {
@@ -9828,8 +10350,9 @@ function adminBegegnungenExportForm(): void
$query = " $query = "
SELECT t1.begegnung_id AS ID, t5.saisonbezeichnung AS Saison, SELECT t1.begegnung_id AS ID, 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.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore,
t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte t1.gast_punkte AS Gast_Tore, t1.heim_spielpunkte AS Heim_Satzpunkte,
t1.gast_spielpunkte AS Gast_Satzpunkte
FROM #__sportsmanager_begegnung AS t1 FROM #__sportsmanager_begegnung AS t1
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
@@ -5245,6 +5245,35 @@ function updateDatabase(): void
} }
} }
if ($datenbank_version < 105) {
$query = "ALTER TABLE `#__sportsmanager_begegnung` ADD `spieltag_titel` VARCHAR(32) NOT NULL DEFAULT '' AFTER `spieltag`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "ALTER TABLE `#__sportsmanager_veranstaltung` ADD `spieltag_titel_zeigen` INT(4) NOT NULL DEFAULT '0' AFTER `unterteilung`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "ALTER TABLE `#__sportsmanager_team` ADD `teamname_kurz` VARCHAR(24) NOT NULL DEFAULT '' AFTER `teamname`;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "UPDATE #__sportsmanager_einstellungen"
. "\n SET wert = '105'"
. "\n WHERE name = 'datenbank_version'";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
if ($datenbank_version < 106) { if ($datenbank_version < 106) {
$query = "ALTER TABLE `#__sportsmanager_verein` ADD `verstecken` INT(4) NOT NULL DEFAULT '0' AFTER `ausgetreten`;"; $query = "ALTER TABLE `#__sportsmanager_verein` ADD `verstecken` INT(4) NOT NULL DEFAULT '0' AFTER `ausgetreten`;";
@@ -458,9 +458,18 @@ if ($task == "spielerbild") {
case 'admin_begegnungen_runde_erzeugen_form': case 'admin_begegnungen_runde_erzeugen_form':
adminBegegnungenRundeErzeugenForm(); adminBegegnungenRundeErzeugenForm();
break; break;
case 'admin_begegnungen_pokalrunde_auslosen_form':
adminBegegnungenPokalrundeAuslosenForm();
break;
case 'admin_begegnungen_runde_erzeugen': case 'admin_begegnungen_runde_erzeugen':
adminBegegnungenRundeErzeugen(); adminBegegnungenRundeErzeugen();
break; break;
case 'admin_begegnungen_pokalrunde_auslosen':
adminBegegnungenPokalrundeAuslosen();
break;
case 'admin_begegnungen_pokalrunde_setzliste':
adminBegegnungenPokalrundeSetzliste();
break;
case 'admin_begegnungen_alle_entfernen': case 'admin_begegnungen_alle_entfernen':
adminBegegnungenAlleEntfernen(); adminBegegnungenAlleEntfernen();
break; break;
@@ -1461,7 +1470,7 @@ function veranstaltungen(): void
'begegnungen' => begegnungenAnzeigen($veranstaltung, NULL, NULL, 0), 'begegnungen' => begegnungenAnzeigen($veranstaltung, NULL, NULL, 0),
'tabelle' => NULL 'tabelle' => NULL
]; ];
if ($veranstaltung->tabellenwertung != 0) { if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4]) || !$veranstaltung->platzierung_offen) {
$spieltag = null; // TODO: spieltag was not defined before, not sure what it should be $spieltag = null; // TODO: spieltag was not defined before, not sure what it should be
$competition['tabelle'] = tabelle($veranstaltung, $spieltag, true); $competition['tabelle'] = tabelle($veranstaltung, $spieltag, true);
} }
@@ -1475,7 +1484,7 @@ function veranstaltungen(): void
foreach ($veranstaltungen as $veranstaltung) { foreach ($veranstaltungen as $veranstaltung) {
if ($praesentation == 1 || $praesentation == 2) if ($praesentation == 1 || $praesentation == 2)
echo "<td>\r\n"; echo "<td>\r\n";
if ($veranstaltung->tabellenwertung != 0 && ($veranstaltung->tabellenwertung != -1 || !$veranstaltung->platzierung_offen)) { if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4]) || !$veranstaltung->platzierung_offen) {
HTML_sportsmanager::tabelleHeader($veranstaltung); HTML_sportsmanager::tabelleHeader($veranstaltung);
tabelle($veranstaltung, 0, false, $praesentation); tabelle($veranstaltung, 0, false, $praesentation);
} else { } else {
@@ -1520,7 +1529,8 @@ function veranstaltung(): void
$query = "SELECT saison_id, saisonbezeichnung" $query = "SELECT saison_id, saisonbezeichnung"
. "\n FROM #__sportsmanager_veranstaltung" . "\n FROM #__sportsmanager_veranstaltung"
. "\n INNER JOIN #__sportsmanager_saison USING (saison_id)" . "\n INNER JOIN #__sportsmanager_saison USING (saison_id)"
. "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN") . "\n WHERE status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id"
. "\n WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)" . kategorieFilter("AND #__sportsmanager_veranstaltung.kategorie IN")
. "\n GROUP BY saison_id" . "\n GROUP BY saison_id"
. "\n ORDER BY saisonbezeichnung DESC"; . "\n ORDER BY saisonbezeichnung DESC";
$saisons = loadObjectList($db, $query); $saisons = loadObjectList($db, $query);
@@ -1544,7 +1554,10 @@ function veranstaltung(): void
$spieltag = $jInput->get('spieltag', 0, 'INT'); $spieltag = $jInput->get('spieltag', 0, 'INT');
// Veranstaltung ermitteln // Veranstaltung ermitteln
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $id AND status > 0 AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)"; $query = "SELECT * FROM #__sportsmanager_veranstaltung"
. "\n WHERE veranstaltung_id = $id AND status > 0"
. "\n AND EXISTS(SELECT * FROM #__sportsmanager_team INNER JOIN #__sportsmanager_begegnung ON heim_team_id = team_id"
. "\n WHERE #__sportsmanager_team.veranstaltung_id = #__sportsmanager_veranstaltung.veranstaltung_id)";
$rows = loadObjectList($db, $query); $rows = loadObjectList($db, $query);
if (count($rows) < 1) if (count($rows) < 1)
die("Wrong id!"); die("Wrong id!");
@@ -1555,7 +1568,7 @@ function veranstaltung(): void
'veranstaltung' => $veranstaltung, 'veranstaltung' => $veranstaltung,
'begegnungen' => begegnungenAnzeigen($veranstaltung, NULL, NULL, 0) 'begegnungen' => begegnungenAnzeigen($veranstaltung, NULL, NULL, 0)
]; ];
if ($veranstaltung->tabellenwertung != 0) { if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4])) {
$table = tabelle($veranstaltung, $spieltag, true); $table = tabelle($veranstaltung, $spieltag, true);
$json['tabelle'] = $table['tabelle']; $json['tabelle'] = $table['tabelle'];
$json['modus'] = $table['modus']; $json['modus'] = $table['modus'];
@@ -1590,9 +1603,13 @@ function veranstaltung(): void
// Anzeigen // Anzeigen
HTML_sportsmanager::veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltung_id, $naechste_veranstaltung_id, $showSeasons, $saisons, $filter_saison_id); HTML_sportsmanager::veranstaltungHeaderAlone($veranstaltung, $vorherige_veranstaltung_id, $naechste_veranstaltung_id, $showSeasons, $saisons, $filter_saison_id);
if ($veranstaltung->tabellenwertung != 0)
if (!in_array($veranstaltung->tabellenwertung, [0, -1, -3, -4]))
tabelle($veranstaltung, $spieltag, true); tabelle($veranstaltung, $spieltag, true);
if (einstellungswert("turnierbaum_zeigen") && $veranstaltung->tabellenwertung == -4)
turnierbaumAnzeigen($veranstaltung);
begegnungenAnzeigen($veranstaltung, NULL, NULL, 0); begegnungenAnzeigen($veranstaltung, NULL, NULL, 0);
HTML_sportsmanager::iCalBegegnungen(SportsManagerURL('&task=veranstaltung_begegnungen_ical&id=' . $veranstaltung->veranstaltung_id)); HTML_sportsmanager::iCalBegegnungen(SportsManagerURL('&task=veranstaltung_begegnungen_ical&id=' . $veranstaltung->veranstaltung_id));
} }
@@ -1635,7 +1652,7 @@ function tabelle($veranstaltung, $spieltag, $alleine_angezeigt, $praesentation =
$teams = getTabelleAktuellerSpieltag($veranstaltung); $teams = getTabelleAktuellerSpieltag($veranstaltung);
} else { } else {
$teams = getTabelleSpieltag($veranstaltung,$spieltag); $teams = getTabelleSpieltag($veranstaltung,$spieltag);
if ($veranstaltung->direktervergleich AND $spieltag >= $anzahl_spieltage_komplett/2){ if ($veranstaltung->direktervergleich && $spieltag >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag); $teams = getTabelleDirekterVergleich($teams,$veranstaltung,$spieltag);
} }
} }
@@ -2083,6 +2100,300 @@ function getTabelleSpieltag($veranstaltung,$spieltag,$mannschaften = "",$offset_
jexit(); jexit();
} }
function erstelleSetzliste($teams): array
{
$seedingPairs[4] = [[1, 4], [2, 3]];
$seedingPairs[8] = [[1, 8], [4, 5], [3, 6], [2, 7]];
$seedingPairs[16] = [[1, 16], [8, 9], [5, 12], [4, 13],
[3, 14], [6, 11], [7, 10], [2, 15]];
$seedingPairs[32] = [[1, 32], [16, 17], [9, 24], [8, 25],
[5, 28], [12, 21], [13, 20], [4, 29],
[3, 30], [14, 19], [11, 22], [6, 27],
[7, 26], [10, 23], [15, 18], [2, 31]];
$seedingPairs[64] = [[1, 64], [32, 33], [17, 48], [16, 49],
[9, 56], [24, 41], [25, 40], [8, 57],
[5, 60], [28, 37], [21, 44], [12, 53],
[13, 52], [20, 45], [29, 36], [4, 61],
[3, 62], [30, 35], [19, 46], [14, 51],
[11, 54], [22, 43], [27, 38], [6, 59],
[7, 58], [26, 39], [23, 42], [10, 55],
[15, 50], [18, 47], [31, 34], [2, 63]];
$seedingPairs[128]= [[1,128], [64,65], [33,96], [32,97], [17,112], [48,81], [49,80], [16,113],
[9,120], [56,73], [41,88], [24,105], [25,104], [40,89], [57,72], [8,121],
[5,124], [60,69], [37,92], [28,101], [21,108], [44,85], [53,76], [12,117],
[13,116], [52,77], [45,84], [20,109], [29,100], [36,93], [61,68], [4,125],
[3,126], [62,67], [35,94], [30,99], [19,110], [46,83], [51,78], [14,115],
[11,118], [54,75], [43,86], [22,107], [27,102], [38,91], [59,70], [6,123],
[7,122], [58,71], [39,90], [26,103], [23,106], [42,87], [55,74], [10,119],
[15,114], [50,79], [47,82], [18,111], [31,98], [34,95], [63,66], [2,127]];
$matches = [];
// Teams durchschütteln
$keys = array_keys($teams);
shuffle($keys);
$mannschaften = [];
$nr = 0;
foreach ($keys as $key) {
$mannschaften[++$nr] = $teams[$key];
}
$anzahlTeams = count($mannschaften);
if ($anzahlTeams >= 1 && $anzahlTeams <= 4) {
$setzliste = $seedingPairs[4];
$runden = 2;
} else if ($anzahlTeams >= 5 && $anzahlTeams <= 8){
$setzliste = $seedingPairs[8];
$runden = 3;
} else if ($anzahlTeams >= 9 && $anzahlTeams <= 16){
$setzliste = $seedingPairs[16];
$runden = 4;
} else if ($anzahlTeams >= 17 && $anzahlTeams <= 32){
$setzliste = $seedingPairs[32];
$runden = 5;
} else if ($anzahlTeams >= 33 && $anzahlTeams <= 64){
$setzliste = $seedingPairs[64];
$runden = 6;
} else if ($anzahlTeams >= 65 && $anzahlTeams <= 128){
$setzliste = $seedingPairs[128];
$runden = 7;
} else {
$setzliste = [];
$runden = 0;
}
$turnier = [];
if ($runden > 1)
{
$nr = 0;
foreach($setzliste as $paarung){
$matches[1][++$nr]['heim'] = $mannschaften[$paarung[0]] ?? 'freilos';
$matches[1][$nr]['gast'] = $mannschaften[$paarung[1]] ?? 'freilos';
}
$turnier['runden'] = $runden;
$turnier['matches'] = $matches;
}
return $turnier;
}
function getSetzliste($anzahlRunden)
{
$maxTeams = pow(2, $anzahlRunden);
$seedingPairs[4] = [[1, 4], [2, 3]];
$seedingPairs[8] = [[1, 8], [4, 5], [3, 6], [2, 7]];
$seedingPairs[16] = [[1, 16], [8, 9], [5, 12], [4, 13],
[3, 14], [6, 11], [7, 10], [2, 15]];
$seedingPairs[32] = [[1, 32], [16, 17], [9, 24], [8, 25],
[5, 28], [12, 21], [13, 20], [4, 29],
[3, 30], [14, 19], [11, 22], [6, 27],
[7, 26], [10, 23], [15, 18], [2, 31]];
$seedingPairs[64] = [[1, 64], [32, 33], [17, 48], [16, 49],
[9, 56], [24, 41], [25, 40], [8, 57],
[5, 60], [28, 37], [21, 44], [12, 53],
[13, 52], [20, 45], [29, 36], [4, 61],
[3, 62], [30, 35], [19, 46], [14, 51],
[11, 54], [22, 43], [27, 38], [6, 59],
[7, 58], [26, 39], [23, 42], [10, 55],
[15, 50], [18, 47], [31, 34], [2, 63]];
$seedingPairs[128]= [[1,128], [64,65], [33,96], [32,97], [17,112], [48,81], [49,80], [16,113],
[9,120], [56,73], [41,88], [24,105], [25,104], [40,89], [57,72], [8,121],
[5,124], [60,69], [37,92], [28,101], [21,108], [44,85], [53,76], [12,117],
[13,116], [52,77], [45,84], [20,109], [29,100], [36,93], [61,68], [4,125],
[3,126], [62,67], [35,94], [30,99], [19,110], [46,83], [51,78], [14,115],
[11,118], [54,75], [43,86], [22,107], [27,102], [38,91], [59,70], [6,123],
[7,122], [58,71], [39,90], [26,103], [23,106], [42,87], [55,74], [10,119],
[15,114], [50,79], [47,82], [18,111], [31,98], [34,95], [63,66], [2,127]];
return $seedingPairs[$maxTeams];
}
function getAnzahlRunden($anzahlTeams)
{
if ($anzahlTeams >= 1 && $anzahlTeams <= 4) {
return 2;
} else if ($anzahlTeams >= 5 && $anzahlTeams <= 8){
return 3;
} else if ($anzahlTeams >= 9 && $anzahlTeams <= 16){
return 4;
} else if ($anzahlTeams >= 17 && $anzahlTeams <= 32){
return 5;
} else if ($anzahlTeams >= 33 && $anzahlTeams <= 64){
return 6;
} else if ($anzahlTeams >= 65 && $anzahlTeams <= 128){
return 7;
}
}
function getRundenTitel($anzahlTeams): string
{
if ($anzahlTeams >= 1 && $anzahlTeams <= 2)
return Text::_('COM_SPORTSMANAGER_FINAL');
if ($anzahlTeams >= 3 && $anzahlTeams <= 4)
return Text::_('COM_SPORTSMANAGER_HALF_FINAL');
if ($anzahlTeams >= 5 && $anzahlTeams <= 8)
return Text::_('COM_SPORTSMANAGER_QUARTER_FINAL');
if ($anzahlTeams >= 9 && $anzahlTeams <= 16)
return Text::_('COM_SPORTSMANAGER_ROUND_OF_16');
if ($anzahlTeams >= 17 && $anzahlTeams <= 32)
return Text::_('COM_SPORTSMANAGER_ROUND_OF_32_ALT');
if ($anzahlTeams >= 33 && $anzahlTeams <= 64)
return Text::_('COM_SPORTSMANAGER_ROUND_OF_64_ALT');;
if ($anzahlTeams >= 65 && $anzahlTeams <= 128)
return Text::_('COM_SPORTSMANAGER_ROUND_OF_128_ALT');
return "";
}
function turnierbaumAnzeigen($veranstaltung): void
{
$db = getDatabase();
$veranstaltungId = $veranstaltung->veranstaltung_id;
if ($veranstaltungId == 0) die("Missing id!");
//Infos Veranstaltung
$query = "SELECT * FROM #__sportsmanager_veranstaltung WHERE veranstaltung_id = $veranstaltungId";
$rows = loadObjectList($db, $query);
if (count($rows) < 1) die("Wrong id!");
$veranstaltung = $rows[0];
//Alle Teams
$query = "SELECT *"
. "\n FROM #__sportsmanager_team"
. "\n WHERE veranstaltung_id = $veranstaltungId"
. "\n ORDER BY setzliste_nr;";
$teams_unformatiert = json_decode(json_encode(loadObjectList($db, $query)), true);
foreach($teams_unformatiert AS $team){
$teams[$team['setzliste_nr']] = $team;
}
$anzahlTeams = count($teams);
$anzahlRunden = getAnzahlRunden($anzahlTeams);
//Alle Begegnungen vorbelegen
$anzahlSpiele = pow(2, $anzahlRunden - 1);
for($runde_nr = 1; $runde_nr <= $anzahlRunden; $runde_nr++)
{
for($spiel_nr = 1; $spiel_nr <= $anzahlSpiele; $spiel_nr++)
{
$begegnungen[$runde_nr][$spiel_nr]['heim'] = "";
$begegnungen[$runde_nr][$spiel_nr]['gast'] = "";
$begegnungen[$runde_nr][$spiel_nr]['sieger'] = 0;
$begegnungen[$runde_nr][$spiel_nr]['link'] = "";
$begegnungen[$runde_nr][$spiel_nr]['id'] = "";
$begegnungen[$runde_nr][$spiel_nr]['erg_heim'] = "";
$begegnungen[$runde_nr][$spiel_nr]['erg_gast'] = "";
$begegnungen[$runde_nr][$spiel_nr]['tooltiptext'] = "";
}
$anzahlSpiele = $anzahlSpiele / 2;
}
//Alle Begegnungen aus der Setzliste
$setzliste = getSetzliste($anzahlRunden);
$spiel_nr = 0;
foreach($setzliste AS $setzung){
$spiel_nr++;
$begegnungen[1][$spiel_nr]['sieger'] = 0;
if ($setzung[0] <= $anzahlTeams) {
$begegnungen[1][$spiel_nr]['heim'] = htmlentities($teams[$setzung[0]]['teamname_kurz']) ?: htmlentities($teams[$setzung[0]]['teamname']);
} else {
$begegnungen[1][$spiel_nr]['heim'] = "freilos";
$begegnungen[1][$spiel_nr]['sieger'] = 2;
if ($spiel_nr %2)
$begegnungen[2][round($spiel_nr/2)]['heim'] = htmlentities($teams[$setzung[1]]['teamname_kurz']) ?: htmlentities($teams[$setzung[1]]['teamname']);
else
$begegnungen[2][round($spiel_nr/2)]['gast'] = htmlentities($teams[$setzung[1]]['teamname_kurz']) ?: htmlentities($teams[$setzung[1]]['teamname']);
}
if ($setzung[1] <= $anzahlTeams) {
$begegnungen[1][$spiel_nr]['gast'] = htmlentities($teams[$setzung[1]]['teamname_kurz']) ?: htmlentities($teams[$setzung[1]]['teamname']);
} else {
$begegnungen[1][$spiel_nr]['gast'] = "freilos";
$begegnungen[1][$spiel_nr]['sieger'] = 1;
if ($spiel_nr %2)
$begegnungen[2][round($spiel_nr/2)]['heim'] = htmlentities($teams[$setzung[0]]['teamname_kurz']) ?: htmlentities($teams[$setzung[0]]['teamname']);
else
$begegnungen[2][round($spiel_nr/2)]['gast'] = htmlentities($teams[$setzung[0]]['teamname_kurz']) ?: htmlentities($teams[$setzung[0]]['teamname']);
}
}
//Alle Begegnungen aus Datenbank
$query = "SELECT t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart,"
. "\n if(t2.teamname_kurz <> '',t2.teamname_kurz, t2.teamname) AS Heim,"
. "\n if(t3.teamname_kurz <> '',t3.teamname_kurz, t3.teamname) AS Gast,"
. "\n t1.heim_team_id, t1.gast_team_id, t1.spieltag_titel AS Runde, t1.spieltag AS Spieltag_Nr,"
. "\n t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,"
. "\n t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte, t1.begegnung_id"
. "\n FROM #__sportsmanager_begegnung AS t1"
. "\n LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id"
. "\n LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id"
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id"
. "\n WHERE t4.veranstaltung_id = $veranstaltungId"
. "\n ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr;";
$begegnungen_unformatiert = json_decode(json_encode(loadObjectList($db, $query)), true);
foreach($begegnungen_unformatiert as $begegnung)
{
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['Id'] = $begegnung['begegnung_id'];
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['heim'] = htmlentities($begegnung['Heim']);
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['gast'] = htmlentities($begegnung['Gast']);
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['erg_heim'] = $begegnung['Heim_Satzpunkte'];
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['erg_gast'] = $begegnung['Gast_Satzpunkte'];
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['link'] = SportsManagerURL('&task=begegnung_spielplan&veranstaltungid=' . $veranstaltungId . '&id=' . $begegnung['begegnung_id']);
$tooltiptext = $begegnung['Runde'] . ": " . htmlentities($begegnung['Heim']) . " vs. " . htmlentities($begegnung['Gast']);
if ($begegnung['Heim_Satzpunkte'] > 0 || $begegnung['Gast_Satzpunkte'] > 0)
$tooltiptext .= " - " . $begegnung['Heim_Satzpunkte'] . " : " . $begegnung['Gast_Satzpunkte'];
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['tooltiptext'] = $tooltiptext;
if ($begegnung['Heim_Satzpunkte'] > $begegnung['Gast_Satzpunkte']) {
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1;
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
if (round($begegnung['Spiel_Nr'] % 2))
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = htmlentities($begegnung['Heim']);
else
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
}
} else
if ($begegnung['Heim_Satzpunkte'] < $begegnung['Gast_Satzpunkte']) {
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
if (round($begegnung['Spiel_Nr'] % 2))
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = htmlentities($begegnung['Gast']);
else
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
}
} else {
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 0;
}
}
$veranstaltung->anzahlRunden = $anzahlRunden;
HTML_sportsmanager::turnierbaumAnzeigen($veranstaltung,$begegnungen);
}
function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfenster, $ausgetragene_filtern = false, $auszutragende_filtern = false, $zwischenergebnisse_filtern = false, $titel = "", $umgekehrte_reihenfolge = false, $aus_uebersicht = false, $praesentation = 0, $year = NULL, $month = NULL) function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfenster, $ausgetragene_filtern = false, $auszutragende_filtern = false, $zwischenergebnisse_filtern = false, $titel = "", $umgekehrte_reihenfolge = false, $aus_uebersicht = false, $praesentation = 0, $year = NULL, $month = NULL)
{ {
$db = getDatabase(); $db = getDatabase();
@@ -2172,7 +2483,8 @@ function begegnungenAnzeigen($veranstaltung, $verein_id, $spielort_id, $zeitfens
. "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id" . "\n LEFT JOIN #__sportsmanager_veranstaltung AS t5 ON t2.veranstaltung_id = t5.veranstaltung_id"
. "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id" . "\n LEFT JOIN #__sportsmanager_verschieberegel AS t6 ON t5.verschieberegel_id = t6.verschieberegel_id"
. "\n WHERE t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . " AND t2.veranstaltung_id = $veranstaltung->veranstaltung_id" . ($zeitfenster > 0 ? " AND (ABS(DATEDIFF(zeitpunkt, CURDATE())) <= $zeitfenster OR (heim_punkte = 0 AND gast_punkte = 0 AND (SELECT IF(aktion NOT IN (0, 3, 4), 0, 1) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) = 1))" : "") . ($ausgetragene_filtern ? " AND ISNULL(heim_punkte) AND ISNULL(gast_punkte)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0)" : "") . "\n WHERE t5.status > 0" . kategorieFilter("AND t5.kategorie IN") . " AND t2.veranstaltung_id = $veranstaltung->veranstaltung_id" . ($zeitfenster > 0 ? " AND (ABS(DATEDIFF(zeitpunkt, CURDATE())) <= $zeitfenster OR (heim_punkte = 0 AND gast_punkte = 0 AND (SELECT IF(aktion NOT IN (0, 3, 4), 0, 1) FROM #__sportsmanager_begegnung_historie AS tt1 USE INDEX (begegnung_id) WHERE tt1.begegnung_id = t1.begegnung_id ORDER BY begegnung_historie_id DESC LIMIT 1) = 1))" : "") . ($ausgetragene_filtern ? " AND ISNULL(heim_punkte) AND ISNULL(gast_punkte)" : "") . ($auszutragende_filtern ? " AND (heim_punkte != 0 OR gast_punkte != 0)" : "")
. "\n ORDER BY " . ((($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) && $zeitfenster == 0) ? ("t1.spieltag" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", s1.name, ") : "") . "t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name"; . "\n ORDER BY " . ((($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) && $zeitfenster == 0) ? ("t1.spieltag" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", t1.spiel_nr, s1.name, ") : "") . "t1.zeitpunkt" . ($umgekehrte_reihenfolge ? " DESC" : "") . ", heim_name";
$begegnungen = loadObjectList($db, $query); $begegnungen = loadObjectList($db, $query);
$modus_id = $veranstaltung->modus_id; $modus_id = $veranstaltung->modus_id;
@@ -4366,7 +4678,7 @@ function teamstatistikAktualisieren($geaenderte_veranstaltung_id = 0, $geaendert
$aktueller_spieltag = count($spieltage) > 0 ? $spieltage[0]->spieltag : 0; $aktueller_spieltag = count($spieltage) > 0 ? $spieltage[0]->spieltag : 0;
// Direkter Vergleich, wenn mindestens die Hälfte der Spieltage gespielt sind. // Direkter Vergleich, wenn mindestens die Hälfte der Spieltage gespielt sind.
if ($veranstaltung->direktervergleich AND $anzahl_spieltage_gespielt >= $anzahl_spieltage_komplett/2){ if ($veranstaltung->direktervergleich && $anzahl_spieltage_gespielt >= $anzahl_spieltage_komplett/2 && $anzahl_spieltage_komplett >= 3){
$teams = getTabelleDirekterVergleich($teams,$veranstaltung,$aktueller_spieltag); $teams = getTabelleDirekterVergleich($teams,$veranstaltung,$aktueller_spieltag);
} }
@@ -1096,6 +1096,8 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
<th nowrap style='text-align: left; font-size: 70%; font-style: italic;'> <th nowrap style='text-align: left; font-size: 70%; font-style: italic;'>
<?php <?php
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))
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);
?> ?>
@@ -1228,6 +1230,143 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
} }
} }
static function turnierbaumAnzeigen($veranstaltung,$begegnungen): void
{
$hoehe = 50;
$breite = 200;
$abstand = 20;
$anzahlRunden = $veranstaltung->anzahlRunden;
$matches = count($begegnungen[1]);
$mannschaften = pow(2, $anzahlRunden - 1) * 2;
$fontsize = 11;
?>
<style>
.container {
position: relative;
text-align: left;
height: <?php echo $matches * $hoehe + 50; ?>px;
width: <?php echo $anzahlRunden * ($breite + $abstand); ?>px;
overflow: auto;
z-index: 1;
}
.linien{
position: absolute;
height: <?php echo $matches * $hoehe; ?>px;
width: <?php echo $anzahlRunden * ($breite + $abstand); ?>px;
top: 0;
left: 0;
stroke: lightgray;
stroke-width: 2;
}
.matchbox {
position: absolute;
white-space: nowrap;
overflow: hidden;
height: 48px;
background: white;
color: black;
border: 1.5px solid #000000;
padding: 5px;
width: <?php echo $breite - 12; ?>px;
border-radius: 12px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
text-align: center;
font-size: <?php echo $fontsize; ?>px;
vertical-align: middle;
z-index: 10;
}
.winner {
font-weight: bold;
}
.looser {
text-decoration: line-through;
}
</style>
<div style='position: relative; text-align: left;'>
<div class="container" style="top: 0px; left: 20px;">
<?php
$anzahlSpiele = pow(2, $anzahlRunden - 1);
for ($runde = 0; $runde < $anzahlRunden; $runde++)
{
$offset = pow(2, $runde) * 25 - 25;
for ($spiel = 0; $spiel < $anzahlSpiele; $spiel++)
{
$class['heim'] = "";
$class['gast'] = "";
if ($begegnungen[$runde + 1][$spiel + 1]['sieger'] == 1) {
$class['heim'] = "winner";
$class['gast'] = "looser";
}
if ($begegnungen[$runde + 1][$spiel + 1]['sieger'] == 2) {
$class['heim'] = "looser";
$class['gast'] = "winner";
}
$oben = $hoehe * pow(2, $runde) * $spiel + $offset;
$links = ($breite + $abstand) * $runde;
echo "\n<div ";
if ($begegnungen[$runde + 1][$spiel + 1]['link'])
echo "onclick=\"window.location.href='" . $begegnungen[$runde + 1][$spiel + 1]['link'] . "';\" ";
echo "class='matchbox' style='top: " . $oben . "px; left: " . $links . "px;'
title='" . $begegnungen[$runde + 1][$spiel + 1]['tooltiptext'] . "'>";
echo "<span class='" . $class['heim'] . "'>";
echo $begegnungen[$runde + 1][$spiel + 1]['heim'] ?? '';
echo "</span>";
echo "<br>";
echo "<span class='" . $class['gast'] . "'>";
echo $begegnungen[$runde + 1][$spiel + 1]['gast'] ?? '';
echo "</span>";
echo "</div>\n";
}
$anzahlSpiele = $anzahlSpiele/2;
}
?>
<?php
$anzahlSpiele = pow(2, $anzahlRunden - 1);
echo "\n<svg class='linien'>";
for ($runde = 0; $runde < $anzahlRunden; $runde++)
{
$offset_oben = pow(2, $runde) * 25 - 1;
$offset_links = 12;
for ($spiel = 0; $spiel < $anzahlSpiele; $spiel++)
{
$oben = $hoehe * pow(2, $runde) * $spiel + $offset_oben;
$links = $breite * ($runde + 1) + $runde * $abstand - $offset_links;
$rechts = $links - $breite - $abstand/2 + $offset_links;
$mitte = $links + $abstand/2 + $offset_links/2;
if ($spiel % 2)
$startvertikal = $oben;
else
$endevertikal = $oben;
//Linie rechts von Box
if ($runde < $anzahlRunden - 1){
echo "\n<line x1='".$links."' y1='".$oben."' x2='".$mitte."' y2='".$oben."' />";
}
//Linie links von Box
if ($runde > 0){
echo "\n<line x1='".($rechts - $offset_links/2)."' y1='".$oben."' x2='".($rechts + $abstand/2)."' y2='".$oben."' />";
}
//Vertkal Linie
if ($spiel % 2)
echo "\n<line x1='".$mitte."' y1='".$startvertikal."' x2='".$mitte."' y2='".$endevertikal."' />";
}
$anzahlSpiele = $anzahlSpiele/2;
}
?>
</svg>
</div>
</div>
<?php
}
static function begegnungSpielplan($veranstaltung, $modus, $begegnung, $heim_team, $gast_team, $spiele, $vorherige_begegnung_id, $naechste_begegnung_id, $teamansicht_team, $details_anzeigen):void static function begegnungSpielplan($veranstaltung, $modus, $begegnung, $heim_team, $gast_team, $spiele, $vorherige_begegnung_id, $naechste_begegnung_id, $teamansicht_team, $details_anzeigen):void
{ {
global $params; global $params;
@@ -2945,7 +3084,6 @@ static function tabelleAnzeigen($veranstaltung, $modus, $teams, $spieltag, $spie
static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen): void static function vereine($titel, $beschreibung, $rows, $organisationAnzeigen): void
{ {
//$organisationAnzeigen = 1;
global $params; global $params;
if (!empty($titel)) { ?> if (!empty($titel)) { ?>
<div <div
@@ -12,31 +12,6 @@ defined('_JEXEC') or die('Restricted access');
require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php'; require_once JPATH_SITE . '/components/com_sportsmanager/views/sportsmanager/view_tools.php';
require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php'; require_once JPATH_SITE . '/components/com_sportsmanager/util/image.php';
function formatTimediff( $timestamp1, $timestamp2, $verbose ): string
{
if (empty($timestamp1) || empty($timestamp2)) {
return "";
} else {
$daydiff = round(($timestamp2 - $timestamp1) / (3600.0 * 24.0));
if ($verbose) {
return sprintf("%+d d", $daydiff);
} else if (abs($daydiff) > 0) {
return sprintf("%dd", $daydiff);
} else {
return "-";
}
}
}
function formatTeamName( $team_name, $team_id, $highlight_team_id ): string
{
if ($team_id == $highlight_team_id) {
return "<b><i>" . htmlentities_utf8($team_name) . "</i></b>";
} else {
return htmlentities_utf8($team_name);
}
}
class HTML_sportsmanager_admin class HTML_sportsmanager_admin
{ {
private static $versionData = null; private static $versionData = null;
@@ -54,9 +29,32 @@ class HTML_sportsmanager_admin
return self::$versionData['version'] ?? 'DEV'; return self::$versionData['version'] ?? 'DEV';
} }
static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void static function formatTimediff( $timestamp1, $timestamp2, $verbose ): string
{ {
function checkZeilenumbruch($Spalte_Nr, $max_Spalten): int if (empty($timestamp1) || empty($timestamp2)) {
return "";
} else {
$daydiff = round(($timestamp2 - $timestamp1) / (3600.0 * 24.0));
if ($verbose) {
return sprintf("%+d d", $daydiff);
} else if (abs($daydiff) > 0) {
return sprintf("%dd", $daydiff);
} else {
return "-";
}
}
}
static function formatTeamName( $team_name, $team_id, $highlight_team_id ): string
{
if ($team_id == $highlight_team_id) {
return "<b><i>" . htmlentities_utf8($team_name) . "</i></b>";
} else {
return htmlentities_utf8($team_name);
}
}
static function checkZeilenumbruch($Spalte_Nr, $max_Spalten): int
{ {
$Spalte_Nr++; $Spalte_Nr++;
if ($Spalte_Nr >= $max_Spalten){ if ($Spalte_Nr >= $max_Spalten){
@@ -66,6 +64,9 @@ class HTML_sportsmanager_admin
return $Spalte_Nr; return $Spalte_Nr;
} }
static function adminUebersicht($veranstaltungen, $spielerstatistiken, $turniere, $ranglisten, $individualwettbewerbe, $statistik, $saisons, $filter_saison_id, $externe_datenbank): void
{
global $params; global $params;
?> ?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style='font-weight: bold;'> <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" style='font-weight: bold;'>
@@ -83,7 +84,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_spieler'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_PLAYERS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_spieler'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_PLAYERS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("vereine_aendern")) { if (benutzerZugriff("vereine_aendern")) {
?> ?>
@@ -91,7 +92,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_vereine'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CLUBS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_vereine'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CLUBS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("organisationen_aendern")) { if (benutzerZugriff("organisationen_aendern")) {
?> ?>
@@ -99,7 +100,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_veranstalter'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ORGANISATIONS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_veranstalter'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ORGANISATIONS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("kategorien_aendern")) { if (benutzerZugriff("kategorien_aendern")) {
?> ?>
@@ -107,7 +108,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_kategorien'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CATEGORIES'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_kategorien'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CATEGORIES'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("moderatoren_aendern")) { if (benutzerZugriff("moderatoren_aendern")) {
?> ?>
@@ -115,7 +116,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_moderatoren'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MODERATORS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_moderatoren'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MODERATORS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("einstufungen_aendern")) { if (benutzerZugriff("einstufungen_aendern")) {
?> ?>
@@ -123,7 +124,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_einstufungen'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CLASSIFICATIONS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_einstufungen'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CLASSIFICATIONS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("basiseinstellungen_aendern")) { if (benutzerZugriff("basiseinstellungen_aendern")) {
?> ?>
@@ -131,13 +132,13 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_einstellungen'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_SETTINGS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_einstellungen'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_SETTINGS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
?> ?>
<td style="padding-right: 15px" nowrap> <td style="padding-right: 15px" nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_datenbank'); ?>"><?php echo $externe_datenbank ? Text::_('COM_SPORTSMANAGER_DATABASE_EXTERNAL') : Text::_('COM_SPORTSMANAGER_DATABASE_LOCAL'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_datenbank'); ?>"><?php echo $externe_datenbank ? Text::_('COM_SPORTSMANAGER_DATABASE_EXTERNAL') : Text::_('COM_SPORTSMANAGER_DATABASE_LOCAL'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("termine_aendern")) { if (benutzerZugriff("termine_aendern")) {
?> ?>
@@ -145,7 +146,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_termine'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_APPOINTMENTS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_termine'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_APPOINTMENTS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("verteiler_aendern") || benutzerZugriff("verteiler_lesen")) { if (benutzerZugriff("verteiler_aendern") || benutzerZugriff("verteiler_lesen")) {
?> ?>
@@ -153,7 +154,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_verteiler'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MAILING_LISTS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_verteiler'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_MAILING_LISTS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("rechnungen_aendern") && $statistik["saisons"] > 0) { if (benutzerZugriff("rechnungen_aendern") && $statistik["saisons"] > 0) {
?> ?>
@@ -161,7 +162,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_rechnungen'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_INVOICES'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_rechnungen'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_INVOICES'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("spielorte_aendern")) { if (benutzerZugriff("spielorte_aendern")) {
?> ?>
@@ -169,7 +170,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_spielorte'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_LOCATIONS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_spielorte'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_LOCATIONS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("saisons_aendern")) { if (benutzerZugriff("saisons_aendern")) {
?> ?>
@@ -177,7 +178,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_saisons'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_SEASONS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_saisons'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_SEASONS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("mannschaftsspielplaene_aendern")) { if (benutzerZugriff("mannschaftsspielplaene_aendern")) {
?> ?>
@@ -185,7 +186,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_teamspiel_modi'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TEAM_PLANS'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_teamspiel_modi'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TEAM_PLANS'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("verschieberegeln_aendern")) { if (benutzerZugriff("verschieberegeln_aendern")) {
?> ?>
@@ -193,7 +194,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_verschieben_modi'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_POSTPONE_RULES'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_verschieben_modi'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_POSTPONE_RULES'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
if (benutzerZugriff("ranglistenwertungen_aendern")) { if (benutzerZugriff("ranglistenwertungen_aendern")) {
?> ?>
@@ -201,7 +202,7 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_ranglistensysteme'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_RANKING_RATING'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_ranglistensysteme'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_RANKING_RATING'); ?></a>
</td> </td>
<?php <?php
$Spalte_Nr = checkZeilenumbruch($Spalte_Nr, $max_Spalten); self::checkZeilenumbruch($Spalte_Nr, $max_Spalten);
} }
?> ?>
</tr> </tr>
@@ -622,6 +623,7 @@ class HTML_sportsmanager_admin
static function adminEinstellungen($einstellungen): void static function adminEinstellungen($einstellungen): void
{ {
global $params; global $params;
?> ?>
<div <div
@@ -642,8 +644,8 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<input class="inputbox" type="text" name="basis_spielernr" <input class="uk-select uk-form-width-medium" type="text" name="basis_spielernr"
id="base_playerid" size="30" maxlength="30" id="base_playerid" size="30" maxlength="30" style="height: 36px;"
value="<?php if (isset($einstellungen["basis_spielernr"])) echo htmlentities_utf8($einstellungen["basis_spielernr"]); ?>"/> value="<?php if (isset($einstellungen["basis_spielernr"])) echo htmlentities_utf8($einstellungen["basis_spielernr"]); ?>"/>
</td> </td>
</tr> </tr>
@@ -753,6 +755,24 @@ class HTML_sportsmanager_admin
</select> </select>
</td> </td>
</tr> </tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="show_tournament_bracket"><?php echo Text::_('COM_SPORTSMANAGER_SHOW_TOURNAMENT_BRACKET'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="turnierbaum_zeigen"
id="show_tournament_bracket" size="1">
<?php
$turnierbaum_zeigen = array(0 => Text::_('JNO'), 1 => Text::_('JYES'));
foreach ($turnierbaum_zeigen as $wert => $bezeichnung) {
echo "<option value=\"" . $wert . "\"" . (isset($einstellungen["turnierbaum_zeigen"]) && $einstellungen["turnierbaum_zeigen"] == $wert ? " selected" : "") . ">" . htmlentities_utf8($bezeichnung) . "</option>";
}
?>
</select>
</td>
</tr>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -5005,11 +5025,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="" 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="" style="width: 100%"> <table style="width: 100%">
<?php <?php
for ($typ = 1; $typ <= 7; $typ++) { for ($typ = 1; $typ <= 7; $typ++) {
?> ?>
@@ -7031,11 +7051,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"
enctype="multipart/form-data"> enctype="multipart/form-data">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="" 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="" 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
@@ -7269,7 +7289,9 @@ class HTML_sportsmanager_admin
10 => Text::_('COM_SPORTSMANAGER_ONLY_DETAILED_RATING_POINT_DIFFERENCE'), 10 => Text::_('COM_SPORTSMANAGER_ONLY_DETAILED_RATING_POINT_DIFFERENCE'),
11 => Text::_('COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE'), 11 => Text::_('COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE'),
-1 => Text::_('COM_SPORTSMANAGER_KO_SIMPLE_FULL'), -1 => Text::_('COM_SPORTSMANAGER_KO_SIMPLE_FULL'),
-2 => Text::_('COM_SPORTSMANAGER_MANUAL_PRO_TEAMS') -2 => Text::_('COM_SPORTSMANAGER_MANUAL_PRO_TEAMS'),
-3 => Text::_('COM_SPORTSMANAGER_CUP_DRAW_EVERY_ROUND'),
-4 => Text::_('COM_SPORTSMANAGER_CUP_USING_SEEDING_LIST')
); );
foreach ($typ as $typ_wert => $typ_bezeichnung) foreach ($typ as $typ_wert => $typ_bezeichnung)
echo "<option value=\"" . $typ_wert . "\"" . ($row != null ? ($row->tabellenwertung == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . "</option>"; echo "<option value=\"" . $typ_wert . "\"" . ($row != null ? ($row->tabellenwertung == $typ_wert ? " selected" : "") : "") . ">" . htmlentities_utf8($typ_bezeichnung) . "</option>";
@@ -7311,6 +7333,24 @@ class HTML_sportsmanager_admin
</select> </select>
</td> </td>
</tr> </tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="spieltag_titel_zeigen"><?php echo Text::_('COM_SPORTSMANAGER_SHOW_MATCHDAY_TITLE'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="spieltag_titel_zeigen"
id="elo_rating" size="1">
<?php
$spieltag_titel_zeigen = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
for ($i = 0; $i <= 1; $i++) {
echo "<option value=\"" . $i . "\"" . ($row != null ? ($row->spieltag_titel_zeigen == $i ? " selected" : "") : "") . ">" . htmlentities_utf8($spieltag_titel_zeigen[$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
@@ -7461,8 +7501,7 @@ 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"/>
<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="vorlage" value="<?php echo $vorlage; ?>"/> <input type="hidden" name="vorlage" value="<?php echo $vorlage; ?>"/>
<input type="hidden" name="task" value="admin_veranstaltung_save"/> <input type="hidden" name="task" value="admin_veranstaltung_save"/>
<input type="hidden" name="id" value="<?php echo($row != null ? $row->veranstaltung_id : "0"); ?>"/> <input type="hidden" name="id" value="<?php echo($row != null ? $row->veranstaltung_id : "0"); ?>"/>
@@ -7602,6 +7641,11 @@ class HTML_sportsmanager_admin
{ {
global $params; global $params;
?> ?>
<style>
td {
padding: 2px;
}
</style>
<div <div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TEAM_TO_COMPETE'); ?> class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_TEAM_TO_COMPETE'); ?>
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?> '<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
@@ -7610,22 +7654,33 @@ 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"
enctype="multipart/form-data"> enctype="multipart/form-data">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%"> <table style="width: 100%;padding-top: 20px;">
<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 for="team_name"><?php echo Text::_('COM_SPORTSMANAGER_TEAM_NAME'); ?> <label for="team_name"><?php echo Text::_('COM_SPORTSMANAGER_TEAM_NAME'); ?>
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<input class="inputbox" type="text" name="teamname" id="team_name" size="50" <input class="uk-select uk-form-width-medium" type="text" name="teamname" id="team_name"
maxlength="50" size="50" maxlength="50" style="height: 34px; width: 370px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->teamname); ?>"/> value="<?php if ($row != null) echo htmlentities_utf8($row->teamname); ?>"/>
</td> </td>
</tr> </tr>
<tr>
<td nowrap style="width: 20%; text-align: right;">
<label for="team_name_kurz"><?php echo Text::_('COM_SPORTSMANAGER_TEAM_NAME_SHORT'); ?>
:</label>
</td>
<td nowrap>
<input class="uk-select uk-form-width-medium" type="text" name="teamname_kurz" id="team_name_kurz"
size="50" maxlength="24" style="height: 34px; width: 370px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->teamname_kurz); ?>"/>
</td>
</tr>
<?php <?php
if ($veranstaltung->tabellenwertung == -2) { if ($veranstaltung->tabellenwertung == -2) {
?> ?>
@@ -7635,7 +7690,7 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<input class="inputbox" type="text" name="platz" id="place" size="5" <input class="uk-select uk-form-width-medium" type="text" name="platz" id="place" size="5"
maxlength="6" maxlength="6"
value="<?php if ($row != null) echo htmlentities_utf8($row->platz); ?>"/> value="<?php if ($row != null) echo htmlentities_utf8($row->platz); ?>"/>
</td> </td>
@@ -7649,7 +7704,7 @@ class HTML_sportsmanager_admin
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="verein_id" id="club" <select class="uk-select uk-form-width-medium" name="verein_id" id="club"
size="1"> style="width: 370px;" size="1">
<option <option
value="0"><?php echo Text::_('COM_SPORTSMANAGER_NONE'); ?></option> value="0"><?php echo Text::_('COM_SPORTSMANAGER_NONE'); ?></option>
<?php <?php
@@ -7676,8 +7731,8 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<input class="inputbox" type="text" name="tischtyp" id="table_type" <input class="uk-select uk-form-width-medium" type="text" name="tischtyp" id="table_type"
size="50" maxlength="200" size="50" maxlength="200" style="height: 34px; width: 370px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->tischtyp); ?>"/> value="<?php if ($row != null) echo htmlentities_utf8($row->tischtyp); ?>"/>
</td> </td>
</tr> </tr>
@@ -7688,9 +7743,8 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<input class="inputbox" type="text" name="tischeigenschaften" <input class="uk-select uk-form-width-medium" type="text" name="tischeigenschaften" id="table_characteristics"
id="table_characteristics" size="50" size="24" maxlength="50" style="height: 34px; width: 370px;"
maxlength="200"
value="<?php if ($row != null) echo htmlentities_utf8($row->tischeigenschaften); ?>"/> value="<?php if ($row != null) echo htmlentities_utf8($row->tischeigenschaften); ?>"/>
</td> </td>
</tr> </tr>
@@ -7699,8 +7753,8 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>: <?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>:
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="heimspiel_wochentag" <select class="uk-select uk-form-width-small" name="heimspiel_wochentag"
size="1" style="width: 160px;" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>">
<?php <?php
$wochentag = $row != null ? $row->heimspiel_wochentag : 0; $wochentag = $row != null ? $row->heimspiel_wochentag : 0;
@@ -7711,9 +7765,9 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-small"
name="heimspiel_uhrzeit_stunden" name="heimspiel_uhrzeit_stunden"
size="1" style="width: 100px;" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>">
<?php <?php
$stunden = $row != null ? floor($row->heimspiel_uhrzeit / 100) : -1; $stunden = $row != null ? floor($row->heimspiel_uhrzeit / 100) : -1;
@@ -7723,9 +7777,9 @@ class HTML_sportsmanager_admin
} }
?> ?>
</select> </select>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-small"
name="heimspiel_uhrzeit_minuten" name="heimspiel_uhrzeit_minuten"
size="1" style="width: 100px;" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_HOME_MATCH_TIME'); ?>">
<?php <?php
$minuten = $row != null ? $row->heimspiel_uhrzeit % 100 : -1; $minuten = $row != null ? $row->heimspiel_uhrzeit % 100 : -1;
@@ -7744,7 +7798,7 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="heimspielort_id" <select class="uk-select uk-form-width-medium" name="heimspielort_id" style="width: 370px;"
id="home_venue" size="1"> id="home_venue" size="1">
<option <option
value="0"><?php echo Text::_('COM_SPORTSMANAGER_NONE'); ?></option> value="0"><?php echo Text::_('COM_SPORTSMANAGER_NONE'); ?></option>
@@ -7772,7 +7826,7 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="nichtraucherschutz" <select class="uk-select uk-form-width-medium" name="nichtraucherschutz" style="width: 370px;"
id="non_smoker_protection" size="1"> id="non_smoker_protection" size="1">
<?php <?php
$typ = array( $typ = array(
@@ -7803,7 +7857,7 @@ class HTML_sportsmanager_admin
:</label> :</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-medium" name="zusatzpunkte" <select class="uk-select uk-form-width-medium" name="zusatzpunkte" style="width: 370px;"
id="penality_points" size="1"> id="penality_points" size="1">
<?php <?php
echo "<option value=\"0\">0</option>"; echo "<option value=\"0\">0</option>";
@@ -7848,7 +7902,7 @@ class HTML_sportsmanager_admin
echo "<input type=\"hidden\" name=\"weitere_veranstaltung_id_" . $i . "\" value=\"" . $veranstaltungen_beruecksichtigt[$i] . "\">"; echo "<input type=\"hidden\" name=\"weitere_veranstaltung_id_" . $i . "\" value=\"" . $veranstaltungen_beruecksichtigt[$i] . "\">";
} else { } else {
?> ?>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium" style="width: 370px;"
name="weitere_veranstaltung_id_<?php echo $i; ?>" name="weitere_veranstaltung_id_<?php echo $i; ?>"
id="further_competition" size="1"> id="further_competition" size="1">
<option value="0"></option> <option value="0"></option>
@@ -7959,13 +8013,12 @@ class HTML_sportsmanager_admin
</td> </td>
<td nowrap> <td nowrap>
<table style="border-spacing: 0; padding: 0"> <table style="border-spacing: 0; padding: 0">
<tr>
<?php <?php
$berechtigte = $berechtigt_fuer_team != null ? count($berechtigt_fuer_team) : 0; $berechtigte = $berechtigt_fuer_team != null ? count($berechtigt_fuer_team) : 0;
for ($nummer = 1; $nummer <= 6; $nummer++) { for ($nummer = 1; $nummer <= 6; $nummer++) {
?> ?>
<td nowrap> <tr><td nowrap>
<select class="uk-select uk-form-width-medium" <select class="uk-select uk-form-width-medium" style="width: 370px;"
name="berechtigt_fuer_team_user_<?php echo $nummer; ?>_id" name="berechtigt_fuer_team_user_<?php echo $nummer; ?>_id"
size="1" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_ELIGIBLE_FOR_TEAM'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_ELIGIBLE_FOR_TEAM'); ?>">
@@ -7975,12 +8028,10 @@ class HTML_sportsmanager_admin
echo "<option value=\"" . $user->id . "\"" . ($nummer <= $berechtigte && $berechtigt_fuer_team[$nummer - 1]->berechtigt_user_id == $user->id ? "selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "</option>"; echo "<option value=\"" . $user->id . "\"" . ($nummer <= $berechtigte && $berechtigt_fuer_team[$nummer - 1]->berechtigt_user_id == $user->id ? "selected" : "") . ">" . htmlentities_utf8($user->name) . ($user->username != $user->name ? (" (" . htmlentities_utf8($user->username) . ")") : "") . "</option>";
?> ?>
</select> </select>
</td> </td></tr>
<?php <?php
if ($nummer != 0 && $nummer % 2 == 0) echo "</tr><tr>";
} }
?> ?>
</tr>
</table> </table>
</td> </td>
</tr> </tr>
@@ -8695,39 +8746,52 @@ class HTML_sportsmanager_admin
static function adminBegegnungen($veranstaltung, $modus, $rows): void static function adminBegegnungen($veranstaltung, $modus, $rows): void
{ {
global $params; global $params;
$max_Spalten = 4;
$Spalte_Nr = 0;
?> ?>
<div <div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?> class="componentheading<?php echo $params->get('pageclass_sfx'); ?>">
<?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTERS'); ?>
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?> '<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
': <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div> ': <?php echo Text::_('COM_SPORTSMANAGER_JOOMLA_MANAGEMENT'); ?></div>
<table style="border-spacing: 10px">
<table style="border-spacing: 10px; width: 100%;">
<tr> <tr>
<td nowrap> <td colspan="3" nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_uebersicht'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_uebersicht'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?></a>
</td> </td>
</tr> </tr>
<tr>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnung_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ADD_MEETING'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_begegnung_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ADD_MEETING'); ?></a>
</td> </td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<?php if ($veranstaltung->tabellenwertung == -3 || $veranstaltung->tabellenwertung == -4){ ?>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_runde_erzeugen_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo $veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND_GENERATION'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_begegnungen_pokalrunde_auslosen_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CUP_ROUND_GENERATION'); ?></a>
</td> </td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<?php } else { ?>
<td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_runde_erzeugen_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo $veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY_GENERATION') : Text::_('COM_SPORTSMANAGER_ROUND_GENERATION'); ?></a>
</td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_generieren_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_GENERATE_GROUP_GAME'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_begegnungen_generieren_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_GENERATE_GROUP_GAME'); ?></a>
</td> </td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_importieren_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_begegnungen_importieren_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GROUP_GAME'); ?></a>
</td> </td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<?php } ?>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_alle_entfernen&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>" <a href="<?php echo SportsManagerURL('&task=admin_begegnungen_alle_entfernen&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"
onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS'); ?>');"><?php echo Text::_('COM_SPORTSMANAGER_REMOVE_ALL_MATCHES'); ?></a> onclick="return confirm('<?php echo Text::_('COM_SPORTSMANAGER_REMOVE_ALL_ENCOUNTERS'); ?>');"><?php echo Text::_('COM_SPORTSMANAGER_REMOVE_ALL_MATCHES'); ?></a>
</td> </td>
<?php self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_export_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_EXPORT'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_begegnungen_export_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_EXPORT'); ?></a>
</td> </td>
</tr>
</table> </table>
<?php <?php
@@ -8765,13 +8829,21 @@ class HTML_sportsmanager_admin
<?php <?php
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) { if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
?> ?>
<td nowrap style="text-align: center"> <td nowrap style="text-align: center;">
<a id="id<?php echo $row->begegnung_id; ?>"></a> <a id="id<?php echo $row->begegnung_id; ?>"></a>
<?php <?php
if ($veranstaltung->spieltag_titel_zeigen == 0){
if ($spieltag != $row->spieltag) { if ($spieltag != $row->spieltag) {
$spieltag = $row->spieltag; $spieltag = $row->spieltag;
echo htmlentities_utf8(Rundenbezeichnung($spieltag, $veranstaltung->unterteilung == 0, true)); 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> </td>
<?php <?php
@@ -8784,7 +8856,7 @@ class HTML_sportsmanager_admin
if ($row->verlegung_eingetragen != null) if ($row->verlegung_eingetragen != null)
echo " **"; echo " **";
else if ($row->verlegt != 0) else if ($row->verlegt != 0)
echo " (" . formatTimediff($row->termin_original, $row->termin_akzeptiert, true) . ")"; echo " (" . self::formatTimediff($row->termin_original, $row->termin_akzeptiert, true) . ")";
if ($row->nichtraucherschutz == 0 && ((($row->heim_nichtraucherschutz == 1 || $row->heim_nichtraucherschutz == 2 || $row->heim_nichtraucherschutz == 3) && ($row->gast_nichtraucherschutz == 3 || $row->gast_nichtraucherschutz == 7 || $row->gast_nichtraucherschutz == 8)) || (($row->heim_nichtraucherschutz == 5 || $row->heim_nichtraucherschutz == 6 || $row->heim_nichtraucherschutz == 8) && ($row->gast_nichtraucherschutz == 1 || $row->gast_nichtraucherschutz == 4 || $row->gast_nichtraucherschutz == 5)))) if ($row->nichtraucherschutz == 0 && ((($row->heim_nichtraucherschutz == 1 || $row->heim_nichtraucherschutz == 2 || $row->heim_nichtraucherschutz == 3) && ($row->gast_nichtraucherschutz == 3 || $row->gast_nichtraucherschutz == 7 || $row->gast_nichtraucherschutz == 8)) || (($row->heim_nichtraucherschutz == 5 || $row->heim_nichtraucherschutz == 6 || $row->heim_nichtraucherschutz == 8) && ($row->gast_nichtraucherschutz == 1 || $row->gast_nichtraucherschutz == 4 || $row->gast_nichtraucherschutz == 5))))
echo " !"; echo " !";
?> ?>
@@ -8794,8 +8866,8 @@ class HTML_sportsmanager_admin
echo "<br/><small>" . Text::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($row->tisch) . "</small>"; echo "<br/><small>" . Text::_('COM_SPORTSMANAGER_MATCH_TABLE') . ": " . htmlentities_utf8($row->tisch) . "</small>";
?> ?>
</td> </td>
<td nowrap><?php echo formatTeamName($row->heim_name, $row->heim_team_id, $row->verantwortliches_team); ?></td> <td nowrap><?php echo self::formatTeamName($row->heim_name, $row->heim_team_id, $row->verantwortliches_team); ?></td>
<td nowrap><?php echo formatTeamName($row->gast_name, $row->gast_team_id, $row->verantwortliches_team); ?></td> <td nowrap><?php echo self::formatTeamName($row->gast_name, $row->gast_team_id, $row->verantwortliches_team); ?></td>
<td nowrap style="text-align: center"><a <td nowrap style="text-align: center"><a
href="<?php echo SportsManagerURL('&task=admin_begegnung_spielplan_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->begegnung_id); ?>"><?php if ($ergebnis_vorhanden) echo $row->heim_punkte . " : " . $row->gast_punkte; else echo "_ : _" ?></a><?php if ($row->unbestaetigtes_ergebnis_id != null) echo "<br /><small>" . ($row->zwischenergebnis ? "live" : "unbest&auml;tigt") . "</small>"; else if ($row->fehlende_spieler > 0) echo " (*)"; ?> href="<?php echo SportsManagerURL('&task=admin_begegnung_spielplan_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id . '&id=' . $row->begegnung_id); ?>"><?php if ($ergebnis_vorhanden) echo $row->heim_punkte . " : " . $row->gast_punkte; else echo "_ : _" ?></a><?php if ($row->unbestaetigtes_ergebnis_id != null) echo "<br /><small>" . ($row->zwischenergebnis ? "live" : "unbest&auml;tigt") . "</small>"; else if ($row->fehlende_spieler > 0) echo " (*)"; ?>
</td> </td>
@@ -8803,9 +8875,9 @@ class HTML_sportsmanager_admin
style="text-align: center"><?php if ($ergebnis_vorhanden) echo $row->heim_spielpunkte . " : " . $row->gast_spielpunkte; else echo "_ : _" ?><?php if ($row->unbestaetigtes_ergebnis_id != null) echo "<br /><small>" . ($row->zwischenergebnis ? "live" : "unbest&auml;tigt") . "</small>"; ?></td> style="text-align: center"><?php if ($ergebnis_vorhanden) echo $row->heim_spielpunkte . " : " . $row->gast_spielpunkte; else echo "_ : _" ?><?php if ($row->unbestaetigtes_ergebnis_id != null) echo "<br /><small>" . ($row->zwischenergebnis ? "live" : "unbest&auml;tigt") . "</small>"; ?></td>
<td nowrap align="center"> <td nowrap align="center">
<?php echo <?php echo
formatTimediff($row->termin_spiel, $row->ergebnis_vorgeschlagen, false) self::formatTimediff($row->termin_spiel, $row->ergebnis_vorgeschlagen, false)
. " / " . " / "
. formatTimediff($row->ergebnis_vorgeschlagen, $row->ergebnis_akzeptiert, false); . self::formatTimediff($row->ergebnis_vorgeschlagen, $row->ergebnis_akzeptiert, false);
?> ?>
</td> </td>
<td nowrap><small><a <td nowrap><small><a
@@ -9167,11 +9239,11 @@ class HTML_sportsmanager_admin
<form action="<?php echo SportsManagerURL('#id' . $begegnung->begegnung_id); ?>" method="post" name="adminForm" <form action="<?php echo SportsManagerURL('#id' . $begegnung->begegnung_id); ?>" method="post" name="adminForm"
id="adminForm"> id="adminForm">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="" 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="" 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">
<?php echo Text::_('COM_SPORTSMANAGER_SCHEDULE_DATE'); ?>: <?php echo Text::_('COM_SPORTSMANAGER_SCHEDULE_DATE'); ?>:
@@ -9829,9 +9901,8 @@ class HTML_sportsmanager_admin
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'); ?>">
<?php <?php
echo "<option value=\"".$rows[$teamnr-1]->team_id."\">".$rows[$teamnr-1]->teamname."</option>";
foreach ($rows as $team) foreach ($rows as $team)
echo "<option value=\"" . $team->team_id . "\">" . htmlentities_utf8($team->teamname) . "</option>"; echo "<option value=\"" . $team->team_id . "\" ". ($rows[$teamnr - 1]->team_id == $team->team_id ? " selected" : "") . ">" . htmlentities_utf8($team->teamname) . "</option>";
?> ?>
</select> </select>
<?php <?php
@@ -9841,9 +9912,8 @@ class HTML_sportsmanager_admin
name="team_id_<?php echo $teamnr + 1; ?>" size="1" name="team_id_<?php echo $teamnr + 1; ?>" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PAIRING_TEAM'); ?>"> aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PAIRING_TEAM'); ?>">
<?php <?php
echo "<option value=\"".$rows[$teamnr]->team_id."\">".$rows[$teamnr]->teamname."</option>";
foreach ($rows as $team) foreach ($rows as $team)
echo "<option value=\"" . $team->team_id . "\">" . htmlentities_utf8($team->teamname) . "</option>"; echo "<option value=\"" . $team->team_id . "\" ". ($rows[$teamnr]->team_id == $team->team_id ? " selected" : "") . ">" . htmlentities_utf8($team->teamname) . "</option>";
?> ?>
</select> </select>
<?php <?php
@@ -9879,21 +9949,22 @@ class HTML_sportsmanager_admin
static function adminBegegnungenImportieren($veranstaltung): void static function adminBegegnungenImportieren($veranstaltung): void
{ {
//Jürgen Meyer 07.03.2025
global $params; global $params;
?> ?>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"
style='background-color: blue; width: 500px; color: white;'> style='background-color: blue; width: 600px; color: white;'>
<?php echo Text::_('COM_SPORTSMANAGER_Import_GROUP_GAME2'); ?>&nbsp; <?php echo Text::_('COM_SPORTSMANAGER_Import_GROUP_GAME2'); ?>&nbsp;
<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?></div> <?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?></div>
<div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>" <div class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"
style='background-color:#0066CC; width: 500px; color: white;font-size: 12px;'> style='background-color:#0066CC; width: 600px; color: white;font-size: 14px;'>
Die Datei muss die Spalten Spieltag_Nr;Spielstart;Heim;Gast enthalten!<br> Die Datei muss die Spalten Spieltag_Nr;Spielstart;Heim;Gast enthalten!<br>
Die Daten müssen mit Semikolon getrennt sein<br> Die Daten müssen mit Semikolon getrennt sein!<br>
Die Spieltag_Nr muss eine Zahl zwischen 1 und 99 sein!<br> Die Spieltag_Nr muss eine Zahl zwischen 1 und 99 sein!<br>
Spielstart muss das Format TT.MM.JJJJ hh:mm:ss oder YYYY-MM-DD hh:mm:ss haben!<br> Spielstart muss das Format TT.MM.JJJJ hh:mm:ss oder YYYY-MM-DD hh:mm:ss haben!<br>
Die Mannschaften Heim und Gast m&uuml;ssen in der Gruppe enthalten sein! Optional kann auch Kalenderwoche und Spieljahr importiert werden.<br>
Die Mannschaften Heim und Gast m&uuml;ssen in der Gruppe enthalten sein!<br>
Als zusätzliche Option kann auch Spiel_Nr und Spieltag_Titel importiert werden.
</div> </div>
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
@@ -10165,24 +10236,210 @@ class HTML_sportsmanager_admin
<?php <?php
} }
static function adminBegegnungenPokalrundeAuslosenForm($veranstaltung,$auswahl_rundentitel): void
{
global $params;
$sperren = false;
$Fehlertext = "";
$task = "";
if ($veranstaltung->tabellenwertung == -3)
$task = "admin_begegnungen_pokalrunde_auslosen";
if ($veranstaltung->tabellenwertung == -4)
$task = "admin_begegnungen_pokalrunde_setzliste";
if ($veranstaltung->nicht_abgeschlossene_spiele){
$Fehlertext = "Es wurden noch nicht alle Spiele der vorherigen Runden abgeschlossen!!!";
$sperren = true;
}
if ($veranstaltung->letzteRunde < $veranstaltung->naechsteRunde){
$Fehlertext = "Es wurden alle Runden ausgelost!!!";
$sperren = true;
$veranstaltung->naechsteRunde = "";
$veranstaltung->titelVorschlag = "";
}
?>
<style>
td {
padding: 3px;
}
</style>
<div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_COMPETITION'); ?>
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
': <?php echo $veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY') : Text::_('COM_SPORTSMANAGER_ROUND'); ?>
generieren
</div>
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto">
<table style="width: 100%">
<tr>
<td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto">
<table style="width: 100%">
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="schedule_date"><?php echo Text::_('COM_SPORTSMANAGER_SCHEDULE_DATE'); ?>
:</label>
</td>
<td nowrap>
<script type="text/javascript">
function tag_changed() {
if (document.adminForm.datum_tag.value <= 0) {
document.adminForm.datum_monat.style.display = 'none';
document.adminForm.uhrzeit_stunden.style.display = 'none';
document.adminForm.uhrzeit_minuten.style.display = 'none';
} else {
document.adminForm.datum_monat.style.display = '';
document.adminForm.uhrzeit_stunden.style.display = '';
document.adminForm.uhrzeit_minuten.style.display = '';
}
}
</script>
<select class="uk-select uk-form-width-small" name="datum_tag"
id="schedule_date" size="1"
onchange="tag_changed();">
<?php
$datum = "0000-00-00";
$datum_tag = substr($datum, 8, 2);
echo "<option value=\"\"></option>";
echo "<optgroup label=\"" . Text::_('COM_SPORTSMANAGER_DAY') . "\" />";
for ($i = 1; $i <= 31; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_tag == $i ? "selected" : "") . ">" . $i . "</option>";
}
echo "<optgroup label=\"" . Text::_('COM_SPORTSMANAGER_CALENDAR_WEEK') . "\" />";
for ($i = 0; $i <= 53; $i++) {
echo "<option value=\"-" . $i . "\">" . Text::_('COM_SPORTSMANAGER_CALENDAR_WEEK_SHORTCUT') . " " . $i . "</option>";
}
?>
</select>
<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'); ?>">
<?php
$datum_monat = substr($datum, 5, 2);
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'));
for ($i = 1; $i <= 12; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_monat == $i ? "selected" : "") . ">" . htmlentities_utf8($monate[$i - 1]) . "</option>";
}
?>
</select>
<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'); ?>">
<?php
$datum_jahr = substr($datum, 0, 4);
echo "<option value=\"\"></option>";
for ($i = (int)Date("Y") + 5; $i >= 2000; $i--) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr == $i ? "selected" : "") . ">" . $i . "</option>";
}
?>
</select>
<select class="uk-select uk-form-width-small" name="uhrzeit_stunden" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>">
<?php
$stunden = -1;
echo "<option value=\"\"></option>";
for ($i = 0; $i <= 23; $i++) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr > 0 && $stunden == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . "</option>";
}
?>
</select>
<select class="uk-select uk-form-width-small" name="uhrzeit_minuten" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>">
<?php
$minuten = -1;
echo "<option value=\"\"></option>";
for ($i = 0; $i <= 59; $i += 5) {
echo "<option value=\"" . $i . "\" " . ($datum_jahr > 0 && $minuten == $i ? "selected" : "") . ">" . sprintf("%02d", $i) . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="runde"><?php echo Text::_('COM_SPORTSMANAGER_ROUND'); ?>:</label>
</td>
<td nowrap>
<input class="uk-select uk-form-width-xsmall" style="height: 34px; text-align: left;"
name="runde" id="runde" type="text" readonly value="<?php echo $veranstaltung->naechsteRunde; ?>"/>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="rundentitel"><?php echo Text::_('COM_SPORTSMANAGER_ROUND_TITLE'); ?>:</label>
</td>
<td nowrap>
<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"
value="<?php echo $veranstaltung->titelVorschlag; ?>"/>
<datalist id="auswahl_rundentitel" >
<?php if ($auswahl_rundentitel){ ?>
<?php foreach($auswahl_rundentitel AS $rundentitel){ ?>
<option value="<?= htmlspecialchars($rundentitel->spieltag_titel, ENT_QUOTES) ?>"></option>
<?php } ?>
<?php } ?>
</datalist>
</td>
</tr>
<?php if ($veranstaltung->letzteRunde == $veranstaltung->naechsteRunde) {$display = "";} else {$display = "none";} ?>
<tr style='display: <?php echo $display; ?>;'>
<td nowrap style="width: 20%; text-align: right">
<label for="spielumplatz3"><?php echo Text::_('COM_SPORTSMANAGER_MATCH_PLACE3'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="spielumplatz3" id="spielumplatz3" size="1">
<?php
$spielumplatz3 = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
for ($i = 0; $i <= 1; $i++) {
echo "<option value=\"" . $i . "\">" . htmlentities_utf8($spielumplatz3[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<?php if (!$sperren){ ?>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"/>
<?php } ?>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>" class="button"/>
<input type="hidden" name="task" value="<?php echo $task; ?>"/>
<input type="hidden" name="veranstaltungid" value="<?php echo $veranstaltung->veranstaltung_id; ?>"/>
</form>
<?php
if ($sperren)
echo "<span style='display: inline-block; height: 30px; background: red; color: white;vertical-align: middle;'>
$Fehlertext</span>\n";
}
static function adminBegegnungenExport($veranstaltung,$saison): void static function adminBegegnungenExport($veranstaltung,$saison): void
{ {
global $params; global $params;
?> ?>
<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="" style="width: 500px"> <table style="width: 500px">
<tr> <tr>
<th align=center colspan='2'><?php echo Text::_('COM_SPORTSMANAGER_EXPORT'); ?></th> <th style="text-align: center" colspan='2'><?php echo Text::_('COM_SPORTSMANAGER_EXPORT'); ?></th>
</tr> </tr>
<tr> <tr>
<td nowrap style="width: 120px; text-align: right"> <td nowrap style="width: 120px; text-align: right">
<label for="veranstaltungId">Veranstaltung</label> <label for="veranstaltungId">Veranstaltung</label>
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-large" style='width: 320px;' name="veranstaltungid" size="1"> <select class="uk-select uk-form-width-large" style='width: 320px;' name="veranstaltungId" id="veranstaltungId" size="1">
<option value='<?PHP echo $veranstaltung->veranstaltung_id; ?>'><?PHP echo $veranstaltung->bezeichnung; ?></option> <option value='<?PHP echo $veranstaltung->veranstaltung_id; ?>'><?PHP echo $veranstaltung->bezeichnung; ?></option>
<?PHP foreach ($saison AS $key => $value) { ?> <?PHP foreach ($saison AS $value) { ?>
<option value='<?PHP echo $value->veranstaltung_id; ?>'><?PHP echo $value->bezeichnung; ?></option> <option value='<?PHP echo $value->veranstaltung_id; ?>'><?PHP echo $value->bezeichnung; ?></option>
<?PHP } ?> <?PHP } ?>
</select> </select>
@@ -10194,9 +10451,9 @@ class HTML_sportsmanager_admin
</td> </td>
<td nowrap> <td nowrap>
<select class="uk-select uk-form-width-large" style='width: 320px;' name="export" id="export" size="1"> <select class="uk-select uk-form-width-large" style='width: 320px;' name="export" id="export" size="1">
<option value='spielberichte'>Spielberichte</option>
<option value='spieler'>Spieler</option> <option value='spieler'>Spieler</option>
<option value='spielplan'>Spielplan</option> <option value='spielplan'>Spielplan</option>
<option value='spielberichte'>Spielberichte</option>
</select> </select>
</td> </td>
</tr> </tr>
@@ -21,6 +21,7 @@ COM_SPORTSMANAGER_LOCATIONS="Spielorte"
COM_SPORTSMANAGER_SEASONS="Saisons" COM_SPORTSMANAGER_SEASONS="Saisons"
COM_SPORTSMANAGER_TEAM_PLANS="Mannschaftsspielpl&auml;ne" COM_SPORTSMANAGER_TEAM_PLANS="Mannschaftsspielpl&auml;ne"
COM_SPORTSMANAGER_TEAM_NAME="Mannschaftsname" COM_SPORTSMANAGER_TEAM_NAME="Mannschaftsname"
COM_SPORTSMANAGER_TEAM_NAME_SHORT="Mannschaftsname kurz (max 24)"
COM_SPORTSMANAGER_TEAM_NAME2="Vereinsname" COM_SPORTSMANAGER_TEAM_NAME2="Vereinsname"
COM_SPORTSMANAGER_TEAM_SEAT="Vereinssitz" COM_SPORTSMANAGER_TEAM_SEAT="Vereinssitz"
COM_SPORTSMANAGER_POSTPONE_RULES="Verschieberegeln" COM_SPORTSMANAGER_POSTPONE_RULES="Verschieberegeln"
@@ -130,10 +131,13 @@ COM_SPORTSMANAGER_QUARTER_FINAL_SHORTCUT="1/4"
COM_SPORTSMANAGER_ROUND_OF_16="Achtelfinale" COM_SPORTSMANAGER_ROUND_OF_16="Achtelfinale"
COM_SPORTSMANAGER_ROUND_OF_16_SHORTCUT="1/8" COM_SPORTSMANAGER_ROUND_OF_16_SHORTCUT="1/8"
COM_SPORTSMANAGER_ROUND_OF_32="Sechzehntelfinale" COM_SPORTSMANAGER_ROUND_OF_32="Sechzehntelfinale"
COM_SPORTSMANAGER_ROUND_OF_32_ALT="16-tel-Finale"
COM_SPORTSMANAGER_ROUND_OF_32_SHORTCUT="1/16" COM_SPORTSMANAGER_ROUND_OF_32_SHORTCUT="1/16"
COM_SPORTSMANAGER_ROUND_OF_64="Zweiunddreißigstelfinale" COM_SPORTSMANAGER_ROUND_OF_64="Zweiunddreißigstelfinale"
COM_SPORTSMANAGER_ROUND_OF_64_ALT="32-tel-Finale"
COM_SPORTSMANAGER_ROUND_OF_64_SHORTCUT="1/32" COM_SPORTSMANAGER_ROUND_OF_64_SHORTCUT="1/32"
COM_SPORTSMANAGER_ROUND_OF_128="Vierundsechzigstelfinale" COM_SPORTSMANAGER_ROUND_OF_128="Vierundsechzigstelfinale"
COM_SPORTSMANAGER_ROUND_OF_128_ALT="64-tel-Finale"
COM_SPORTSMANAGER_ROUND_OF_128_SHORTCUT="1/64" COM_SPORTSMANAGER_ROUND_OF_128_SHORTCUT="1/64"
COM_SPORTSMANAGER_DAY_0_SHORTCUT="So." COM_SPORTSMANAGER_DAY_0_SHORTCUT="So."
COM_SPORTSMANAGER_DAY_1_SHORTCUT="Mo." COM_SPORTSMANAGER_DAY_1_SHORTCUT="Mo."
@@ -313,6 +317,7 @@ COM_SPORTSMANAGER_VIEW_ELO_RATING="Elo-Wertung anzeigen"
COM_SPORTSMANAGER_VIEW_SPORTSMANAGER_LIZENZ="Lizenz anzeigen" COM_SPORTSMANAGER_VIEW_SPORTSMANAGER_LIZENZ="Lizenz anzeigen"
COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Mindest Mitgliederzahl zeigen" COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Mindest Mitgliederzahl zeigen"
COM_SPORTSMANAGER_SHOW_ORGANISATION="Verband zeigen" COM_SPORTSMANAGER_SHOW_ORGANISATION="Verband zeigen"
COM_SPORTSMANAGER_SHOW_TOURNAMENT_BRACKET="Turnierbaum anzeigen"
COM_SPORTSMANAGER_PLAYER_DETAILS="Spielerdetails" COM_SPORTSMANAGER_PLAYER_DETAILS="Spielerdetails"
COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Spielerliste/-details" COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Spielerliste/-details"
COM_SPORTSMANAGER_PLAYER_EDIT="Spielerdaten durch Organisations-/Vereinsansprechpartner bearbeiten" COM_SPORTSMANAGER_PLAYER_EDIT="Spielerdaten durch Organisations-/Vereinsansprechpartner bearbeiten"
@@ -609,7 +614,10 @@ COM_SPORTSMANAGER_ONLY_DETAILED_RATING_POINT_DIFFERENCE="Nur Detailwertung nach
COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE="Nur Detailwertung nach Punktequote" COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE="Nur Detailwertung nach Punktequote"
COM_SPORTSMANAGER_KO_SIMPLE_FULL="K.O. (einfach oder vollstaendige Ausspielung aller Plaetze)" COM_SPORTSMANAGER_KO_SIMPLE_FULL="K.O. (einfach oder vollstaendige Ausspielung aller Plaetze)"
COM_SPORTSMANAGER_MANUAL_PRO_TEAMS="Manuell (pro Mannschaft)" COM_SPORTSMANAGER_MANUAL_PRO_TEAMS="Manuell (pro Mannschaft)"
COM_SPORTSMANAGER_CUP_DRAW_EVERY_ROUND="Pokal: Jede Runde wird neu gelost"
COM_SPORTSMANAGER_CUP_USING_SEEDING_LIST="Pokal: Losen einer Setzliste"
COM_SPORTSMANAGER_SUBDIVISION="Unterteilung" COM_SPORTSMANAGER_SUBDIVISION="Unterteilung"
COM_SPORTSMANAGER_SHOW_MATCHDAY_TITLE="Titel von Spieltag zeigen"
COM_SPORTSMANAGER_ELO_RATING="ELO-Wertung" COM_SPORTSMANAGER_ELO_RATING="ELO-Wertung"
COM_SPORTSMANAGER_ELIGIBLE_FOR_EVENT="Berechtigte f&uuml;r Veranstaltung" COM_SPORTSMANAGER_ELIGIBLE_FOR_EVENT="Berechtigte f&uuml;r Veranstaltung"
COM_SPORTSMANAGER_TITLE_LOGO="Titel-Logo" COM_SPORTSMANAGER_TITLE_LOGO="Titel-Logo"
@@ -637,6 +645,8 @@ COM_SPORTSMANAGER_GAMEDAY="Spieltag"
COM_SPORTSMANAGER_GAMEDAYS="Spieltage" COM_SPORTSMANAGER_GAMEDAYS="Spieltage"
COM_SPORTSMANAGER_ROUND="Runde" COM_SPORTSMANAGER_ROUND="Runde"
COM_SPORTSMANAGER_ROUNDS="Runden" COM_SPORTSMANAGER_ROUNDS="Runden"
COM_SPORTSMANAGER_ROUND_TITLE="Runde Bezeichnung"
COM_SPORTSMANAGER_MATCH_PLACE3="Spiel um Platz 3"
COM_SPORTSMANAGER_MONTH="Monat" COM_SPORTSMANAGER_MONTH="Monat"
COM_SPORTSMANAGER_MONTHS="Monate" COM_SPORTSMANAGER_MONTHS="Monate"
COM_SPORTSMANAGER_PLAYER_FROM_TEAM="Spieler von Mannschaft" COM_SPORTSMANAGER_PLAYER_FROM_TEAM="Spieler von Mannschaft"
@@ -652,7 +662,9 @@ COM_SPORTSMANAGER_SO_FAR="bisher"
COM_SPORTSMANAGER_PLACEMENT_AREA="Platzierungsbereich" COM_SPORTSMANAGER_PLACEMENT_AREA="Platzierungsbereich"
COM_SPORTSMANAGER_IMAGE_WITHIN_TEAM="Bild innerhalb Mannschaft" COM_SPORTSMANAGER_IMAGE_WITHIN_TEAM="Bild innerhalb Mannschaft"
COM_SPORTSMANAGER_ADD_MEETING="Begegnung hinzuf&uuml;gen" COM_SPORTSMANAGER_ADD_MEETING="Begegnung hinzuf&uuml;gen"
COM_SPORTSMANAGER_GAMEDAY_GENERATION="Spieltag erzeugen"
COM_SPORTSMANAGER_ROUND_GENERATION="Runde erzeugen" COM_SPORTSMANAGER_ROUND_GENERATION="Runde erzeugen"
COM_SPORTSMANAGER_CUP_ROUND_GENERATION="Pokalrunde auslosen"
COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Gruppenspiele erzeugen" COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Gruppenspiele erzeugen"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME="Gruppenspiele importieren" COM_SPORTSMANAGER_IMPORT_GROUP_GAME="Gruppenspiele importieren"
COM_SPORTSMANAGER_IMPORT_GROUP_GAME2="Gruppenspiele: Importieren" COM_SPORTSMANAGER_IMPORT_GROUP_GAME2="Gruppenspiele: Importieren"
@@ -21,6 +21,7 @@ COM_SPORTSMANAGER_LOCATIONS="Locations"
COM_SPORTSMANAGER_SEASONS="Seasons" COM_SPORTSMANAGER_SEASONS="Seasons"
COM_SPORTSMANAGER_TEAM_PLANS="Team plans" COM_SPORTSMANAGER_TEAM_PLANS="Team plans"
COM_SPORTSMANAGER_TEAM_NAME="Team name" COM_SPORTSMANAGER_TEAM_NAME="Team name"
COM_SPORTSMANAGER_TEAM_NAME_SHORT="Team name short (max 24)"
COM_SPORTSMANAGER_TEAM_NAME2="Club name" COM_SPORTSMANAGER_TEAM_NAME2="Club name"
COM_SPORTSMANAGER_TEAM_SEAT="Club location" COM_SPORTSMANAGER_TEAM_SEAT="Club location"
COM_SPORTSMANAGER_POSTPONE_RULES="Postpone rules" COM_SPORTSMANAGER_POSTPONE_RULES="Postpone rules"
@@ -129,11 +130,14 @@ COM_SPORTSMANAGER_QUARTER_FINAL="Quarter final"
COM_SPORTSMANAGER_QUARTER_FINAL_SHORTCUT="1/4" COM_SPORTSMANAGER_QUARTER_FINAL_SHORTCUT="1/4"
COM_SPORTSMANAGER_ROUND_OF_16="Round of sixteen" COM_SPORTSMANAGER_ROUND_OF_16="Round of sixteen"
COM_SPORTSMANAGER_ROUND_OF_16_SHORTCUT="1/8" COM_SPORTSMANAGER_ROUND_OF_16_SHORTCUT="1/8"
COM_SPORTSMANAGER_ROUND_OF_32="Round of thiry-two" COM_SPORTSMANAGER_ROUND_OF_32="Round of thirty-two"
COM_SPORTSMANAGER_ROUND_OF_32_ALT="Round of thirty-two"
COM_SPORTSMANAGER_ROUND_OF_32_SHORTCUT="1/16" COM_SPORTSMANAGER_ROUND_OF_32_SHORTCUT="1/16"
COM_SPORTSMANAGER_ROUND_OF_64="Round of sixty-four" COM_SPORTSMANAGER_ROUND_OF_64="Round of sixty-four"
COM_SPORTSMANAGER_ROUND_OF_64_ALT="Round of sixty-four"
COM_SPORTSMANAGER_ROUND_OF_64_SHORTCUT="1/32" COM_SPORTSMANAGER_ROUND_OF_64_SHORTCUT="1/32"
COM_SPORTSMANAGER_ROUND_OF_128="Round of 128" COM_SPORTSMANAGER_ROUND_OF_128="Round of 128"
COM_SPORTSMANAGER_ROUND_OF_128_ALT="Round of 128"
COM_SPORTSMANAGER_ROUND_OF_128_SHORTCUT="1/64" COM_SPORTSMANAGER_ROUND_OF_128_SHORTCUT="1/64"
COM_SPORTSMANAGER_DAY_0_SHORTCUT="Su." COM_SPORTSMANAGER_DAY_0_SHORTCUT="Su."
COM_SPORTSMANAGER_DAY_1_SHORTCUT="Mo." COM_SPORTSMANAGER_DAY_1_SHORTCUT="Mo."
@@ -313,6 +317,7 @@ COM_SPORTSMANAGER_VIEW_ELO_RATING="View Elo rating"
COM_SPORTSMANAGER_VIEW_SPORTSMANAGER_LIZENZ="Show License" COM_SPORTSMANAGER_VIEW_SPORTSMANAGER_LIZENZ="Show License"
COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Show least member count" COM_SPORTSMANAGER_VIEW_LEAST_MEMBER_COUNT="Show least member count"
COM_SPORTSMANAGER_SHOW_ORGANISATION="Show organisation" COM_SPORTSMANAGER_SHOW_ORGANISATION="Show organisation"
COM_SPORTSMANAGER_SHOW_TOURNAMENT_BRACKET="Show Tournament Bracket"
COM_SPORTSMANAGER_PLAYER_DETAILS="Player details" COM_SPORTSMANAGER_PLAYER_DETAILS="Player details"
COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Player list details" COM_SPORTSMANAGER_PLAYER_LIST_DETAILS="Player list details"
COM_SPORTSMANAGER_PLAYER_EDIT="Edit player data by organisation/club contacts" COM_SPORTSMANAGER_PLAYER_EDIT="Edit player data by organisation/club contacts"
@@ -609,7 +614,10 @@ COM_SPORTSMANAGER_ONLY_DETAILED_RATING_POINT_DIFFERENCE="Only detailed ranking b
COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE="Only detailed ranking by points rate" COM_SPORTSMANAGER_ONLY_DETAILED_POINTS_AFTER_POINTSRATE="Only detailed ranking by points rate"
COM_SPORTSMANAGER_KO_SIMPLE_FULL="K.O. (singles or full playout of all places)" COM_SPORTSMANAGER_KO_SIMPLE_FULL="K.O. (singles or full playout of all places)"
COM_SPORTSMANAGER_MANUAL_PRO_TEAMS="Manual (per team)" COM_SPORTSMANAGER_MANUAL_PRO_TEAMS="Manual (per team)"
COM_SPORTSMANAGER_CUP_DRAW_EVERY_ROUND="Cup: draw every round"
COM_SPORTSMANAGER_CUP_USING_SEEDING_LIST="Cup: draw seeding list"
COM_SPORTSMANAGER_SUBDIVISION="Subdivision" COM_SPORTSMANAGER_SUBDIVISION="Subdivision"
COM_SPORTSMANAGER_SHOW_MATCHDAY_TITLE="Show title matchday"
COM_SPORTSMANAGER_ELO_RATING="Elo rating" COM_SPORTSMANAGER_ELO_RATING="Elo rating"
COM_SPORTSMANAGER_ELIGIBLE_FOR_EVENT="Eligibles for competition" COM_SPORTSMANAGER_ELIGIBLE_FOR_EVENT="Eligibles for competition"
COM_SPORTSMANAGER_TITLE_LOGO="Title logo" COM_SPORTSMANAGER_TITLE_LOGO="Title logo"
@@ -637,6 +645,8 @@ COM_SPORTSMANAGER_GAMEDAY="Gameday"
COM_SPORTSMANAGER_GAMEDAYS="Gamedays" COM_SPORTSMANAGER_GAMEDAYS="Gamedays"
COM_SPORTSMANAGER_ROUND="Round" COM_SPORTSMANAGER_ROUND="Round"
COM_SPORTSMANAGER_ROUNDS="Rounds" COM_SPORTSMANAGER_ROUNDS="Rounds"
COM_SPORTSMANAGER_ROUND_TITLE="Round Title"
COM_SPORTSMANAGER_MATCH_PLACE3="Match for place 3"
COM_SPORTSMANAGER_MONTH="Month" COM_SPORTSMANAGER_MONTH="Month"
COM_SPORTSMANAGER_MONTHS="Months" COM_SPORTSMANAGER_MONTHS="Months"
COM_SPORTSMANAGER_PLAYER_FROM_TEAM="Player of team" COM_SPORTSMANAGER_PLAYER_FROM_TEAM="Player of team"
@@ -652,7 +662,9 @@ COM_SPORTSMANAGER_SO_FAR="so far"
COM_SPORTSMANAGER_PLACEMENT_AREA="Placement area" COM_SPORTSMANAGER_PLACEMENT_AREA="Placement area"
COM_SPORTSMANAGER_IMAGE_WITHIN_TEAM="Image within team" COM_SPORTSMANAGER_IMAGE_WITHIN_TEAM="Image within team"
COM_SPORTSMANAGER_ADD_MEETING="Add match" COM_SPORTSMANAGER_ADD_MEETING="Add match"
COM_SPORTSMANAGER_GAMEDAY_GENERATION="Generate gameday"
COM_SPORTSMANAGER_ROUND_GENERATION="Generate round" COM_SPORTSMANAGER_ROUND_GENERATION="Generate round"
COM_SPORTSMANAGER_CUP_ROUND_GENERATION="Generate cup round"
COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Generate group games" COM_SPORTSMANAGER_GENERATE_GROUP_GAME="Generate group games"
COM_SPORTSMANAGER_Import_GROUP_GAME="Import group games" COM_SPORTSMANAGER_Import_GROUP_GAME="Import group games"
COM_SPORTSMANAGER_Import_GROUP_GAME2="Group games: Import" COM_SPORTSMANAGER_Import_GROUP_GAME2="Group games: Import"
+4 -1
View File
@@ -137,6 +137,7 @@ return new class () implements InstallerScriptInterface
. "\n `tisch` tinytext DEFAULT NULL," . "\n `tisch` tinytext DEFAULT NULL,"
. "\n `zeitpunkt` datetime DEFAULT NULL," . "\n `zeitpunkt` datetime DEFAULT NULL,"
. "\n `spieltag` smallint(6) DEFAULT NULL," . "\n `spieltag` smallint(6) DEFAULT NULL,"
. "\n `spieltag_titel` VARCHAR(32) NOT NULL DEFAULT '',"
. "\n `spiel_nr` tinyint(4) DEFAULT NULL," . "\n `spiel_nr` tinyint(4) DEFAULT NULL,"
. "\n `heim_punkte` smallint(6) DEFAULT NULL," . "\n `heim_punkte` smallint(6) DEFAULT NULL,"
. "\n `gast_punkte` smallint(6) DEFAULT NULL," . "\n `gast_punkte` smallint(6) DEFAULT NULL,"
@@ -682,7 +683,8 @@ return new class () implements InstallerScriptInterface
. "\n `verein_id` int(11) DEFAULT NULL," . "\n `verein_id` int(11) DEFAULT NULL,"
. "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0'," . "\n `veranstaltung_id` int(11) NOT NULL DEFAULT '0',"
. "\n `setzliste_nr` tinyint(4) DEFAULT NULL," . "\n `setzliste_nr` tinyint(4) DEFAULT NULL,"
. "\n `teamname` varchar(50) NOT NULL," . "\n `teamname` varchar(50) NOT NULL DEFAULT '',"
. "\n `teamname_kurz` VARCHAR(24) NOT NULL DEFAULT '',"
. "\n `tischtyp` varchar(200) DEFAULT NULL," . "\n `tischtyp` varchar(200) DEFAULT NULL,"
. "\n `tischeigenschaften` varchar(200) DEFAULT NULL," . "\n `tischeigenschaften` varchar(200) DEFAULT NULL,"
. "\n `zusatzpunkte` float(6,2) DEFAULT NULL," . "\n `zusatzpunkte` float(6,2) DEFAULT NULL,"
@@ -1037,6 +1039,7 @@ return new class () implements InstallerScriptInterface
. "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0'," . "\n `tabellenwertung` tinyint(4) NOT NULL DEFAULT '0',"
. "\n `direktervergleich` tinyint(4) NOT NULL DEFAULT '0'," . "\n `direktervergleich` tinyint(4) NOT NULL DEFAULT '0',"
. "\n `unterteilung` tinyint(4) NOT NULL DEFAULT '0'," . "\n `unterteilung` tinyint(4) NOT NULL DEFAULT '0',"
. "\n `spieltag_titel_zeigen` INT(4) NOT NULL DEFAULT '0',"
. "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00'," . "\n `erster_tag` date NOT NULL DEFAULT '0000-00-00',"
. "\n `letzter_tag` date DEFAULT NULL," . "\n `letzter_tag` date DEFAULT NULL,"
. "\n `elo_wertung` tinyint(4) DEFAULT NULL," . "\n `elo_wertung` tinyint(4) DEFAULT NULL,"