Überarbeitung Teamsport Spieltag erzeugen

This commit is contained in:
Jürgen Meyer
2025-11-04 21:30:58 +01:00
parent 885d6a3191
commit 5fafcace6b
2 changed files with 60 additions and 23 deletions
@@ -7928,7 +7928,7 @@ 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->spiel_nr != $spiel_nr ||
$begegnung->spielort_id != $spielort_id || (empty($begegnung->tisch) != empty($tisch) ||
$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") . ","
@@ -9732,7 +9732,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
@@ -9765,6 +9770,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)
@@ -9784,8 +9790,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];
@@ -9817,14 +9825,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);
}
@@ -9106,7 +9106,6 @@ class HTML_sportsmanager_admin
</tr>
<?php
}
if ($veranstaltung->spieltag_titel_zeigen)
echo "<tr>";
else
@@ -9120,8 +9119,6 @@ class HTML_sportsmanager_admin
<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){ ?>
@@ -9129,11 +9126,8 @@ class HTML_sportsmanager_admin
<?php } ?>
<?php } ?>
</datalist>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
@@ -9152,7 +9146,6 @@ class HTML_sportsmanager_admin
</select>
</td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
@@ -10117,7 +10110,7 @@ class HTML_sportsmanager_admin
<?php
}
static function adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte): void
static function adminBegegnungenRundeErzeugen($veranstaltung, $rows, $row, $spielorte, $auswahl_spieltagtitel): void
{
global $params;
$anzahlteams = count($rows);
@@ -10131,11 +10124,11 @@ class HTML_sportsmanager_admin
<form action="<?php echo SportsManagerURL(); ?>" method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%">
<table style="width: 100%">
<tr>
<td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%">
<table style="width: 100%">
<tr>
<td nowrap style="width: 20%; text-align: right">
<label
@@ -10156,7 +10149,7 @@ class HTML_sportsmanager_admin
}
}
</script>
<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"
onchange="tag_changed();">
<?php
@@ -10176,7 +10169,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);
@@ -10187,7 +10180,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);
@@ -10197,7 +10190,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
@@ -10211,7 +10204,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
@@ -10279,14 +10272,49 @@ class HTML_sportsmanager_admin
}
?>
<?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>
<?php
$spielnummer = 0;
for ($teamnr = 1; $teamnr < $anzahlteams; $teamnr += 2) {
$spielnummer++;
?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<?php if ($teamnr == 1) echo Text::_('COM_SPORTSMANAGER_PAIRINGS') . ":"; ?>
</td>
<td nowrap>
<select class="uk-select uk-form-width-xsmall" style="height: 34px;" id="game_nr"
type="number" name="spiel_nr_<?php echo $teamnr; ?>"
value=<?php echo $row->spiel_nr; ?> title="Spielnummer"/>
<option value=""></option>
<?php
for ($i = 1; $i <= 99; $i++)
{
echo "<option value=\"" . $i . "\"" . ($i == $spielnummer ? " selected " : "") . ">" . $i . "</option>";
}
?>
</select>
<select class="uk-select uk-form-width-medium"
name="team_id_<?php echo $teamnr; ?>" size="1"
aria-label="<?php echo Text::_('COM_SPORTSMANAGER_ARIA_LABEL_PAIRING_TEAM'); ?>">