diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index 59e6d65..d2740e8 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -2319,7 +2319,7 @@ function adminImportSpielerDetailsForm(): void adminDeleteSpielerImport($session_id); - HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen()); + HTML_sportsmanager_admin::adminImportSpielerBericht($lizenzen_aktualisiert, array(), array(), 0, array(), array(), array(), false, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen()); return; } @@ -2757,6 +2757,8 @@ function adminImportSpieler(): void } $aktualisierungen = 0; + $index_nicht_akt_unt = 0; + $nicht_aktualisierter_unterschiede = array(); $spielerHinzugefuegt = array(); $vereineHinzugefuegt = 0; $vereineManuell = array(); @@ -2806,17 +2808,20 @@ function adminImportSpieler(): void // Spieler aktualisieren bzw. ergänzen if ($spieler_id != null) { // Spieler aktualisieren + + $query = "SELECT * FROM #__sportsmanager_spieler WHERE spieler_id = $spieler_id"; + $spieler_buffer = loadObjectList($db, $query); + $query = "UPDATE #__sportsmanager_spieler" . "\n SET vorname = '" . $db->escape($vorname) . "'," . "\n nachname = '" . $db->escape($nachname) . "'"; - //. "\n spielernr = '" . $db->escape($spielernr) . "'"; - if (isset($spalten["lizenznr"]) && ($lizenznr_beibehalten == 0 || !empty($lizenznr))) + if (isset($spalten["lizenznr"]) && !empty($lizenznr) && empty($spieler_buffer[0]->lizenznr)) $query .= ",\n lizenznr = '" . $db->escape($lizenznr) . "'"; if (isset($spalten["pseudonym"])) $query .= ",\n pseudonym = '" . $db->escape($pseudonym) . "'"; if (isset($spalten["geschlecht"])) $query .= ",\n geschlecht = '" . $db->escape($geschlecht) . "'"; - if ((isset($spalten["geburtsdatum"]) || isset($spalten["geburtsjahr"])) && $geburtsjahr != null) + if ((isset($spalten["geburtsdatum"]) || isset($spalten["geburtsjahr"])) && empty($spieler_buffer[0]->lizenznr) && $geburtsjahr != null) $query .= ",\n geburtsjahr = " . ("'" . $db->escape($geburtsjahr) . "'"); if ($persoenliche_daten == 2) { if (isset($spalten["strasse"])) @@ -2839,7 +2844,24 @@ function adminImportSpieler(): void if (!$db->execute()) { die($db->stderr(true)); } - + if (!empty($spieler_buffer[0]->lizenznr)){ + if (isset($spalten["lizenznr"]) && !empty($lizenznr) && $lizenznr != $spieler_buffer[0]->lizenznr){ + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt] = new stdClass(); + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->spieler = $spieler_buffer[0]->nachname . " " . $spieler_buffer[0]->vorname; + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->feld = "Linzenznr"; + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->db = $spieler_buffer[0]->lizenznr; + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->csv = $lizenznr; + $index_nicht_akt_unt++; + } + if (isset($spalten["geburtsjahr"]) && !empty($geburtsjahr) && $geburtsjahr != $spieler_buffer[0]->geburtsjahr){ + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt] = new stdClass(); + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->spieler = $spieler_buffer[0]->nachname . " " . $spieler_buffer[0]->vorname; + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->feld = "Geburtsjahr"; + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->db = $spieler_buffer[0]->geburtsjahr; + $nichtAktualisierteUnterschiede[$index_nicht_akt_unt]->csv = $geburtsjahr; + $index_nicht_akt_unt++; + } + } $aktualisierungen++; } else { // Spieler ergänzen // Neuen Spieler anlegen @@ -3061,7 +3083,7 @@ function adminImportSpieler(): void einstufungAktualisieren(); } - HTML_sportsmanager_admin::adminImportSpielerBericht($aktualisierungen, $spielerHinzugefuegt, $vereineHinzugefuegt, $spieler_import, $vereineManuell, $ausgetreteneVereineMitAktivenMitgliedern, $kategorie_potentiell_geaendert, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen()); + HTML_sportsmanager_admin::adminImportSpielerBericht($aktualisierungen, $spielerHinzugefuegt, $nichtAktualisierteUnterschiede, $vereineHinzugefuegt, $spieler_import, $vereineManuell, $ausgetreteneVereineMitAktivenMitgliedern, $kategorie_potentiell_geaendert, redirectSessionIdEmpty() ? null : redirectSessionIdSetzen()); } function adminExportSpielerInternationalForm(): void diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php index 3fd42d5..18c270a 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -2657,7 +2657,7 @@ class HTML_sportsmanager_admin get('pageclass_sfx'); ?>">  + + + + +
+ + + + + + + + + + +
spieler); ?>feld); ?>db); ?>csv); ?>
+   +