diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index 0a7fa81..704be08 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -10630,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(); @@ -10648,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; @@ -10663,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; @@ -10704,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)); } diff --git a/src/structure/components/com_sportsmanager/database/update.php b/src/structure/components/com_sportsmanager/database/update.php index d8c3982..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; @@ -5393,6 +5393,27 @@ function updateDatabase(): void } } + 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_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php index f210610..f3d6c4f 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -11491,11 +11491,11 @@ class HTML_sportsmanager_admin
- +
- +
- erster_tag; if ($row != null) @@ -11919,7 +11929,7 @@ class HTML_sportsmanager_admin } ?> - - - - + id="ranking_" size="1" + style="width: 480px;"> - - - - -