mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Merge pull request #237 from Deutscher-Tischfussballbund/sportsmanager-issue236
Wrong winner when doing draw for cup
This commit is contained in:
@@ -9923,6 +9923,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
|
||||||
|
|
||||||
$sperren = false;
|
$sperren = false;
|
||||||
|
$Fehlertext = "";
|
||||||
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
|
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
|
||||||
$spielort_id = $jInput->get('spielort_id', 0, 'INT');
|
$spielort_id = $jInput->get('spielort_id', 0, 'INT');
|
||||||
$rundenNr = $jInput->get('runde', 0, 'INT');
|
$rundenNr = $jInput->get('runde', 0, 'INT');
|
||||||
@@ -9964,18 +9965,30 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
else{
|
else{
|
||||||
$anzahlmatches = pow(2, $anzahlrunden - $rundenNr);
|
$anzahlmatches = pow(2, $anzahlrunden - $rundenNr);
|
||||||
//Verlierer rausfiltern
|
//Verlierer rausfiltern
|
||||||
$query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer"
|
$query = "SELECT"
|
||||||
. "\n FROM #__sportsmanager_begegnung AS t1"
|
. "\n CASE"
|
||||||
. "\n LEFT JOIN #__sportsmanager_team AS t2"
|
. "\n WHEN t1.heim_spielpunkte > t1.gast_spielpunkte THEN t3.team_id"
|
||||||
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
|
. "\n WHEN t1.heim_spielpunkte < t1.gast_spielpunkte THEN t2.team_id"
|
||||||
. "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4"
|
. "\n WHEN t1.heim_spielpunkte = t1.gast_spielpunkte AND t1.heim_punkte > t1.gast_punkte THEN t3.team_id"
|
||||||
. "\n ON t2.veranstaltung_id = t4.veranstaltung_id"
|
. "\n WHEN t1.heim_spielpunkte = t1.gast_spielpunkte AND t1.heim_punkte < t1.gast_punkte THEN t2.team_id"
|
||||||
. "\n WHERE t4.veranstaltung_id = $veranstaltungId;";
|
. "\n ELSE 0"
|
||||||
|
. "\n END AS Verlierer"
|
||||||
|
. "\n FROM #__sportsmanager_begegnung AS t1"
|
||||||
|
. "\n LEFT JOIN #__sportsmanager_team AS t2"
|
||||||
|
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
|
||||||
|
. "\n ON t1.gast_team_id = t3.team_id LEFT JOIN #__sportsmanager_veranstaltung AS t4"
|
||||||
|
. "\n ON t2.veranstaltung_id = t4.veranstaltung_id"
|
||||||
|
. "\n WHERE t4.veranstaltung_id = $veranstaltungId;";
|
||||||
$loosers = loadObjectList($db, $query);
|
$loosers = loadObjectList($db, $query);
|
||||||
|
|
||||||
$Zeile = 0;
|
$Zeile = 0;
|
||||||
foreach($loosers AS $looser)
|
foreach($loosers AS $looser)
|
||||||
{
|
{
|
||||||
|
if ($looser->Verlierer == 0)
|
||||||
|
{
|
||||||
|
$Fehlertext = "Mindestens ein Sieger konnte nicht ermittelt werden!!!";
|
||||||
|
$sperren = true;
|
||||||
|
}
|
||||||
if ($Zeile > 0) $Verlierer .= ",";
|
if ($Zeile > 0) $Verlierer .= ",";
|
||||||
$Verlierer .= $looser->Verlierer;
|
$Verlierer .= $looser->Verlierer;
|
||||||
$Zeile++;
|
$Zeile++;
|
||||||
@@ -10028,14 +10041,21 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
for ($matchNr = 0; $matchNr < $anzahlmatches; $matchNr++) {
|
for ($matchNr = 0; $matchNr < $anzahlmatches; $matchNr++) {
|
||||||
$team_heim = $matchNr * 2 ;
|
$team_heim = $matchNr * 2 ;
|
||||||
$team_gast = $team_heim + 1;
|
$team_gast = $team_heim + 1;
|
||||||
$matches[$matchNr]['heim'] = $teams_auslosung[$team_heim]['team_id'];
|
$matches[$matchNr + 1]['heim'] = $teams_auslosung[$team_heim]['team_id'];
|
||||||
$matches[$matchNr]['gast'] = $teams_auslosung[$team_gast]['team_id'];
|
$matches[$matchNr + 1]['gast'] = $teams_auslosung[$team_gast]['team_id'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($spielumplatz3)
|
if ($spielumplatz3)
|
||||||
{
|
{
|
||||||
//Verlierer Halbfinale ermitteln
|
//Verlierer Halbfinale ermitteln
|
||||||
$query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer"
|
$query = "SELECT"
|
||||||
|
. "\n CASE"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte > t1.gast_spielpunkte THEN t3.team_id"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte < t1.gast_spielpunkte THEN t2.team_id"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte = t1.gast_spielpunkte AND t1.heim_punkte > t1.gast_punkte THEN t3.team_id"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte = t1.gast_spielpunkte AND t1.heim_punkte < t1.gast_punkte THEN t2.team_id"
|
||||||
|
. "\n ELSE 0"
|
||||||
|
. "\n END AS Verlierer"
|
||||||
. "\n FROM #__sportsmanager_begegnung AS t1"
|
. "\n FROM #__sportsmanager_begegnung AS t1"
|
||||||
. "\n LEFT JOIN #__sportsmanager_team AS t2"
|
. "\n LEFT JOIN #__sportsmanager_team AS t2"
|
||||||
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
|
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
|
||||||
@@ -10049,13 +10069,12 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
$matches[2]['rundentitel'] = "Spiel um Platz 3";
|
$matches[2]['rundentitel'] = "Spiel um Platz 3";
|
||||||
}
|
}
|
||||||
|
|
||||||
$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'] = $match['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'];
|
||||||
|
$matches[$spiel_nr]['heimspielort_id'] = $teams[$team_heim]['heimspielort_id'];
|
||||||
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));
|
||||||
$matches[$spiel_nr]['zeitpunkt'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"],
|
$matches[$spiel_nr]['zeitpunkt'] = sprintf("%04d-%02d-%02d %02d:%02d:%02d", $ts["year"], $ts["mon"], $ts["mday"],
|
||||||
@@ -10086,8 +10105,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
|
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
echo "<span style='display: inline-block; background: red; color: white;vertical-align: middle;'>
|
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId, $Fehlertext);
|
||||||
$Fehlertext</span>\n";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10099,10 +10117,10 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
|
|
||||||
$teams = [];
|
$teams = [];
|
||||||
$setzliste = [];
|
$setzliste = [];
|
||||||
$setzung = [];
|
|
||||||
$matches = [];
|
$matches = [];
|
||||||
|
|
||||||
$sperren = false;
|
$sperren = false;
|
||||||
|
$Fehlertext = "";
|
||||||
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
|
$veranstaltungId = $jInput->get('veranstaltungid', 0, 'INT');
|
||||||
$spielort_id = $jInput->get('spielort_id', 0, 'INT');
|
$spielort_id = $jInput->get('spielort_id', 0, 'INT');
|
||||||
$rundenNr = $jInput->get('runde', 0, 'INT');
|
$rundenNr = $jInput->get('runde', 0, 'INT');
|
||||||
@@ -10186,8 +10204,6 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
$sperren = true;
|
$sperren = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$matches = [];
|
|
||||||
|
|
||||||
if ($rundenNr == 1){
|
if ($rundenNr == 1){
|
||||||
$setzliste = getSetzliste($anzahlrunden);
|
$setzliste = getSetzliste($anzahlrunden);
|
||||||
$spiel_nr = 0;
|
$spiel_nr = 0;
|
||||||
@@ -10219,7 +10235,9 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
if ($rundenNr >= 2){
|
if ($rundenNr >= 2){
|
||||||
$query = "SELECT t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast,
|
$query = "SELECT t4.bezeichnung AS Liga, t1.zeitpunkt AS Spielstart, t2.teamname AS Heim, t3.teamname AS Gast,
|
||||||
t1.heim_team_id, t1.gast_team_id,
|
t1.heim_team_id, t1.gast_team_id,
|
||||||
t1.spieltag_titel AS Runde, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr, t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore, t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte
|
t1.spieltag_titel AS Runde, t1.spieltag AS Spieltag_Nr, t1.spiel_nr AS Spiel_Nr,
|
||||||
|
t1.heim_punkte AS Heim_Tore, t1.gast_punkte AS Gast_Tore,
|
||||||
|
t1.heim_spielpunkte AS Heim_Satzpunkte, t1.gast_spielpunkte AS Gast_Satzpunkte
|
||||||
FROM #__sportsmanager_begegnung AS t1
|
FROM #__sportsmanager_begegnung AS t1
|
||||||
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
|
LEFT JOIN #__sportsmanager_team AS t2 ON t1.heim_team_id = t2.team_id
|
||||||
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
|
LEFT JOIN #__sportsmanager_team AS t3 ON t1.gast_team_id = t3.team_id
|
||||||
@@ -10227,13 +10245,25 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
WHERE t4.veranstaltung_id = " . $veranstaltungId . " AND t1.spieltag = " . ($rundenNr - 1) . "
|
WHERE t4.veranstaltung_id = " . $veranstaltungId . " AND t1.spieltag = " . ($rundenNr - 1) . "
|
||||||
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr;";
|
ORDER BY t4.veranstaltung_id, t1.spieltag, t1.spiel_nr;";
|
||||||
$begegnungen = json_decode(json_encode(loadObjectList($db, $query)), true);
|
$begegnungen = json_decode(json_encode(loadObjectList($db, $query)), true);
|
||||||
|
|
||||||
foreach($begegnungen AS $begegnung)
|
foreach($begegnungen AS $begegnung)
|
||||||
{
|
{
|
||||||
if ($begegnung['Heim_Satzpunkte'] > $begegnung['Gast_Satzpunkte'])
|
if ($begegnung['Heim_Satzpunkte'] > $begegnung['Gast_Satzpunkte'])
|
||||||
$sieger = $begegnung['heim_team_id'];
|
$sieger = $begegnung['heim_team_id'];
|
||||||
else
|
if ($begegnung['Gast_Satzpunkte'] > $begegnung['Heim_Satzpunkte'])
|
||||||
$sieger = $begegnung['gast_team_id'];
|
$sieger = $begegnung['gast_team_id'];
|
||||||
|
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'])
|
||||||
|
{
|
||||||
|
if ($begegnung['Heim_Tore'] > $begegnung['Gast_Tore'])
|
||||||
|
$sieger = $begegnung['heim_team_id'];
|
||||||
|
else if ($begegnung['Gast_Tore'] > $begegnung['Heim_Tore'])
|
||||||
|
$sieger = $begegnung['gast_team_id'];
|
||||||
|
else {
|
||||||
|
$sieger = 0;
|
||||||
|
$Fehlertext = "Mindestens ein Sieger konnte nicht ermittelt werden!!!";
|
||||||
|
$sperren = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
if ($begegnung['Spiel_Nr'] % 2)
|
if ($begegnung['Spiel_Nr'] % 2)
|
||||||
$matches[round($begegnung['Spiel_Nr']/2)]['heim'] = $sieger;
|
$matches[round($begegnung['Spiel_Nr']/2)]['heim'] = $sieger;
|
||||||
else
|
else
|
||||||
@@ -10244,7 +10274,14 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
if ($spielumplatz3)
|
if ($spielumplatz3)
|
||||||
{
|
{
|
||||||
//Verlierer Halbfinale ermitteln
|
//Verlierer Halbfinale ermitteln
|
||||||
$query = "SELECT IF(t1.heim_punkte > t1.gast_punkte, t3.team_id, t2.team_id) AS Verlierer"
|
$query = "SELECT"
|
||||||
|
. "\n CASE"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte > t1.gast_spielpunkte THEN t3.team_id"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte < t1.gast_spielpunkte THEN t2.team_id"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte = t1.gast_spielpunkte AND t1.heim_punkte > t1.gast_punkte THEN t3.team_id"
|
||||||
|
. "\n WHEN t1.heim_spielpunkte = t1.gast_spielpunkte AND t1.heim_punkte < t1.gast_punkte THEN t2.team_id"
|
||||||
|
. "\n ELSE 0"
|
||||||
|
. "\n END AS Verlierer"
|
||||||
. "\n FROM #__sportsmanager_begegnung AS t1"
|
. "\n FROM #__sportsmanager_begegnung AS t1"
|
||||||
. "\n LEFT JOIN #__sportsmanager_team AS t2"
|
. "\n LEFT JOIN #__sportsmanager_team AS t2"
|
||||||
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
|
. "\n ON t1.heim_team_id = t2.team_id LEFT JOIN #__sportsmanager_team AS t3"
|
||||||
@@ -10269,7 +10306,6 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$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;
|
||||||
@@ -10305,8 +10341,7 @@ function adminBegegnungenPokalrundeAuslosenForm(): void
|
|||||||
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
|
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
echo "<span style='display: inline-block; background: red; color: white;vertical-align: middle;'>
|
redirectSportsManagerURL('&task=admin_begegnungen&veranstaltungid=' . $veranstaltungId, $Fehlertext);
|
||||||
$Fehlertext</span>\n";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2388,6 +2388,24 @@ function turnierbaumAnzeigen($veranstaltung): void
|
|||||||
else
|
else
|
||||||
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
|
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] > $begegnung['Gast_Tore']) {
|
||||||
|
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 1;
|
||||||
|
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
||||||
|
if (round($begegnung['Spiel_Nr'] % 2))
|
||||||
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = htmlentities($begegnung['Heim']);
|
||||||
|
else
|
||||||
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Heim']);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
if ($begegnung['Heim_Satzpunkte'] == $begegnung['Gast_Satzpunkte'] && $begegnung['Heim_Tore'] < $begegnung['Gast_Tore']) {
|
||||||
|
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 2;
|
||||||
|
if ($begegnung['Spieltag_Nr'] < $anzahlRunden){
|
||||||
|
if (round($begegnung['Spiel_Nr'] % 2))
|
||||||
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['heim'] = htmlentities($begegnung['Gast']);
|
||||||
|
else
|
||||||
|
$begegnungen[$begegnung['Spieltag_Nr'] + 1][round($begegnung['Spiel_Nr'] / 2)]['gast'] = htmlentities($begegnung['Gast']);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 0;
|
$begegnungen[$begegnung['Spieltag_Nr']][$begegnung['Spiel_Nr']]['sieger'] = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user