Überarbeitung Begegnung hinzufügen bzw. editieren

This commit is contained in:
Jürgen Meyer
2025-11-04 18:39:08 +01:00
parent c50833ebe4
commit 885d6a3191
4 changed files with 79 additions and 14 deletions
@@ -7815,7 +7815,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);
}
@@ -7839,6 +7844,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');
@@ -7881,8 +7888,10 @@ 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');";
$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));
@@ -7917,10 +7926,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->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") . ","
@@ -8965,7 +8965,7 @@ class HTML_sportsmanager_admin
}
}
static function adminEditBegegnung($veranstaltung, $row, $neuer_eintrag, $teams, $spielorte): void
static function adminEditBegegnung($veranstaltung, $row, $neuer_eintrag, $teams, $spielorte, $auswahl_spieltagtitel): void
{
global $params;
?>
@@ -8991,7 +8991,7 @@ class HTML_sportsmanager_admin
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="datum_tag"
<select class="uk-select uk-form-width-xsmall" name="datum_tag"
id="schedule_date" size="1">
<?php
$datum = "0000-00-00";
@@ -9005,7 +9005,7 @@ class HTML_sportsmanager_admin
}
?>
</select>
<select class="uk-select uk-form-width-medium" name="datum_monat" size="1"
<select class="uk-select uk-form-width-small" name="datum_monat" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MONTH'); ?>">
<?php
$datum_monat = substr($datum, 5, 2);
@@ -9016,7 +9016,7 @@ class HTML_sportsmanager_admin
}
?>
</select>
<select class="uk-select uk-form-width-medium" name="datum_jahr" size="1"
<select class="uk-select uk-form-width-small" name="datum_jahr" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_YEAR'); ?>">
<?php
$datum_jahr = substr($datum, 0, 4);
@@ -9026,7 +9026,7 @@ class HTML_sportsmanager_admin
}
?>
</select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_stunden"
<select class="uk-select uk-form-width-xsmall" name="uhrzeit_stunden"
size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_HOUR'); ?>">
<?php
@@ -9040,7 +9040,7 @@ class HTML_sportsmanager_admin
}
?>
</select>
<select class="uk-select uk-form-width-medium" name="uhrzeit_minuten"
<select class="uk-select uk-form-width-xsmall" name="uhrzeit_minuten"
size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_SCHEDULE_DATE_MINUTE'); ?>">
<?php
@@ -9106,7 +9106,53 @@ class HTML_sportsmanager_admin
</tr>
<?php
}
if ($veranstaltung->spieltag_titel_zeigen)
echo "<tr>";
else
echo "<tr style='display: none;'>";
?>
<td nowrap style="width: 20%; text-align: right">
<label for="game_title"><?php echo Text::_('COM_SPORTSMANAGER_LABEL_GAME_TITLE'); ?>
:</label>
</td>
<td nowrap>
<input list="auswahl_spieltagtitel" class="uk-select uk-form-width-medium" type="text" name="spieltag_titel"
id="game_title" size="32" maxlength="255" style="height: 34px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->spieltag_titel); ?>"/>
<datalist id="auswahl_spieltagtitel" >
<?php if ($auswahl_spieltagtitel){ ?>
<?php foreach($auswahl_spieltagtitel AS $titel){ ?>
<option value="<?= htmlspecialchars($titel->spieltag_titel, ENT_QUOTES) ?>"></option>
<?php } ?>
<?php } ?>
</datalist>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
for="game_nr"><?php echo Text::_('COM_SPORTSMANAGER_LABEL_GAME_NUMBER'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-xsmall" style="height: 34px;" id="game_nr" type="number" name="spiel_nr" value=<?php echo $row->spiel_nr; ?>/>
<option value=""></option>
<?php
for ($i = 1; $i <= 99; $i++)
{
echo "<option value=\"" . $i . "\"" . ($row->spiel_nr == $i ? " selected" : "") . ">" . $i . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
@@ -9172,8 +9218,8 @@ class HTML_sportsmanager_admin
:</label>
</td>
<td nowrap>
<input class="inputbox" type="text" name="tisch" id="table" size="50"
maxlength="255"
<input class="uk-select uk-form-width-medium" type="text" name="tisch" id="table" size="50"
maxlength="255" style="height: 34px;"
value="<?php if ($row != null) echo htmlentities_utf8($row->tisch); ?>"/>
</td>
</tr>
@@ -9211,7 +9257,8 @@ class HTML_sportsmanager_admin
</div>
<input type="submit" name="save" value="<?php echo Text::_('COM_SPORTSMANAGER_SAVE'); ?>" class="button"
onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value) { alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/>
onclick="if (document.adminForm.heim_team_id.value === document.adminForm.gast_team_id.value)
{ alert('<?php echo Text::_('COM_SPORTSMANAGER_HOME_VISITING_TEAMS_DIFFERENT'); ?>'); return false; } return true;"/>
<input type="submit" name="cancel" value="<?php echo Text::_('COM_SPORTSMANAGER_CANCEL'); ?>"
class="button"/>
<input type="hidden" name="task" value="admin_begegnung_save"/>
@@ -894,6 +894,8 @@ COM_SPORTSMANAGER_OPTIONAL_BUT_SAME_IN_DOUBLES="Optional, aber im Doppel keiner
COM_SPORTSMANAGER_REQUIRED="Erforderlich"
COM_SPORTSMANAGER_RESULT_ONLY="Nur Ergebnis"
COM_SPORTSMANAGER_GAME_NUMBER="Spiel %d"
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Spiel Nr"
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Spieltag Titel"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Spieltermin verlegen"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nAlternative Termine:\n\n"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="Zur Begegnung %s gegen %s am %s in %s wird von %s der Spieltermin verschoben.\n\nBitte alternative Termine vorschlagen unter %s"
@@ -894,6 +894,8 @@ COM_SPORTSMANAGER_OPTIONAL_BUT_SAME_IN_DOUBLES="Optional but both or none in dou
COM_SPORTSMANAGER_REQUIRED="Required"
COM_SPORTSMANAGER_RESULT_ONLY="Result only"
COM_SPORTSMANAGER_GAME_NUMBER="Game %d"
COM_SPORTSMANAGER_LABEL_GAME_NUMBER="Game nr"
COM_SPORTSMANAGER_LABEL_GAME_TITLE="Gameday title"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_SUBJECT="%s vs %s: Shift game appointment"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_BODY="For match %s versus %s on %s in %s the game appointment is shifted by %s.\n\nAlternative appointments:\n\n"
COM_SPORTSMANAGER_EMAIL_SHIFT_GAME_APPOINTMENT_REQUESTED_BODY="For match %s on %s in %s the game appointment is shifted by %s.\n\nPlease propose alternative appointments under %s"