diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index d6fad97..9c46a5e 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -2350,7 +2350,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; } @@ -2606,7 +2606,7 @@ function adminImportSpielerVorschau(): void if ($import_verweigern) { 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')); + HTML_sportsmanager_admin::adminImportSpielerVorschau($import_verweigern, $spieler_import, $veranstalter, $session_id, $jInput->get('persoenliche_daten', 0, 'INT'), $jInput->get('spalten', '', 'RAW')); } function adminImportSpieler(): void @@ -2636,7 +2636,6 @@ function adminImportSpieler(): void $persoenliche_daten = $jInput->get('persoenliche_daten', 0, 'INT'); // 0: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr.", 1: "Vor- und Nachname, Geschlecht, Spielernr., Lizenznr., Geburtsdatum", "Alle" else $persoenliche_daten = 0; - $lizenznr_beibehalten = $jInput->get('lizenznr_beibehalten', 0, 'INT'); $session_id = $jInput->get('session_id', '', 'RAW'); $query = "SELECT DISTINCT veranstalterbezeichnung" @@ -2788,6 +2787,8 @@ function adminImportSpieler(): void } $aktualisierungen = 0; + $index_nicht_akt_unt = 0; + $nichtAktualisierteUnterschiede = array(); $spielerHinzugefuegt = array(); $vereineHinzugefuegt = 0; $vereineManuell = array(); @@ -2837,17 +2838,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"])) @@ -2870,7 +2874,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 @@ -3092,7 +3113,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/sportsmanager.php b/src/structure/components/com_sportsmanager/sportsmanager.php index 05de63e..367e16a 100644 --- a/src/structure/components/com_sportsmanager/sportsmanager.php +++ b/src/structure/components/com_sportsmanager/sportsmanager.php @@ -3103,7 +3103,9 @@ function spielerDetails(): void $spieler = $rows[0]; // Aktive Vereinsmitgliedschaften ermitteln - $query = "SELECT vereinsname" + $query = "SELECT vereinsname," + . "\n CASE #__sportsmanager_mitglied_von_verein.mitgliedsstatus" + . "\n WHEN 1 THEN 'Aktiv' WHEN 2 THEN 'Eingeschränkt' END AS status" . "\n FROM #__sportsmanager_mitglied_von_verein, #__sportsmanager_verein" . "\n LEFT JOIN #__sportsmanager_veranstalter USING (veranstalter_id)" . "\n WHERE #__sportsmanager_mitglied_von_verein.spieler_id = $id " diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php index 95f2e51..3366c06 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view.html.php @@ -4536,9 +4536,9 @@ if ($bild != null) { : - vereinsname) . "
"; + echo htmlentities_utf8($verein->vereinsname) . " (" . htmlentities_utf8($verein->status) . ")
"; ?> 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 5fa2833..07ddea5 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -2268,28 +2268,20 @@ class HTML_sportsmanager_admin
- - -
-
- - - - - - - - + +
- : - - -
  + + + + + + + - -
+ : + + +
  -
- -
@@ -2340,109 +2332,89 @@ class HTML_sportsmanager_admin
- - -
-
- - - - - - - - - - - - - - - - + +
- - - -
- - -
- - - + + + + + + + + + - - - - + + + + - -
+ + + +
+ + + -
  + } + ?> + +
  -
- -
@@ -2526,7 +2498,7 @@ class HTML_sportsmanager_admin - - + get('pageclass_sfx'); ?>">  + + + + +
+ + + + + + + + + + +
spieler); ?>feld); ?>db); ?>csv); ?>
+   + Bei schon vorhandener Lizenznummer wird die Lizenznummer und das Geburtsjahr nicht überschrieben!" COM_SPORTSMANAGER_CHECK="Prüfen" COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="Im Import sind Fehler oder Konflikte enthalten, die im Vorfeld manuell beseitigt werden müssen." COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Versuch, Spielernr. auf eine bereits für einen anderen Spieler vergebene Spielernr. zu ändern" @@ -1069,4 +1069,5 @@ COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="Bei Heimrechttausch gleichen Termin eintr COM_SPORTSMANAGER_NOT_VALID_TIME="Ungültige Uhrzeit" COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Willst Du diesen Spielverlegung wirklich entfernen?" COM_SPORTSMANAGER_REST_DAYS="Ruhetage" -COM_SPORTSMANAGER_TRAINING_DAYS="Trainingstage" \ No newline at end of file +COM_SPORTSMANAGER_TRAINING_DAYS="Trainingstage" +COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Nicht aktualisierte Daten" \ No newline at end of file diff --git a/src/structure/language/en-GB/en-GB.com_sportsmanager.ini b/src/structure/language/en-GB/en-GB.com_sportsmanager.ini index a37841b..ee0e151 100644 --- a/src/structure/language/en-GB/en-GB.com_sportsmanager.ini +++ b/src/structure/language/en-GB/en-GB.com_sportsmanager.ini @@ -415,7 +415,7 @@ COM_SPORTSMANAGER_EXPORT="Export" COM_SPORTSMANAGER_INTERNATIONAL_PLAYERS="Players (international)" COM_SPORTSMANAGER_COUNTRY_CODE="Country code" COM_SPORTSMANAGER_IMPORT="Import" -COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected." +COM_SPORTSMANAGER_IMPORT_MESSAGE="In the import there are only player information about club %s present. Shall only the members of that one club be updated, the associated club has to be selected down here. If the import contains all members of the organisation then the organisation must be selected.
If a license number already exists, the license number and the year of birth will not be overwritten." COM_SPORTSMANAGER_CHECK="Check" COM_SPORTSMANAGER_IMPORT_CONFLICTS_MESSAGE="There are faults or conflicts in the import which have to be fixed manually first." COM_SPORTSMANAGER_IMPORT_DUPLICATE_MESSAGE="Attempt to change player number into one that is already assigned to another player." @@ -1069,4 +1069,5 @@ COM_SPORTSMANAGER_MATCH_SWAPPING_HELP="If home advantage is swapped, enter the s COM_SPORTSMANAGER_NOT_VALID_TIME="Not valid time" COM_SPORTSMANAGER_REALLY_MATCH_RESCHEDULING="Do you really want to remove this match rescheduling?" COM_SPORTSMANAGER_REST_DAYS="Rest days" -COM_SPORTSMANAGER_TRAINING_DAYS="Training days" \ No newline at end of file +COM_SPORTSMANAGER_TRAINING_DAYS="Training days" +COM_SPORTSMANAGER_NOT_ACTUALIZED_DATA="Data not updated" \ No newline at end of file