Erst mal ein bisschen aufgeräumt

This commit is contained in:
Jürgen Meyer
2026-01-13 11:17:32 +01:00
parent c3cec6c93c
commit a2808b7db0
2 changed files with 1071 additions and 1042 deletions
@@ -12400,6 +12400,54 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
HTML_sportsmanager_admin::adminImportTurnierdisziplinMeldungenSpieleForm($row, $veranstalter); HTML_sportsmanager_admin::adminImportTurnierdisziplinMeldungenSpieleForm($row, $veranstalter);
} }
#[NoReturn] function adminLoeschenTurnierdisziplinMeldungenSpiele($id): void
{
$db = getDatabase();
global $_FILES;
$jInput = Factory::getContainer()->get(SiteApplication::class)->input;
if (!benutzerZugriff("turniere_aendern") && !benutzerTurnierModerator())
keinZugriff();
$query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE #__sportsmanager_turniermeldung_spieler_name"
. "\n FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung"
. "\n WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id"
. "\n AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id"
. "\n AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE #__sportsmanager_turniermeldung_spieler"
. "\n FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung"
. "\n WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id"
. "\n AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id AND rundenstufe <> 20;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
}
#[NoReturn] function adminImportTurnierdisziplinMeldungenSpiele(): void #[NoReturn] function adminImportTurnierdisziplinMeldungenSpiele(): void
{ {
$db = getDatabase(); $db = getDatabase();
@@ -12449,45 +12497,21 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$elo_aktualisieren = $turnierdisziplin->elo_wertung; $elo_aktualisieren = $turnierdisziplin->elo_wertung;
$aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null; $aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
$Meldung = "Alle Dateien wurden erfolgreich importiert!!!";
if (!empty($_FILES["daten"]["tmp_name"])) { $filename = $_FILES['daten']['name'];
if (is_uploaded_file($_FILES["daten"]["tmp_name"])) { $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
$query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE #__sportsmanager_turniermeldung_spieler_name" if (!in_array(strtolower($ext), ["csv","json","xml"], true))
. "\n FROM #__sportsmanager_turniermeldung_spieler_name, #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung" redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene Datei muss vom Typ csv, xml oder json sein.");
. "\n WHERE #__sportsmanager_turniermeldung_spieler_name.turniermeldung_spieler_id = #__sportsmanager_turniermeldung_spieler.turniermeldung_spieler_id"
. "\n AND #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id"
. "\n AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE #__sportsmanager_turniermeldung_spieler" if (!is_uploaded_file($_FILES["daten"]["tmp_name"]))
. "\n FROM #__sportsmanager_turniermeldung_spieler, #__sportsmanager_turniermeldung" redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Es wurde keine Datei hochgeladen.");
. "\n WHERE #__sportsmanager_turniermeldung_spieler.turniermeldung_id = #__sportsmanager_turniermeldung.turniermeldung_id"
. "\n AND turnierdisziplin_id = $id AND rundenstufe <> 20;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id AND rundenstufe <> 20;"; adminLoeschenTurnierdisziplinMeldungenSpiele($id);
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;"; // CSV-Import
$db->setQuery($query); if ($ext === "csv"){
if (!$db->execute()) {
die($db->stderr(true));
}
$handle = fopen($_FILES["daten"]["tmp_name"], "r"); $handle = fopen($_FILES["daten"]["tmp_name"], "r");
if (!$handle) { if (!$handle) {
@@ -12533,9 +12557,10 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$spalte["verein1"] = $index; $spalte["verein1"] = $index;
} }
// CSV-Import if ((isset($spalte["platz"]) && isset($spalte["vorname1"]) && isset($spalte["nachname1"])) || isset($spalte["itsf"]))
if ((isset($spalte["platz"]) && isset($spalte["vorname1"]) && isset($spalte["nachname1"])) || isset($spalte["itsf"])) {
$spielerMeldungen = array(); $spielerMeldungen = array();
else
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene csv-Datei hat keine gueltige Daten.");
$ist_doppel = false; $ist_doppel = false;
if (isset($spalte["vorname2"]) && isset($spalte["nachname2"])) if (isset($spalte["vorname2"]) && isset($spalte["nachname2"]))
@@ -12750,6 +12775,9 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$spielerMeldungen[] = $spielerMeldung; $spielerMeldungen[] = $spielerMeldung;
} }
fclose($handle); fclose($handle);
}
if (in_array(strtolower($ext), ["csv","json"], true) && !empty($spielerMeldungen)){
foreach ($spielerMeldungen as $spielerMeldung) { foreach ($spielerMeldungen as $spielerMeldung) {
$platz = $spielerMeldung["p"]; $platz = $spielerMeldung["p"];
@@ -12805,8 +12833,9 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
} }
} }
} else { // XML-Import }
fclose($handle);
if ($ext == "xml"){ // XML-Import
// Daten zu Vorrunde laden // Daten zu Vorrunde laden
$disziplinVorrunde = null; $disziplinVorrunde = null;
@@ -13489,8 +13518,8 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
} }
} }
} }
}
}
foreach (array(1, 2, 3, 10) as $rundenstufe) { foreach (array(1, 2, 3, 10) as $rundenstufe) {
$query = "SELECT runde, COUNT(*) AS spiele" $query = "SELECT runde, COUNT(*) AS spiele"
@@ -13554,7 +13583,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
ranglisteAktualisieren(0, $id); ranglisteAktualisieren(0, $id);
einstufungAktualisieren(); einstufungAktualisieren();
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id); redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, $Meldung);
} }
function adminEditTurnierdisziplinSpiel(): void function adminEditTurnierdisziplinSpiel(): void
@@ -13543,7 +13543,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_MESSAGE_MAIN_ROUND_CSV'); ?>: <?php echo Text::_('COM_SPORTSMANAGER_IMPORT_MESSAGE_MAIN_ROUND_CSV'); ?>:
</td> </td>
<td nowrap> <td nowrap>
<input type="file" name="daten" size="30"/> <input type="file" name="daten" accept=".csv,.xml,.json" size="30"/>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -13551,7 +13551,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GAME1_ROUND_FEATURE_XML'); ?>: <?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GAME1_ROUND_FEATURE_XML'); ?>:
</td> </td>
<td nowrap> <td nowrap>
<input type="file" name="daten_zusatzrunde" size="30"/> <input type="file" name="daten_zusatzrunde" accept=".xml" size="30"/>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -13559,7 +13559,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GAME2_ROUND_FEATURE_XML'); ?>: <?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GAME2_ROUND_FEATURE_XML'); ?>:
</td> </td>
<td nowrap> <td nowrap>
<input type="file" name="daten_zusatzrunde2" size="30"/> <input type="file" name="daten_zusatzrunde2" accept=".xml" size="30"/>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -13567,7 +13567,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_PRELIMINARY_ROUND_XML'); ?>: <?php echo Text::_('COM_SPORTSMANAGER_IMPORT_PRELIMINARY_ROUND_XML'); ?>:
</td> </td>
<td nowrap> <td nowrap>
<input type="file" name="daten_vorrunde" size="30"/> <input type="file" name="daten_vorrunde" accept=".xml" size="30"/>
</td> </td>
</tr> </tr>
<tr> <tr>