mir ist heute aufgefallen, dass bei einigen Userprofilen die Eigenschaft für Geschlecht nicht mit einem Bildchen dargestellt, sondern eine 0 ausgegeben wird. Bei genauerer Untersuchung konnte ich folgendes feststellen:
- bei der Registrierung gibt es aktuell die Möglichkeit, das Geschlecht anzugeben oder nicht zu wählen (Defaultwert).
- In der Datenbank wird in der Tabelle adm_usr_data nur dann ein Eintrag für das Geschlecht gemacht, wenn dieses angegeben wurde (usd_usf_id=17 und usd_value=1 für männlich / usd_value = 2 für weiblich) (Geschlecht = Userfieldid 17)
- in meiner Datenbank gibt es jedoch Einträge, die usd_usf_id=17 und usd_value=0 haben
- der letzte Eintrag der einen solchen Wert hat, war im Frühjahr 2008
- bis dahin wurde für jeden User ein Datensatz mit usd_value=0 per default angelegt, wenn dieser kein Geschlecht gewählt hat
Da ich seit Admidio 1.x dabei bin, habe ich nun folgede Vermutung: Mit Einführung von Admidio 2.x hat sich das Verhalten um die Profileigenschaft Geschlecht wie beschrieben geändert. Datenbanken, die mit Admidio 1.x begonnen haben, enthalten noch Datensätze mit dem Wert 0 und dieser wird aktuell auch im Profil ausgegeben.
Mit folgendem SQL-Befehl habe ich diese Altlasten aus dem System entfernt
Code: Alles auswählen
Delete from `adm_user_data` where usd_usf_id=17 and usd_value = 0;
Code: Alles auswählen
Delete from `adm_user_data` where usd_usf_id= (Select usf_id from adm_user_fields where usf_name_intern = "GENDER") and usd_value = 0;
Viele Grüße,
Offe