diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php
index c783808..704be08 100644
--- a/src/structure/components/com_sportsmanager/admin.php
+++ b/src/structure/components/com_sportsmanager/admin.php
@@ -672,7 +672,8 @@ function adminEinstellungen(): void
redirectSportsManagerURL('&task=admin_uebersicht');
}
- $basis_spielernr = $db->escape(trim($jInput->get('basis_spielernr', '', 'RAW')));
+ $verbands_kuerzel = $db->escape(trim($jInput->get('verbands_kuerzel', '', 'RAW')));
+ $basis_spielernr = $db->escape(trim($jInput->get('basis_spielernr', '', 'RAW')));
$ansprechpartner_ausblenden = $jInput->get('ansprechpartner_ausblenden', 0, 'INT');
$ansprechpartner_spielerdaten = $jInput->get('ansprechpartner_spielerdaten', 0, 'INT');
$ansprechpartner_importieren = $jInput->get('ansprechpartner_importieren', 0, 'INT');
@@ -690,6 +691,14 @@ function adminEinstellungen(): void
$api_push_key = $jInput->get('api_push_key', '', 'RAW');
+ $query = "REPLACE #__sportsmanager_einstellungen"
+ . "\n SET name = 'verbands_kuerzel'"
+ . ", wert = '$verbands_kuerzel'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
$query = "REPLACE #__sportsmanager_einstellungen"
. "\n SET name = 'basis_spielernr'"
. ", wert = '$basis_spielernr'";
@@ -4628,11 +4637,13 @@ function adminKategorien(): void
$kategorien[6] = array();
$kategorien[7] = array();
+ $anzahl = array(0,50,100,50,50,100,50,50);
+
foreach ($rows as $row)
$kategorien[$row->typ][$row->nummer] = $row->bezeichnung;
for ($typ = 1; $typ <= 7; $typ++) {
- for ($nummer = 1; $nummer <= 50; $nummer++) {
+ for ($nummer = 1; $nummer <= $anzahl[$typ]; $nummer++) {
$bezeichnung = $db->escape($jInput->get('bezeichnung_' . $typ . '_' . $nummer, '', 'RAW'));
if (empty($bezeichnung)) {
if (isset($kategorien[$typ][$nummer])) {
@@ -7813,7 +7824,12 @@ function adminEditBegegnung(): void
. "\n FROM #__sportsmanager_spielort"
. "\n ORDER BY ortsname, name, ortsteil";
$spielorte = loadObjectList($db, $query);
- HTML_sportsmanager_admin::adminEditBegegnung($veranstaltung, $row, $id == null, $teams, $spielorte);
+ $query = "SELECT spieltag_titel FROM #__sportsmanager_begegnung"
+ . "\n WHERE spieltag_titel IS NOT NULL"
+ . "\n GROUP BY spieltag_titel"
+ . "\n ORDER BY spieltag_titel;";
+ $auswahl_spieltagtitel = loadObjectList($db, $query);
+ HTML_sportsmanager_admin::adminEditBegegnung($veranstaltung, $row, $id == null, $teams, $spielorte, $auswahl_spieltagtitel);
HTML_sportsmanager_admin::adminVerlegenVerlauf($verlegen_aktionen);
}
@@ -7837,6 +7853,8 @@ function adminEditBegegnung(): void
$datum = normalisiertesDatum($jInput->get('datum_jahr', 0, 'INT') == 0 ? null : sprintf("%04d-%02d-%02d", $jInput->get('datum_jahr', 0, 'INT'), $jInput->get('datum_monat', 0, 'INT'), $jInput->get('datum_tag', 0, 'INT')));
$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);
+ $spiel_nr = $jInput->get('spiel_nr', 0, 'INT');
+ $spieltag_titel = $db->escape(trim($jInput->get('spieltag_titel', '', 'RAW')));
$heim_team_id = $jInput->get('heim_team_id', 0, 'INT');
$gast_team_id = $jInput->get('gast_team_id', 0, 'INT');
$spielort_id = $jInput->get('spielort_id', 0, 'INT');
@@ -7879,9 +7897,11 @@ function adminEditBegegnung(): void
$begegnung = null;
$user_id = isExternalDatabase() ? 0 : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id;
if ($id == 0) {
- $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id, tisch, nichtraucherschutz)"
- . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ", '$tisch', '$nichtraucherschutz');";
- $db->setQuery($query);
+ $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id, tisch, nichtraucherschutz)"
+ . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL")
+ . "\n , '$spieltag_titel', " . ($spiel_nr != 0 ? "'$spiel_nr'" : "NULL") . ", '$heim_team_id', '$gast_team_id'"
+ . "\n , " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ", '$tisch', '$nichtraucherschutz');";
+ $db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
@@ -7915,10 +7935,15 @@ function adminEditBegegnung(): void
}
}
- if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id || $begegnung->zeitpunkt != $zeitpunkt || $begegnung->spieltag != $runde || $begegnung->spielort_id != $spielort_id || (empty($begegnung->tisch) != empty($tisch) || $begegnung->tisch != $tisch) || $begegnung->nichtraucherschutz != $nichtraucherschutz) {
+ if ($begegnung->heim_team_id != $heim_team_id || $begegnung->gast_team_id != $gast_team_id ||
+ $begegnung->zeitpunkt != $zeitpunkt || $begegnung->spieltag != $runde || $begegnung->spiel_nr != $spiel_nr ||
+ $begegnung->spieltag_titel != $spieltag_titel || $begegnung->spielort_id != $spielort_id || (empty($begegnung->tisch) != empty($tisch) ||
+ $begegnung->tisch != $tisch) || $begegnung->nichtraucherschutz != $nichtraucherschutz) {
$query = "UPDATE #__sportsmanager_begegnung"
. "\n SET zeitpunkt = " . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ","
. "\n spieltag = " . ($runde != null ? "'$runde'" : "NULL") . ","
+ . "\n spieltag_titel = '$spieltag_titel',"
+ . "\n spiel_nr = " .($spiel_nr != 0 ? "'$spiel_nr'" : "NULL") . ","
. "\n heim_team_id = '$heim_team_id',"
. "\n gast_team_id = '$gast_team_id',"
. "\n spielort_id = " . ($spielort_id != 0 ? "'$spielort_id'" : "NULL") . ","
@@ -9716,7 +9741,12 @@ function adminBegegnungenRundeErzeugenForm(): void
. "\n FROM #__sportsmanager_spielort"
. "\n ORDER BY ortsname, name, ortsteil";
$spielorte = loadObjectList($db, $query);
- HTML_sportsmanager_admin::adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte);
+ $query = "SELECT spieltag_titel FROM #__sportsmanager_begegnung"
+ . "\n WHERE spieltag_titel IS NOT NULL"
+ . "\n GROUP BY spieltag_titel"
+ . "\n ORDER BY spieltag_titel;";
+ $auswahl_spieltagtitel = loadObjectList($db, $query);
+ HTML_sportsmanager_admin::adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte, $auswahl_spieltagtitel);
}
#[NoReturn] function adminBegegnungenRundeErzeugen(): void
@@ -9749,6 +9779,7 @@ function adminBegegnungenRundeErzeugenForm(): void
}
$rundentyp = $jInput->get('rundentyp', -1, 'INT');
$runde = max(min(abs($jInput->get('runde', 1, 'INT')), $rundentyp == -2 ? 99 : 9999), 1);
+ $spieltag_titel = $db->escape(trim($jInput->get('spieltag_titel', '', 'RAW')));
$platzierung_ende = max(min(abs($jInput->get('platzierung_ende', 0, 'INT')), $runde + 99), 1);
if ($rundentyp >= 10000)
@@ -9768,8 +9799,10 @@ function adminBegegnungenRundeErzeugenForm(): void
$teamIds[$i] = $jInput->get('team_id_' . $i, 0, 'INT');
$spielort_ids = array();
- for ($i = 1; $i <= $anzahlteams; $i += 2)
+ for ($i = 1; $i <= $anzahlteams; $i += 2){
$spielort_ids[$i] = $jInput->get('spielort_id_' . $i, 0, 'INT');
+ $spiel_nr[$i] = $jInput->get('spiel_nr_' . $i, 0, 'INT');
+ }
for ($teamNr = 1; $teamNr < $anzahlteams; $teamNr += 2) {
$heim_team_id = $teamIds[$teamNr];
@@ -9801,14 +9834,15 @@ function adminBegegnungenRundeErzeugenForm(): void
$zeitpunkt = sprintf("%04d-%02d-%02d %02d:%02d", $ts["year"], $ts["mon"], $ts["mday"], floor($heim_team->heimspiel_uhrzeit / 100), $heim_team->heimspiel_uhrzeit % 100);
}
- $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, heim_team_id, gast_team_id, spielort_id)"
- . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL") . ", '$heim_team_id', '$gast_team_id', " . ($spielort_ids[$teamNr] != 0 ? "'$spielort_ids[$teamNr]'" : "NULL") . ");";
- $db->setQuery($query);
+ $query = "INSERT INTO #__sportsmanager_begegnung (zeitpunkt, spieltag, spieltag_titel, spiel_nr, heim_team_id, gast_team_id, spielort_id)"
+ . "\n VALUES (" . ($zeitpunkt != null ? "'$zeitpunkt'" : "NULL") . ", " . ($runde != null ? "'$runde'" : "NULL")
+ . "\n , '$spieltag_titel', " . ($spiel_nr[$teamNr] != 0 ? "'$spiel_nr[$teamNr]'" : "NULL")
+ . "\n , '$heim_team_id', '$gast_team_id', " . ($spielort_ids[$teamNr] != 0 ? "'$spielort_ids[$teamNr]'" : "NULL") . ");";
+ $db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
-
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
}
@@ -10419,7 +10453,13 @@ function adminBegegnungenExportForm(): void
if ($export == "spielplan" or $export == "spielberichte") {
$query = "
- SELECT t1.begegnung_id AS ID, t5.saisonbezeichnung AS Saison,
+ SELECT t1.begegnung_id AS ID, ";
+ if (einstellungswert("verbands_kuerzel") == "STFV"){
+ $query .= "
+ CONCAT(t5.saisonbezeichnung,LPAD(t4.kategorie,2,'0'),LPAD(t1.spieltag,2,'0'),LPAD(IFNULL(t1.spiel_nr, '0'),2,'0')) AS stfv_id, ";
+ }
+ $query .= "
+ t5.saisonbezeichnung AS Saison,
t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast,
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,
@@ -10430,7 +10470,7 @@ function adminBegegnungenExportForm(): void
LEFT JOIN #__sportsmanager_veranstaltung AS t4 ON t2.veranstaltung_id = t4.veranstaltung_id
LEFT JOIN #__sportsmanager_saison AS t5 ON t4.saison_id = t5.saison_id
WHERE t4.veranstaltung_id = " . $veranstaltungId . "
- ORDER BY t4.veranstaltung_id, t1.spieltag, t1.zeitpunkt;
+ ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr, t1.zeitpunkt;
";
$rows = loadObjectList($db, $query);
@@ -10510,7 +10550,7 @@ function adminBegegnungenExportForm(): void
}
$dateiname = "Spielberichte " . $veranstaltung->bezeichnung;
}
-
+
$dateiname .= ".csv";
$dateiname = bereinigterDateiname($dateiname);
ob_end_clean(); // Wegen UTF-8-Zeichen, die in der ausgabe vorhanden sind
@@ -10518,12 +10558,12 @@ function adminBegegnungenExportForm(): void
Header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
Header('Content-Disposition: attachment; filename="' . $dateiname . '"');
Header("Pragma: no-cache");
-
+
$data = "";
$trennzeichen = ";";
$spalte = 0;
$header = "";
-
+
foreach ($rows[0] as $field => $value) {
if ($spalte != 0) {
$header .= $trennzeichen;
@@ -10543,9 +10583,9 @@ function adminBegegnungenExportForm(): void
}
$data .= trim($line) . "\n";
}
-
+
echo $header . "\n" . utf8_decode($data);
-
+
die();
}
@@ -10590,11 +10630,11 @@ function adminEditTurnier(): void
HTML_sportsmanager_admin::adminEditTurnier($row, $veranstalter, $saisons, $vorlage, $users, $berechtigt_fuer_turnier, $kategorien);
}
-#[NoReturn] function adminSaveTurnier(): void
+function adminSaveTurnier(): void
{
$db = getDatabase();
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
-
+ $Fehlertext = "";
if (!benutzerZugriff("turniere_aendern"))
keinZugriff();
@@ -10608,7 +10648,9 @@ function adminEditTurnier(): void
$saison_id = $jInput->get('saison_id', 0, 'INT');
$turnierort = $db->escape(trim($jInput->get('turnierort', '', 'RAW')));
$erster_tag = normalisiertesDatum(sprintf("%04d-%02d-%02d", $jInput->get('erster_tag_jahr', 2000, 'INT'), $jInput->get('erster_tag_monat', 1, 'INT'), $jInput->get('erster_tag_tag', 1, 'INT')));
- $mehrtaegig = $jInput->get('mehrtaegig', 0, 'INT');
+ if (!validateDate($erster_tag,'Y-m-d'))
+ $Fehlertext = "Bitte gültiges Datum eingeben";
+ $mehrtaegig = $jInput->get('mehrtaegig', 0, 'INT');
$reminder_count = $jInput->get('reminder_count', 0, 'INT');
if (!$mehrtaegig)
$letzter_tag = $erster_tag;
@@ -10623,6 +10665,11 @@ function adminEditTurnier(): void
$berechtigt_fuer_turnier_user_ids[] = $berechtigt_user_id;
}
+ if ($Fehlertext != ""){
+ echo "$Fehlertext\n";
+ return;
+ }
+
if ($vorlage) {
$vorlage_id = $id;
$id = 0;
@@ -10664,6 +10711,15 @@ function adminEditTurnier(): void
. "\n reminder_count = '$reminder_count'"
. "\n WHERE turnier_id = $id";
$db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ if ($letzter_tag == $erster_tag){
+ $query = "UPDATE #__sportsmanager_turnierdisziplin"
+ . "\n SET beginn = CONCAT('$erster_tag', ' ', TIME(beginn))";
+ }
+ $db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
@@ -11948,6 +12004,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
}
+ $turniersystemVorrunde = $matchingNodes->item(0)->getAttribute("system");
}
if ($disziplinZusatzrunde != null) {
@@ -11958,6 +12015,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
}
+ $turniersystemZusatzrunde = $matchingNodes->item(0)->getAttribute("system");
}
if ($disziplinZusatzrunde2 != null) {
@@ -11968,6 +12026,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
}
+ $turniersystemZusatzrunde2 = $matchingNodes->item(0)->getAttribute("system");
}
$matchingNodes = $disziplin->getElementsByTagName("disziplin");
@@ -11977,6 +12036,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei darf nur eine Disziplin enthalten.");
}
+ $turniersystemHauptrunde = $matchingNodes->item(0)->getAttribute("system");
// Spieler-Ids über Spielerliste ermitteln
$meldungenSpieler = array();
@@ -12257,7 +12317,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
// Spiele speichern
$totalVorrunde = 0;
- if ($disziplinVorrunde != null) {
+ if ($disziplinVorrunde != null && $turniersystemVorrunde != "Monster-DYP") {
$matchingNodes = $disziplinVorrunde->getElementsByTagName("runde");
if ($matchingNodes != null) {
$totalVorrunde = $matchingNodes->length;
@@ -12305,7 +12365,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
. "\n VALUES ('$id', '$spielNr', '$rundenNr', '10', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
- $db->setQuery($query);
+ $db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
@@ -12332,7 +12392,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
}
// Spiele speichern
- if ($disziplinZusatzrunde != null) {
+ if ($disziplinZusatzrunde != null && $turniersystemZusatzrunde != "Monster-DYP") {
$matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde");
if ($matchingNodes != null) {
$totalZusatzrunde = $matchingNodes->length;
@@ -12406,7 +12466,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
}
// Spiele speichern
- if ($disziplinZusatzrunde2 != null) {
+ if ($disziplinZusatzrunde2 != null && $turniersystemZusatzrunde2 != "Monster-DYP") {
$matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde");
if ($matchingNodes != null) {
$totalZusatzrunde2 = $matchingNodes->length;
@@ -12478,77 +12538,79 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
}
}
}
+
+ if ($turniersystemHauptrunde != "Monster-DYP") {
+ $matchingNodes = $disziplin->getElementsByTagName("runde");
+ if ($matchingNodes != null) {
+ $total = $matchingNodes->length;
+ $ergebnis_saetze_maximum = 0;
+ for ($i = 0; $i < $total; $i++) {
+ $currNode = $matchingNodes->item($i);
+ $rundenNr = $currNode->getAttribute("no");
- $matchingNodes = $disziplin->getElementsByTagName("runde");
- if ($matchingNodes != null) {
- $total = $matchingNodes->length;
- $ergebnis_saetze_maximum = 0;
- for ($i = 0; $i < $total; $i++) {
- $currNode = $matchingNodes->item($i);
- $rundenNr = $currNode->getAttribute("no");
+ $spielNodes = $currNode->getElementsByTagName("spiel");
+ foreach ($spielNodes as $spiel) {
+ $heim = $spiel->getAttribute("heim");
+ $gast = $spiel->getAttribute("gast");
- $spielNodes = $currNode->getElementsByTagName("spiel");
- foreach ($spielNodes as $spiel) {
- $heim = $spiel->getAttribute("heim");
- $gast = $spiel->getAttribute("gast");
+ $heimGewonneneSaetze = 0;
+ $gastGewonneneSaetze = 0;
+ $ergebnis_detailliert = "";
+ $ergebnis_saetze = 0;
+ $satzNodes = $spiel->getElementsByTagName("satz");
+ foreach ($satzNodes as $satz) {
+ $heimPunkte = $satz->getAttribute("heim");
+ $gastPunkte = $satz->getAttribute("gast");
+ if ($heimPunkte > $gastPunkte)
+ $heimGewonneneSaetze++;
+ else if ($heimPunkte < $gastPunkte)
+ $gastGewonneneSaetze++;
+ if ($heimPunkte > 1 || $gastPunkte > 1) {
+ if (!empty($ergebnis_detailliert))
+ $ergebnis_detailliert .= " ";
+ $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
+ $ergebnis_saetze++;
+ }
+ }
+ if ($ergebnis_saetze > $ergebnis_saetze_maximum)
+ $ergebnis_saetze_maximum = $ergebnis_saetze;
- $heimGewonneneSaetze = 0;
- $gastGewonneneSaetze = 0;
- $ergebnis_detailliert = "";
- $ergebnis_saetze = 0;
- $satzNodes = $spiel->getElementsByTagName("satz");
- foreach ($satzNodes as $satz) {
- $heimPunkte = $satz->getAttribute("heim");
- $gastPunkte = $satz->getAttribute("gast");
- if ($heimPunkte > $gastPunkte)
- $heimGewonneneSaetze++;
- else if ($heimPunkte < $gastPunkte)
- $gastGewonneneSaetze++;
- if ($heimPunkte > 1 || $gastPunkte > 1) {
- if (!empty($ergebnis_detailliert))
- $ergebnis_detailliert .= " ";
- $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
- $ergebnis_saetze++;
- }
- }
- if ($ergebnis_saetze > $ergebnis_saetze_maximum)
- $ergebnis_saetze_maximum = $ergebnis_saetze;
+ $heimId = $meldungenIds[$heim];
+ $gastId = $meldungenIds[$gast];
+ $spielNr = $totalVorrunde + $i + 1;
+ if ($heimGewonneneSaetze > $gastGewonneneSaetze)
+ $ergebnis = 1;
+ else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
+ $ergebnis = 2;
+ else
+ $ergebnis = 0;
- $heimId = $meldungenIds[$heim];
- $gastId = $meldungenIds[$gast];
- $spielNr = $totalVorrunde + $i + 1;
- if ($heimGewonneneSaetze > $gastGewonneneSaetze)
- $ergebnis = 1;
- else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
- $ergebnis = 2;
- else
- $ergebnis = 0;
-
- $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
- . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- }
- }
- if ($ergebnis_saetze_maximum > 0) {
- $query = "INSERT #__sportsmanager_turnier_rundenstufe"
- . "\n SET bezeichnung = '',"
- . "\n typ = null,"
- . "\n runden = null,"
- . "\n tabellenwertung = null,"
- . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
- . "\n tore = null,"
- . "\n spielfelder = null,"
- . "\n turnierdisziplin_id = '$id',"
- . "\n rundenstufe = '1'";
- $db->setQuery($query);
- if (!$db->execute()) {
- die($db->stderr(true));
- }
- }
- }
+ $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)"
+ . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ if ($ergebnis_saetze_maximum > 0) {
+ $query = "INSERT #__sportsmanager_turnier_rundenstufe"
+ . "\n SET bezeichnung = '',"
+ . "\n typ = null,"
+ . "\n runden = null,"
+ . "\n tabellenwertung = null,"
+ . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
+ . "\n tore = null,"
+ . "\n spielfelder = null,"
+ . "\n turnierdisziplin_id = '$id',"
+ . "\n rundenstufe = '1'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+ }
+ }
}
}
}
diff --git a/src/structure/components/com_sportsmanager/database/update.php b/src/structure/components/com_sportsmanager/database/update.php
index 736cb95..60dae7a 100644
--- a/src/structure/components/com_sportsmanager/database/update.php
+++ b/src/structure/components/com_sportsmanager/database/update.php
@@ -5364,7 +5364,7 @@ function updateDatabase(): void
die($db->stderr(true));
}
}
-
+
if ($datenbank_version < 110) {
$aktueller_verein_aktualisieren = true;
@@ -5378,6 +5378,42 @@ function updateDatabase(): void
}
}
+ if ($datenbank_version < 111) {
+
+ $query = "INSERT IGNORE #__sportsmanager_einstellungen SET name = 'verbands_kuerzel', wert = 'tbe.';";
+ $db->setQuery( $query );
+ if (!$db->execute()) { die($db->stderr(true)); }
+
+ $query = "UPDATE #__sportsmanager_einstellungen"
+ . "\n SET wert = '111'"
+ . "\n WHERE name = 'datenbank_version'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
+ if ($datenbank_version < 112) {
+
+ // Korrektur Startuhrzeit in sportsmanager_turnierdisziplin bei eintägigen Veranstaltungen
+ $query = "UPDATE #__sportsmanager_turnierdisziplin td"
+ . "\n JOIN #__sportsmanager_turnier t ON td.turnier_id = t.turnier_id"
+ . "\n SET td.beginn = CONCAT(t.erster_tag, ' ', TIME(td.beginn))"
+ . "\n WHERE t.erster_tag = t.letzter_tag;";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+
+ $query = "UPDATE #__sportsmanager_einstellungen"
+ . "\n SET wert = '112'"
+ . "\n WHERE name = 'datenbank_version'";
+ $db->setQuery($query);
+ if (!$db->execute()) {
+ die($db->stderr(true));
+ }
+ }
+
if ($termin_aktionen_email_setzen) {
$query = "SELECT aktion_user_id, termin_aktion_id"
. "\n FROM #__sportsmanager_termin_aktion";
diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
index 8c72058..0934f9a 100644
--- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
+++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php
@@ -1087,11 +1087,24 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
$monat = "...";
$spieltag = 0;
$spielort_name = "";
+ $Spieltagname = "";
+ $Spieltagname_Buffer = "";
foreach ($rows as $row) {
$ergebnis_vorhanden = $row->heim_punkte != null || $row->gast_punkte != null;
if ($zeitfenster == 0 && $veranstaltung != null) {
if ($veranstaltung->unterteilung == 0 || $veranstaltung->unterteilung == 1) {
- if ($spieltag != $row->spieltag || $spielort_name != $row->spielort_name) {
+
+ if ($row->spieltag > 999)
+ $Spieltagname = htmlentities_utf8(Rundenbezeichnung($row->spieltag, $veranstaltung->unterteilung == 0, true));
+ else if ($veranstaltung->unterteilung == 1)
+ $Spieltagname = "Runde " . $row->spieltag;
+ else
+ $Spieltagname = "Spieltag " . $row->spieltag;
+
+ if ($row->spieltag < 999 && $veranstaltung->spieltag_titel_zeigen == 1 && $row->spieltag_titel != "")
+ $Spieltagname .= " - " . $row->spieltag_titel;
+
+ if ($Spieltagname_Buffer != $Spieltagname || $spielort_name != $row->spielort_name) {
$spieltag = $row->spieltag;
$spielort_name = $row->spielort_name;
?>
@@ -1105,13 +1118,14 @@ static function begegnungenAnzeigen($veranstaltung, $modus, $rows, $zeitfenster,
echo htmlentities_utf8(Rundenbezeichnung($spieltag, $veranstaltung->unterteilung == 0));
if (!empty($row->spieltag_titel) && !empty($veranstaltung->spieltag_titel_zeigen))
echo " - " . $row->spieltag_titel;
- if (!empty($spielort_name))
- echo "
" . htmlentities_utf8($spielort_name);
+ if (!empty($spielort_name))
+ echo "
" . htmlentities_utf8($spielort_name);
?>
zeitpunkt, 0, 7)) { // Freundschaftsspiel
$monat = substr($row->zeitpunkt, 0, 7);
if (strlen($monat) == 0)
@@ -1311,8 +1325,11 @@ static function turnierbaumAnzeigen($veranstaltung,$begegnungen): void
$oben = $hoehe * pow(2, $runde) * $spiel + $offset;
$links = ($breite + $abstand) * $runde;
echo "\n
| + + | ++ "/> + | +
| @@ -6034,11 +6047,11 @@ class HTML_sportsmanager_admin |