Unterdrückung der Speicherung von Turnierspielen bei Monstr-DYP

This commit is contained in:
Jürgen Meyer
2025-11-13 10:51:11 +01:00
parent 12fd3a3ff0
commit bd491add2e
@@ -11950,6 +11950,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
} }
$turniersystemVorrunde = $matchingNodes->item(0)->getAttribute("system");
} }
if ($disziplinZusatzrunde != null) { if ($disziplinZusatzrunde != null) {
@@ -11960,6 +11961,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
} }
$turniersystemZusatzrunde = $matchingNodes->item(0)->getAttribute("system");
} }
if ($disziplinZusatzrunde2 != null) { if ($disziplinZusatzrunde2 != null) {
@@ -11970,6 +11972,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten."); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Datei darf nur eine Disziplin enthalten.");
} }
$turniersystemZusatzrunde2 = $matchingNodes->item(0)->getAttribute("system");
} }
$matchingNodes = $disziplin->getElementsByTagName("disziplin"); $matchingNodes = $disziplin->getElementsByTagName("disziplin");
@@ -11979,6 +11982,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
if ($matchingNodes->length != 1) { if ($matchingNodes->length != 1) {
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die uebergebene Datei darf nur eine Disziplin enthalten."); 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 // Spieler-Ids über Spielerliste ermitteln
$meldungenSpieler = array(); $meldungenSpieler = array();
@@ -12259,7 +12263,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
// Spiele speichern // Spiele speichern
$totalVorrunde = 0; $totalVorrunde = 0;
if ($disziplinVorrunde != null) { if ($disziplinVorrunde != null && $turniersystemVorrunde != "Monster-DYP") {
$matchingNodes = $disziplinVorrunde->getElementsByTagName("runde"); $matchingNodes = $disziplinVorrunde->getElementsByTagName("runde");
if ($matchingNodes != null) { if ($matchingNodes != null) {
$totalVorrunde = $matchingNodes->length; $totalVorrunde = $matchingNodes->length;
@@ -12297,6 +12301,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$heimId = $meldungenIds[$heim]; $heimId = $meldungenIds[$heim];
$gastId = $meldungenIds[$gast]; $gastId = $meldungenIds[$gast];
echo "<br>".$heim.": ".$meldungenIds[$heim]."<br>";
$spielNr = $i + 1; $spielNr = $i + 1;
if ($heimGewonneneSaetze > $gastGewonneneSaetze) if ($heimGewonneneSaetze > $gastGewonneneSaetze)
$ergebnis = 1; $ergebnis = 1;
@@ -12307,7 +12312,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)" $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'") . ");"; . "\n VALUES ('$id', '$spielNr', '$rundenNr', '10', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
@@ -12334,7 +12339,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
// Spiele speichern // Spiele speichern
if ($disziplinZusatzrunde != null) { if ($disziplinZusatzrunde != null && $turniersystemZusatzrunde != "Monster-DYP") {
$matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde"); $matchingNodes = $disziplinZusatzrunde->getElementsByTagName("runde");
if ($matchingNodes != null) { if ($matchingNodes != null) {
$totalZusatzrunde = $matchingNodes->length; $totalZusatzrunde = $matchingNodes->length;
@@ -12408,7 +12413,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
// Spiele speichern // Spiele speichern
if ($disziplinZusatzrunde2 != null) { if ($disziplinZusatzrunde2 != null && $turniersystemZusatzrunde2 != "Monster-DYP") {
$matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde"); $matchingNodes = $disziplinZusatzrunde2->getElementsByTagName("runde");
if ($matchingNodes != null) { if ($matchingNodes != null) {
$totalZusatzrunde2 = $matchingNodes->length; $totalZusatzrunde2 = $matchingNodes->length;
@@ -12481,76 +12486,78 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
} }
$matchingNodes = $disziplin->getElementsByTagName("runde"); if ($turniersystemHauptrunde != "Monster-DYP") {
if ($matchingNodes != null) { $matchingNodes = $disziplin->getElementsByTagName("runde");
$total = $matchingNodes->length; if ($matchingNodes != null) {
$ergebnis_saetze_maximum = 0; $total = $matchingNodes->length;
for ($i = 0; $i < $total; $i++) { $ergebnis_saetze_maximum = 0;
$currNode = $matchingNodes->item($i); for ($i = 0; $i < $total; $i++) {
$rundenNr = $currNode->getAttribute("no"); $currNode = $matchingNodes->item($i);
$rundenNr = $currNode->getAttribute("no");
$spielNodes = $currNode->getElementsByTagName("spiel"); $spielNodes = $currNode->getElementsByTagName("spiel");
foreach ($spielNodes as $spiel) { foreach ($spielNodes as $spiel) {
$heim = $spiel->getAttribute("heim"); $heim = $spiel->getAttribute("heim");
$gast = $spiel->getAttribute("gast"); $gast = $spiel->getAttribute("gast");
$heimGewonneneSaetze = 0; $heimGewonneneSaetze = 0;
$gastGewonneneSaetze = 0; $gastGewonneneSaetze = 0;
$ergebnis_detailliert = ""; $ergebnis_detailliert = "";
$ergebnis_saetze = 0; $ergebnis_saetze = 0;
$satzNodes = $spiel->getElementsByTagName("satz"); $satzNodes = $spiel->getElementsByTagName("satz");
foreach ($satzNodes as $satz) { foreach ($satzNodes as $satz) {
$heimPunkte = $satz->getAttribute("heim"); $heimPunkte = $satz->getAttribute("heim");
$gastPunkte = $satz->getAttribute("gast"); $gastPunkte = $satz->getAttribute("gast");
if ($heimPunkte > $gastPunkte) if ($heimPunkte > $gastPunkte)
$heimGewonneneSaetze++; $heimGewonneneSaetze++;
else if ($heimPunkte < $gastPunkte) else if ($heimPunkte < $gastPunkte)
$gastGewonneneSaetze++; $gastGewonneneSaetze++;
if ($heimPunkte > 1 || $gastPunkte > 1) { if ($heimPunkte > 1 || $gastPunkte > 1) {
if (!empty($ergebnis_detailliert)) if (!empty($ergebnis_detailliert))
$ergebnis_detailliert .= " "; $ergebnis_detailliert .= " ";
$ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte; $ergebnis_detailliert .= $heimPunkte . ":" . $gastPunkte;
$ergebnis_saetze++; $ergebnis_saetze++;
} }
} }
if ($ergebnis_saetze > $ergebnis_saetze_maximum) if ($ergebnis_saetze > $ergebnis_saetze_maximum)
$ergebnis_saetze_maximum = $ergebnis_saetze; $ergebnis_saetze_maximum = $ergebnis_saetze;
$heimId = $meldungenIds[$heim]; $heimId = $meldungenIds[$heim];
$gastId = $meldungenIds[$gast]; $gastId = $meldungenIds[$gast];
$spielNr = $totalVorrunde + $i + 1; $spielNr = $totalVorrunde + $i + 1;
if ($heimGewonneneSaetze > $gastGewonneneSaetze) if ($heimGewonneneSaetze > $gastGewonneneSaetze)
$ergebnis = 1; $ergebnis = 1;
else if ($heimGewonneneSaetze < $gastGewonneneSaetze) else if ($heimGewonneneSaetze < $gastGewonneneSaetze)
$ergebnis = 2; $ergebnis = 2;
else else
$ergebnis = 0; $ergebnis = 0;
$query = "INSERT INTO #__sportsmanager_turnierspiel (turnierdisziplin_id, spiel_nummer, runde, rundenstufe, heim_meldung_id, gast_meldung_id, ergebnis, ergebnis_detailliert)" $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'") . ");"; . "\n VALUES ('$id', '$spielNr', '$rundenNr', '1', '$heimId', '$gastId', '$ergebnis', " . (empty($ergebnis_detailliert) ? "null" : "'$ergebnis_detailliert'") . ");";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
} }
} }
if ($ergebnis_saetze_maximum > 0) { if ($ergebnis_saetze_maximum > 0) {
$query = "INSERT #__sportsmanager_turnier_rundenstufe" $query = "INSERT #__sportsmanager_turnier_rundenstufe"
. "\n SET bezeichnung = ''," . "\n SET bezeichnung = '',"
. "\n typ = null," . "\n typ = null,"
. "\n runden = null," . "\n runden = null,"
. "\n tabellenwertung = null," . "\n tabellenwertung = null,"
. "\n saetze = " . "'$ergebnis_saetze_maximum'" . "," . "\n saetze = " . "'$ergebnis_saetze_maximum'" . ","
. "\n tore = null," . "\n tore = null,"
. "\n spielfelder = null," . "\n spielfelder = null,"
. "\n turnierdisziplin_id = '$id'," . "\n turnierdisziplin_id = '$id',"
. "\n rundenstufe = '1'"; . "\n rundenstufe = '1'";
$db->setQuery($query); $db->setQuery($query);
if (!$db->execute()) { if (!$db->execute()) {
die($db->stderr(true)); die($db->stderr(true));
} }
} }
} }
}
} }
} }
} }