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);
}
#[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
{
$db = getDatabase();
@@ -12449,45 +12497,21 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$elo_aktualisieren = $turnierdisziplin->elo_wertung;
$aktualisieren_ab_datum = !empty($turnierdisziplin->beginn) ? substr($turnierdisziplin->beginn, 0, 10) : null;
$Meldung = "Alle Dateien wurden erfolgreich importiert!!!";
if (!empty($_FILES["daten"]["tmp_name"])) {
if (is_uploaded_file($_FILES["daten"]["tmp_name"])) {
$query = "DELETE FROM #__sportsmanager_turnierspiel WHERE turnierdisziplin_id = $id;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
$filename = $_FILES['daten']['name'];
$ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
$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));
}
if (!in_array(strtolower($ext), ["csv","json","xml"], true))
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene Datei muss vom Typ csv, xml oder json sein.");
$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));
}
if (!is_uploaded_file($_FILES["daten"]["tmp_name"]))
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Es wurde keine Datei hochgeladen.");
$query = "DELETE FROM #__sportsmanager_turniermeldung WHERE turnierdisziplin_id = $id AND rundenstufe <> 20;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
adminLoeschenTurnierdisziplinMeldungenSpiele($id);
$query = "DELETE FROM #__sportsmanager_turnier_rundenstufe WHERE turnierdisziplin_id = $id;";
$db->setQuery($query);
if (!$db->execute()) {
die($db->stderr(true));
}
// CSV-Import
if ($ext === "csv"){
$handle = fopen($_FILES["daten"]["tmp_name"], "r");
if (!$handle) {
@@ -12533,9 +12557,10 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$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();
else
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, "Die übergebene csv-Datei hat keine gueltige Daten.");
$ist_doppel = false;
if (isset($spalte["vorname2"]) && isset($spalte["nachname2"]))
@@ -12750,6 +12775,9 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
$spielerMeldungen[] = $spielerMeldung;
}
fclose($handle);
}
if (in_array(strtolower($ext), ["csv","json"], true) && !empty($spielerMeldungen)){
foreach ($spielerMeldungen as $spielerMeldung) {
$platz = $spielerMeldung["p"];
@@ -12805,8 +12833,9 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
}
}
}
} else { // XML-Import
fclose($handle);
}
if ($ext == "xml"){ // XML-Import
// Daten zu Vorrunde laden
$disziplinVorrunde = null;
@@ -13489,8 +13518,8 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
}
}
}
}
}
foreach (array(1, 2, 3, 10) as $rundenstufe) {
$query = "SELECT runde, COUNT(*) AS spiele"
@@ -13554,7 +13583,7 @@ function adminImportTurnierdisziplinMeldungenSpieleForm(): void
ranglisteAktualisieren(0, $id);
einstufungAktualisieren();
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id);
redirectSportsManagerURL('&task=admin_turnierdisziplin_meldungen_spiele&turnierdisziplinid=' . $id, $Meldung);
}
function adminEditTurnierdisziplinSpiel(): void
@@ -13543,7 +13543,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_MESSAGE_MAIN_ROUND_CSV'); ?>:
</td>
<td nowrap>
<input type="file" name="daten" size="30"/>
<input type="file" name="daten" accept=".csv,.xml,.json" size="30"/>
</td>
</tr>
<tr>
@@ -13551,7 +13551,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GAME1_ROUND_FEATURE_XML'); ?>:
</td>
<td nowrap>
<input type="file" name="daten_zusatzrunde" size="30"/>
<input type="file" name="daten_zusatzrunde" accept=".xml" size="30"/>
</td>
</tr>
<tr>
@@ -13559,7 +13559,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_GAME2_ROUND_FEATURE_XML'); ?>:
</td>
<td nowrap>
<input type="file" name="daten_zusatzrunde2" size="30"/>
<input type="file" name="daten_zusatzrunde2" accept=".xml" size="30"/>
</td>
</tr>
<tr>
@@ -13567,7 +13567,7 @@ class HTML_sportsmanager_admin
<?php echo Text::_('COM_SPORTSMANAGER_IMPORT_PRELIMINARY_ROUND_XML'); ?>:
</td>
<td nowrap>
<input type="file" name="daten_vorrunde" size="30"/>
<input type="file" name="daten_vorrunde" accept=".xml" size="30"/>
</td>
</tr>
<tr>