diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index f253ef6..f09eb34 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -11950,6 +11950,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void if ($matchingNodes->length != 1) { redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); } + $turniersystemVorrunde = $matchingNodes->item(0)->getAttribute("system"); } if ($disziplinZusatzrunde != null) { @@ -11960,6 +11961,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void if ($matchingNodes->length != 1) { redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); } + $turniersystemZusatzrunde = $matchingNodes->item(0)->getAttribute("system"); } if ($disziplinZusatzrunde2 != null) { @@ -11970,6 +11972,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void if ($matchingNodes->length != 1) { redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); } + $turniersystemZusatzrunde2 = $matchingNodes->item(0)->getAttribute("system"); } $matchingNodes = $disziplin->getElementsByTagName("disziplin"); @@ -11979,6 +11982,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void if ($matchingNodes->length != 1) { redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei darf nur eine Disziplin enthalten."); } + $turniersystemHauptrunde = $matchingNodes->item(0)->getAttribute("system"); // Spieler-Ids über Spielerliste ermitteln $meldungenSpieler = array(); @@ -12259,7 +12263,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void // Spiele speichern $totalVorrunde = 0; - if ($disziplinVorrunde != null) { + if ($disziplinVorrunde != null && $turniersystemVorrunde != "Monster-DYP") { $matchingNodes = $disziplinVorrunde->getElementsByTagName("runde"); if ($matchingNodes != null) { $totalVorrunde = $matchingNodes->length; @@ -12307,7 +12311,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)" . "\n VALUES ('$id', '$spielNr', '$rundenNr', '10', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");"; - $db->setQuery($query); + $db->setQuery($query); if (!$db->execute()) { die($db->stderr(true)); } @@ -12334,7 +12338,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void } // Spiele speichern - if ($disziplinZusatzrunde != null) { + if ($disziplinZusatzrunde != null && $turniersystemZusatzrunde != "Monster-DYP") { $matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde"); if ($matchingNodes != null) { $totalZusatzrunde = $matchingNodes->length; @@ -12408,7 +12412,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void } // Spiele speichern - if ($disziplinZusatzrunde2 != null) { + if ($disziplinZusatzrunde2 != null && $turniersystemZusatzrunde2 != "Monster-DYP") { $matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde"); if ($matchingNodes != null) { $totalZusatzrunde2 = $matchingNodes->length; @@ -12480,77 +12484,79 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void } } } + + if ($turniersystemHauptrunde != "Monster-DYP") { + $matchingNodes = $disziplin->getElementsByTagName("runde"); + if ($matchingNodes != null) { + $total = $matchingNodes->length; + $ergebnis_saetze_maximum = 0; + for ($i = 0; $i < $total; $i++) { + $currNode = $matchingNodes->item($i); + $rundenNr = $currNode->getAttribute("no"); - $matchingNodes = $disziplin->getElementsByTagName("runde"); - if ($matchingNodes != null) { - $total = $matchingNodes->length; - $ergebnis_saetze_maximum = 0; - for ($i = 0; $i < $total; $i++) { - $currNode = $matchingNodes->item($i); - $rundenNr = $currNode->getAttribute("no"); + $spielNodes = $currNode->getElementsByTagName("spiel"); + foreach ($spielNodes as $spiel) { + $heim = $spiel->getAttribute("heim"); + $gast = $spiel->getAttribute("gast"); - $spielNodes = $currNode->getElementsByTagName("spiel"); - foreach ($spielNodes as $spiel) { - $heim = $spiel->getAttribute("heim"); - $gast = $spiel->getAttribute("gast"); + $heimGewonneneSaetze = 0; + $gastGewonneneSaetze = 0; + $ergebnis_detailliert = ""; + $ergebnis_saetze = 0; + $satzNodes = $spiel->getElementsByTagName("satz"); + foreach ($satzNodes as $satz) { + $heimPunkte = $satz->getAttribute("heim"); + $gastPunkte = $satz->getAttribute("gast"); + if ($heimPunkte > $gastPunkte) + $heimGewonneneSaetze++; + else if ($heimPunkte < $gastPunkte) + $gastGewonneneSaetze++; + if ($heimPunkte > 1 || $gastPunkte > 1) { + if (!empty($ergebnis_detailliert)) + $ergebnis_detailliert .= " "; + $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte; + $ergebnis_saetze++; + } + } + if ($ergebnis_saetze > $ergebnis_saetze_maximum) + $ergebnis_saetze_maximum = $ergebnis_saetze; - $heimGewonneneSaetze = 0; - $gastGewonneneSaetze = 0; - $ergebnis_detailliert = ""; - $ergebnis_saetze = 0; - $satzNodes = $spiel->getElementsByTagName("satz"); - foreach ($satzNodes as $satz) { - $heimPunkte = $satz->getAttribute("heim"); - $gastPunkte = $satz->getAttribute("gast"); - if ($heimPunkte > $gastPunkte) - $heimGewonneneSaetze++; - else if ($heimPunkte < $gastPunkte) - $gastGewonneneSaetze++; - if ($heimPunkte > 1 || $gastPunkte > 1) { - if (!empty($ergebnis_detailliert)) - $ergebnis_detailliert .= " "; - $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte; - $ergebnis_saetze++; - } - } - if ($ergebnis_saetze > $ergebnis_saetze_maximum) - $ergebnis_saetze_maximum = $ergebnis_saetze; + $heimId = $meldungenIds[$heim]; + $gastId = $meldungenIds[$gast]; + $spielNr = $totalVorrunde + $i + 1; + if ($heimGewonneneSaetze > $gastGewonneneSaetze) + $ergebnis = 1; + else if ($heimGewonneneSaetze < $gastGewonneneSaetze) + $ergebnis = 2; + else + $ergebnis = 0; - $heimId = $meldungenIds[$heim]; - $gastId = $meldungenIds[$gast]; - $spielNr = $totalVorrunde + $i + 1; - if ($heimGewonneneSaetze > $gastGewonneneSaetze) - $ergebnis = 1; - else if ($heimGewonneneSaetze < $gastGewonneneSaetze) - $ergebnis = 2; - else - $ergebnis = 0; - - $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)" - . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - } - } - if ($ergebnis_saetze_maximum > 0) { - $query = "INSERT #__sportsmanager_turnier_rundenstufe" - . "\n SET bezeichnung = ''," - . "\n typ = null," - . "\n runden = null," - . "\n tabellenwertung = null," - . "\n saetze = " . "'$ergebnis_saetze_maximum'" . "," - . "\n tore = null," - . "\n spielfelder = null," - . "\n turnierdisziplin_id = '$id'," - . "\n rundenstufe = '1'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } - } - } + $query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)" + . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + } + if ($ergebnis_saetze_maximum > 0) { + $query = "INSERT #__sportsmanager_turnier_rundenstufe" + . "\n SET bezeichnung = ''," + . "\n typ = null," + . "\n runden = null," + . "\n tabellenwertung = null," + . "\n saetze = " . "'$ergebnis_saetze_maximum'" . "," + . "\n tore = null," + . "\n spielfelder = null," + . "\n turnierdisziplin_id = '$id'," + . "\n rundenstufe = '1'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } + } + } + } } } }