diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index f39f453..4cc96d3 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -20,8 +20,6 @@ require_once JPATH_SITE . '/components/com_sportsmanager/database/init.php'; function UhrzeitWandlerDE($Zeitstempel): mixed { - //Jürgen Meyer 07.03.2025 - $Temp = explode(' ', $Zeitstempel); $Datum = $Temp[0]; $Uhrzeit = $Temp[1]; @@ -36,7 +34,6 @@ function UhrzeitWandlerDE($Zeitstempel): mixed function validateDate($date, $format = 'Y-m-d H:i:s'): bool { - //Jürgen Meyer 07.03.2025 $d = DateTime::createFromFormat($format, $date); return $d && $d->format($format) == $date; } @@ -2242,14 +2239,9 @@ function adminImportSpielerDetailsForm(): void $rows = $db->loadObjectList(); foreach ($rows as $row) { - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '$row->session_id'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($row->session_id); } - + if (empty($_FILES["daten"]["tmp_name"]) || !is_uploaded_file($_FILES["daten"]["tmp_name"])) { redirectSportsManagerURL('&task=admin_spieler', Text::_('COM_SPORTSMANAGER_NO_FILE_SPECIFIED')); } @@ -2507,12 +2499,7 @@ function adminImportSpielerDetailsForm(): void die($db->stderr(true)); } - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($session_id); HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen()); @@ -2629,8 +2616,19 @@ function adminImportSpielerDetailsForm(): void HTML_sportsmanager_admin::adminImportSpielerDetails($beschraenkter_zugriff, $ansprechpartner_importieren, $veranstalter, $veranstalter_import, $veranstalter_zugehoerigkeit, $session_id, implode(",", $spalten), $verein_import, $vereine, einstellungswert("spielerimport_persoenliche_daten_vorauswahl")); } +function adminDeleteSpielerImport($session_id){ + $db = getDatabase(); + $query = "DELETE FROM #__sportsmanager_spieler_import" + . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; + $db->setQuery($query); + if (!$db->execute()) { + die($db->stderr(true)); + } +} + function adminImportSpielerVorschau(): void { + $db = getDatabase(); global $_FILES; $jInput = Factory::getContainer()->get(SiteApplication::class)->input; @@ -2680,8 +2678,9 @@ function adminImportSpielerVorschau(): void //check Passnummer auf gueltiges Format $query = "SELECT nachname, vorname, spielernr, spielernr_alt" . "\n FROM #__sportsmanager_spieler_import" - . "\n WHERE (spielernr NOT REGEXP '^[0-9]{2}-[0-9]{4,6}$' AND spielernr <> '')" - . "\n OR (spielernr_alt NOT REGEXP '^[0-9]{2}-[0-9]{4,6}$' AND spielernr_alt <> '');"; + . "\n WHERE session_id = '" . $db->escape($session_id) . "'" + . "\n AND ((spielernr NOT REGEXP '^[0-9]{2}-[0-9]{4,6}$' AND spielernr <> '')" + . "\n OR (spielernr_alt NOT REGEXP '^[0-9]{2}-[0-9]{4,6}$' AND spielernr_alt <> ''));"; $db->setQuery($query); if (!$db->execute()) { @@ -2689,6 +2688,7 @@ function adminImportSpielerVorschau(): void } $spielerfehler = $db->loadObjectList(); if (count($spielerfehler) > 0) { + adminDeleteSpielerImport($session_id); HTML_sportsmanager_admin::adminImportSpielerFehler($spielerfehler, $fehler="Passnummer"); return; } @@ -2749,6 +2749,7 @@ function adminImportSpielerVorschau(): void $konflikte = $db->loadObjectList(); if (count($konflikte) > 0) { + adminDeleteSpielerImport($session_id); HTML_sportsmanager_admin::adminImportSpielerFehler($konflikte, $fehler="konflikt"); return; } @@ -2810,12 +2811,7 @@ function adminImportSpielerVorschau(): void } if ($import_verweigern) { - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($session_id); } HTML_sportsmanager_admin::adminImportSpielerVorschau($import_verweigern, $spieler_import, $veranstalter, $session_id, $jInput->get('persoenliche_daten', 0, 'INT'), $jInput->get('lizenznr_beibehalten', 0, 'INT'), $jInput->get('spalten', '', 'RAW')); } @@ -3352,12 +3348,7 @@ function adminImportSpieler(): void } } - $query = "DELETE FROM #__sportsmanager_spieler_import" - . "\n WHERE session_id = '" . $db->escape($session_id) . "'"; - $db->setQuery($query); - if (!$db->execute()) { - die($db->stderr(true)); - } + adminDeleteSpielerImport($session_id); sort($vereineManuell); sort($ausgetreteneVereineMitAktivenMitgliedern);