Datumsabgleich zwischen Turnier und Turnierdisziplin optimiert.

This commit is contained in:
Jürgen Meyer
2025-11-13 17:13:43 +01:00
parent 12fd3a3ff0
commit e498981bc4
2 changed files with 40 additions and 3 deletions
@@ -10592,11 +10592,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();
@@ -10610,6 +10610,8 @@ 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')));
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)
@@ -10625,6 +10627,11 @@ function adminEditTurnier(): void
$berechtigt_fuer_turnier_user_ids[] = $berechtigt_user_id;
}
if ($Fehlertext != ""){
echo "<span style='display: inline-block; background: red; color: white;vertical-align: middle;'>$Fehlertext</span>\n";
return;
}
if ($vorlage) {
$vorlage_id = $id;
$id = 0;
@@ -10666,6 +10673,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));
}
@@ -5378,6 +5378,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";