Änderungen nach issue #180

This commit is contained in:
Jürgen Meyer
2025-09-11 10:22:52 +02:00
parent 218dc138fb
commit ea85f102a5
4 changed files with 79 additions and 14 deletions
@@ -6448,7 +6448,6 @@ function adminEditMannschaft(): void
if ($id == 0) { if ($id == 0) {
$query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, teamname_kurz, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)" $query = "INSERT INTO #__sportsmanager_team (verein_id, veranstaltung_id, teamname, teamname_kurz, tischtyp, tischeigenschaften, heimspiel_wochentag, heimspiel_uhrzeit, heimspielort_id, nichtraucherschutz, zusatzpunkte" . ($veranstaltung->tabellenwertung == -2 ? ", platz" : "") . ", pin)"
. "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$teamname_kurz', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');"; . "\n VALUES (" . ($verein_id != 0 ? "'$verein_id'" : "NULL") . ", '$veranstaltungId', '$teamname', '$teamname_kurz', '$tischtyp', '$tischeigenschaften', '$heimspiel_wochentag', '$heimspiel_uhrzeit', " . ($heimspielort_id != 0 ? "'$heimspielort_id'" : "NULL") . ", '$nichtraucherschutz', '$zusatzpunkte'" . ($veranstaltung->tabellenwertung == -2 ? ($platz != 0 ? ", '$platz'" : ", NULL") : "") . ", '$pin');";
echo $query;
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
@@ -9818,7 +9817,12 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
. "\n ORDER BY spieltag DESC"; . "\n ORDER BY spieltag DESC";
$veranstaltung->nicht_abgeschlossene_spiele = loadResult($db, $query); $veranstaltung->nicht_abgeschlossene_spiele = loadResult($db, $query);
HTML_sportsmanager_admin::adminBegegnungenPokalrundeAuslosenForm($veranstaltung,getAuswahlSpieltagtitel()); $query = "SELECT *"
. "\n FROM #__sportsmanager_spielort"
. "\n ORDER BY ortsname, name, ortsteil";
$spielorte = loadObjectList($db, $query);
HTML_sportsmanager_admin::adminBegegnungenPokalrundeAuslosenForm($veranstaltung,getAuswahlSpieltagtitel(),$spielorte);
} }
#[NoReturn] function adminBegegnungenPokalrundeAuslosen(): void #[NoReturn] function adminBegegnungenPokalrundeAuslosen(): void
@@ -9828,6 +9832,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
$sperren = false; $sperren = false;
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
$spielort_id = $jInput->get('spielort_id', 0, 'INT');
$rundenNr = $jInput->get('runde', 0, 'INT'); $rundenNr = $jInput->get('runde', 0, 'INT');
$rundenTitel = $jInput->get('rundentitel', 0, 'STRING'); $rundenTitel = $jInput->get('rundentitel', 0, 'STRING');
$spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT'); $spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT');
@@ -9978,7 +9983,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
$query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr . $query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr .
", '" . $match['rundentitel'] . "', " . $key . ", '" . $match['rundentitel'] . "', " . $key .
", '" . $match['heim'] . "', '" . $match['gast'] . "'" . ", '" . $match['heim'] . "', '" . $match['gast'] . "'" .
", " . ($match['heimspielort_id'] != 0 ? "'" . $match['heimspielort_id'] . "'" : "NULL") . ")"; ", " . ($spielort_id != 0 ? "'" . $spielort_id . "'" : "NULL") . ")";
} }
$query .= "; "; $query .= "; ";
$db->setQuery($query); $db->setQuery($query);
@@ -10007,9 +10012,11 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
$sperren = false; $sperren = false;
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
$spielort_id = $jInput->get('spielort_id', 0, 'INT');
$rundenNr = $jInput->get('runde', 0, 'INT'); $rundenNr = $jInput->get('runde', 0, 'INT');
$rundenTitel = $jInput->get('rundentitel', 0, 'STRING'); $rundenTitel = $jInput->get('rundentitel', 0, 'STRING');
$spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT'); $spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT');
$heimrecht_losen = $jInput->get('heimrecht_losen', 0, 'INT');
if ($veranstaltungId == 0) die("Missing id!"); if ($veranstaltungId == 0) die("Missing id!");
@@ -10159,12 +10166,22 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
$matches[2]['rundentitel'] = "Spiel um Platz 3"; $matches[2]['rundentitel'] = "Spiel um Platz 3";
} }
if ($heimrecht_losen)
{
foreach ($matches as $key => $match) {
if (random_int(0, 1) === 1) {
$tmp = $matches[$key]['heim'];
$matches[$key]['heim'] = $matches[$key]['gast'];
$matches[$key]['gast'] = $tmp;
}
}
}
$Fehlertext = ""; $Fehlertext = "";
foreach($matches AS $spiel_nr => $match) foreach($matches AS $spiel_nr => $match)
{ {
$matches[$spiel_nr]['rundentitel'] = $matches[$spiel_nr]['rundentitel'] ?? $rundenTitel; $matches[$spiel_nr]['rundentitel'] = $matches[$spiel_nr]['rundentitel'] ?? $rundenTitel;
$matches[$spiel_nr]['zeitpunkt'] = $zeitpunkt; $matches[$spiel_nr]['zeitpunkt'] = $zeitpunkt;
$matches[$spiel_nr]['heimspielort_id'] = $teams[$teams_setzliste[$setzung[0]]]['heimspielort_id'];
$team_heim = $match['heim']; $team_heim = $match['heim'];
if ($datum_kw != null && $teams[$team_heim]['heimspiel_wochentag'] !== 0) { if ($datum_kw != null && $teams[$team_heim]['heimspiel_wochentag'] !== 0) {
$ts = getdate(mondaykw($datum_kw, $datum_jahr, $teams[$team_heim]['heimspiel_wochentag'] - 1)); $ts = getdate(mondaykw($datum_kw, $datum_jahr, $teams[$team_heim]['heimspiel_wochentag'] - 1));
@@ -10185,7 +10202,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
$query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr . $query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr .
", '" . $match['rundentitel'] . "', " . $key . ", '" . $match['rundentitel'] . "', " . $key .
", '" . $match['heim'] . "', '" . $match['gast'] . "'" . ", '" . $match['heim'] . "', '" . $match['gast'] . "'" .
", " . ($match['heimspielort_id'] != 0 ? "'" . $match['heimspielort_id'] . "'" : "NULL") . ")"; ", " . ($spielort_id != 0 ? "'" . $spielort_id . "'" : "NULL") . ")";
} }
$query .= "; "; $query .= "; ";
$db->setQuery($query); $db->setQuery($query);
@@ -8761,16 +8761,16 @@ class HTML_sportsmanager_admin
<a href="<?php echo SportsManagerURL('&task=admin_uebersicht'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_uebersicht'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_BACK'); ?></a>
</td> </td>
</tr> </tr>
<td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnung_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ADD_MEETING'); ?></a>
</td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<?php if ($veranstaltung->tabellenwertung == -3 || $veranstaltung->tabellenwertung == -4){ ?> <?php if ($veranstaltung->tabellenwertung == -3 || $veranstaltung->tabellenwertung == -4){ ?>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_pokalrunde_auslosen_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CUP_ROUND_GENERATION'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_begegnungen_pokalrunde_auslosen_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_CUP_ROUND_GENERATION'); ?></a>
</td> </td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?> <?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<?php } else { ?> <?php } else { ?>
<td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnung_edit&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ADD_MEETING'); ?></a>
</td>
<?php $Spalte_Nr = self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); ?>
<td nowrap> <td nowrap>
<a href="<?php echo SportsManagerURL('&task=admin_begegnungen_runde_erzeugen_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo $veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY_GENERATION') : Text::_('COM_SPORTSMANAGER_ROUND_GENERATION'); ?></a> <a href="<?php echo SportsManagerURL('&task=admin_begegnungen_runde_erzeugen_form&veranstaltungid=' . $veranstaltung->veranstaltung_id); ?>"><?php echo $veranstaltung->unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY_GENERATION') : Text::_('COM_SPORTSMANAGER_ROUND_GENERATION'); ?></a>
</td> </td>
@@ -8900,6 +8900,7 @@ class HTML_sportsmanager_admin
{ {
global $params; global $params;
?> ?>
<style>td{padding: 2px;}</style>
<div <div
class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTER_IN_COMPETITION'); ?> class="componentheading<?php echo $params->get('pageclass_sfx'); ?>"><?php echo Text::_('COM_SPORTSMANAGER_ENCOUNTER_IN_COMPETITION'); ?>
'<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?> '<?php echo htmlentities_utf8($veranstaltung->bezeichnung); ?>
@@ -8909,11 +8910,11 @@ class HTML_sportsmanager_admin
action="<?php echo SportsManagerURL(($row != null && !$neuer_eintrag) ? ('#id' . $row->begegnung_id) : ''); ?>" action="<?php echo SportsManagerURL(($row != null && !$neuer_eintrag) ? ('#id' . $row->begegnung_id) : ''); ?>"
method="post" name="adminForm" id="adminForm"> method="post" name="adminForm" id="adminForm">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 60%; vertical-align: top"> <td nowrap style="width: 60%; vertical-align: top">
<div class="uk-overflow-auto"> <div class="uk-overflow-auto">
<table class="uk-table" style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
<label <label
@@ -10236,7 +10237,7 @@ class HTML_sportsmanager_admin
<?php <?php
} }
static function adminBegegnungenPokalrundeAuslosenForm($veranstaltung,$auswahl_rundentitel): void static function adminBegegnungenPokalrundeAuslosenForm($veranstaltung,$auswahl_rundentitel,$spielorte): void
{ {
global $params; global $params;
$sperren = false; $sperren = false;
@@ -10358,6 +10359,33 @@ class HTML_sportsmanager_admin
?> ?>
</select> </select>
</td> </td>
</tr>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="venue"><?php echo Text::_('COM_SPORTSMANAGER_VENUE'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="spielort_id" id="venue"
size="1">
<option
value="0"><?php echo Text::_('COM_SPORTSMANAGER_HOME_TEAM2'); ?></option>
<?php
$ortsname = -1;
foreach ($spielorte as $spielort) {
if ($ortsname != $spielort->ortsname) {
if ($ortsname != -1)
echo "</optgroup>";
echo "<optgroup label=\"" . htmlentities_utf8(!empty($spielort->ortsname) ? $spielort->ortsname : Text::_('COM_SPORTSMANAGER_WITHOUT_PLACE')) . "\">";
$ortsname = $spielort->ortsname;
}
echo "<option value=\"" . $spielort->spielort_id . "\"" . ($row != null ? ($spielort->spielort_id == $row->spielort_id ? " selected" : "") : "") . ">" . htmlentities_utf8($spielort->name) . "</option>";
}
if ($ortsname != -1)
echo "</optgroup>";
?>
</select>
</td>
</tr> </tr>
<tr> <tr>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
@@ -10385,6 +10413,24 @@ class HTML_sportsmanager_admin
</datalist> </datalist>
</td> </td>
</tr> </tr>
<?php if ($veranstaltung->tabellenwertung == -4){ ?>
<tr>
<td nowrap style="width: 20%; text-align: right">
<label for="heimrecht_losen"><?php echo Text::_('COM_SPORTSMANAGER_DRAW_FOR_HOME'); ?>
:</label>
</td>
<td nowrap>
<select class="uk-select uk-form-width-medium" name="heimrecht_losen" id="heimrecht_losen" size="1">
<?php
$heimrechtlosen = array(Text::_('COM_SPORTSMANAGER_NO'), Text::_('COM_SPORTSMANAGER_YES'));
for ($i = 0; $i <= 1; $i++) {
echo "<option value=\"" . $i . "\">" . htmlentities_utf8($heimrechtlosen[$i]) . "</option>";
}
?>
</select>
</td>
</tr>
<?php } ?>
<?php if ($veranstaltung->letzteRunde == $veranstaltung->naechsteRunde) {$display = "";} else {$display = "none";} ?> <?php if ($veranstaltung->letzteRunde == $veranstaltung->naechsteRunde) {$display = "";} else {$display = "none";} ?>
<tr style='display: <?php echo $display; ?>;'> <tr style='display: <?php echo $display; ?>;'>
<td nowrap style="width: 20%; text-align: right"> <td nowrap style="width: 20%; text-align: right">
@@ -646,6 +646,7 @@ COM_SPORTSMANAGER_GAMEDAYS="Spieltage"
COM_SPORTSMANAGER_ROUND="Runde" COM_SPORTSMANAGER_ROUND="Runde"
COM_SPORTSMANAGER_ROUNDS="Runden" COM_SPORTSMANAGER_ROUNDS="Runden"
COM_SPORTSMANAGER_ROUND_TITLE="Runde Bezeichnung" COM_SPORTSMANAGER_ROUND_TITLE="Runde Bezeichnung"
COM_SPORTSMANAGER_DRAW_FOR_HOME="Heimrecht auslosen"
COM_SPORTSMANAGER_MATCH_PLACE3="Spiel um Platz 3" COM_SPORTSMANAGER_MATCH_PLACE3="Spiel um Platz 3"
COM_SPORTSMANAGER_MONTH="Monat" COM_SPORTSMANAGER_MONTH="Monat"
COM_SPORTSMANAGER_MONTHS="Monate" COM_SPORTSMANAGER_MONTHS="Monate"
@@ -646,6 +646,7 @@ COM_SPORTSMANAGER_GAMEDAYS="Gamedays"
COM_SPORTSMANAGER_ROUND="Round" COM_SPORTSMANAGER_ROUND="Round"
COM_SPORTSMANAGER_ROUNDS="Rounds" COM_SPORTSMANAGER_ROUNDS="Rounds"
COM_SPORTSMANAGER_ROUND_TITLE="Round Title" COM_SPORTSMANAGER_ROUND_TITLE="Round Title"
COM_SPORTSMANAGER_DRAW_FOR_HOME="Draw for home"
COM_SPORTSMANAGER_MATCH_PLACE3="Match for place 3" COM_SPORTSMANAGER_MATCH_PLACE3="Match for place 3"
COM_SPORTSMANAGER_MONTH="Month" COM_SPORTSMANAGER_MONTH="Month"
COM_SPORTSMANAGER_MONTHS="Months" COM_SPORTSMANAGER_MONTHS="Months"