diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index e9042ed..1a42438 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -6457,7 +6457,6 @@ function adminEditMannschaft(): void 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)" . "\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); if (!$db->execute()) { die($db->stderr(true)); @@ -9827,7 +9826,12 @@ function adminBegegnungenPokalrundeAuslosenForm(): void . "\n ORDER BY spieltag DESC"; $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 @@ -9837,6 +9841,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void $sperren = false; $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); + $spielort_id = $jInput->get('spielort_id', 0, 'INT'); $rundenNr = $jInput->get('runde', 0, 'INT'); $rundenTitel = $jInput->get('rundentitel', 0, 'STRING'); $spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT'); @@ -9987,7 +9992,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void $query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr . ", '" . $match['rundentitel'] . "', " . $key . ", '" . $match['heim'] . "', '" . $match['gast'] . "'" . - ", " . ($match['heimspielort_id'] != 0 ? "'" . $match['heimspielort_id'] . "'" : "NULL") . ")"; + ", " . ($spielort_id != 0 ? "'" . $spielort_id . "'" : "NULL") . ")"; } $query .= "; "; $db->setQuery($query); @@ -10016,9 +10021,11 @@ function adminBegegnungenPokalrundeAuslosenForm(): void $sperren = false; $veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT'); + $spielort_id = $jInput->get('spielort_id', 0, 'INT'); $rundenNr = $jInput->get('runde', 0, 'INT'); $rundenTitel = $jInput->get('rundentitel', 0, 'STRING'); $spielumplatz3 = $jInput->get('spielumplatz3', 0, 'INT'); + $heimrecht_losen = $jInput->get('heimrecht_losen', 0, 'INT'); if ($veranstaltungId == 0) die("Missing id!"); @@ -10168,12 +10175,22 @@ function adminBegegnungenPokalrundeAuslosenForm(): void $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 = ""; foreach($matches AS $spiel_nr => $match) { $matches[$spiel_nr]['rundentitel'] = $matches[$spiel_nr]['rundentitel'] ?? $rundenTitel; $matches[$spiel_nr]['zeitpunkt'] = $zeitpunkt; - $matches[$spiel_nr]['heimspielort_id'] = $teams[$teams_setzliste[$setzung[0]]]['heimspielort_id']; $team_heim = $match['heim']; if ($datum_kw != null && $teams[$team_heim]['heimspiel_wochentag'] !== 0) { $ts = getdate(mondaykw($datum_kw, $datum_jahr, $teams[$team_heim]['heimspiel_wochentag'] - 1)); @@ -10194,14 +10211,14 @@ function adminBegegnungenPokalrundeAuslosenForm(): void $query .= "('" . $match['zeitpunkt'] . "', " . $rundenNr . ", '" . $match['rundentitel'] . "', " . $key . ", '" . $match['heim'] . "', '" . $match['gast'] . "'" . - ", " . ($match['heimspielort_id'] != 0 ? "'" . $match['heimspielort_id'] . "'" : "NULL") . ")"; + ", " . ($spielort_id != 0 ? "'" . $spielort_id . "'" : "NULL") . ")"; } $query .= "; "; $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); } - + redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId); } else{ 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 6824102..261b5ce 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -8803,16 +8803,16 @@ class HTML_sportsmanager_admin - - - - tabellenwertung == -3 || $veranstaltung->tabellenwertung == -4){ ?> + + + + unterteilung == 0 ? Text::_('COM_SPORTSMANAGER_GAMEDAY_GENERATION') : Text::_('COM_SPORTSMANAGER_ROUND_GENERATION'); ?> @@ -8942,6 +8942,7 @@ class HTML_sportsmanager_admin { global $params; ?> +
'bezeichnung); ?> @@ -8951,11 +8952,11 @@ class HTML_sportsmanager_admin action="begegnung_id) : ''); ?>" method="post" name="adminForm" id="adminForm">
- +
- +
+ + + + + tabellenwertung == -4){ ?> + + + + + letzteRunde == $veranstaltung->naechsteRunde) {$display = "";} else {$display = "none";} ?> - +
+ + + +
@@ -10427,8 +10455,26 @@ class HTML_sportsmanager_admin
+ + + +
diff --git a/src/structure/language/de-DE/de-DE.com_sportsmanager.ini b/src/structure/language/de-DE/de-DE.com_sportsmanager.ini index d9fabb3..0995874 100644 --- a/src/structure/language/de-DE/de-DE.com_sportsmanager.ini +++ b/src/structure/language/de-DE/de-DE.com_sportsmanager.ini @@ -647,6 +647,7 @@ COM_SPORTSMANAGER_GAMEDAYS="Spieltage" COM_SPORTSMANAGER_ROUND="Runde" COM_SPORTSMANAGER_ROUNDS="Runden" COM_SPORTSMANAGER_ROUND_TITLE="Runde Bezeichnung" +COM_SPORTSMANAGER_DRAW_FOR_HOME="Heimrecht auslosen" COM_SPORTSMANAGER_MATCH_PLACE3="Spiel um Platz 3" COM_SPORTSMANAGER_MONTH="Monat" COM_SPORTSMANAGER_MONTHS="Monate" diff --git a/src/structure/language/en-GB/en-GB.com_sportsmanager.ini b/src/structure/language/en-GB/en-GB.com_sportsmanager.ini index c8a1b4b..ba49298 100644 --- a/src/structure/language/en-GB/en-GB.com_sportsmanager.ini +++ b/src/structure/language/en-GB/en-GB.com_sportsmanager.ini @@ -647,6 +647,7 @@ COM_SPORTSMANAGER_GAMEDAYS="Gamedays" COM_SPORTSMANAGER_ROUND="Round" COM_SPORTSMANAGER_ROUNDS="Rounds" COM_SPORTSMANAGER_ROUND_TITLE="Round Title" +COM_SPORTSMANAGER_DRAW_FOR_HOME="Draw for home" COM_SPORTSMANAGER_MATCH_PLACE3="Match for place 3" COM_SPORTSMANAGER_MONTH="Month" COM_SPORTSMANAGER_MONTHS="Months"