Also wie wir schon festgestellt hatten führt die obengenannte Code-Änderung zu einer vollkommenen Änderung der Einstellungen. D.h. User die bisher 'Zeige meine Emailadresse immer an' auf "ja" stehen hatten haben beim ersten Aufruf auch noch "ja" dort stehen, ABER wenn sie jetzt nichts verändern und auf "absenden" klicken, dann wird nicht ein "ja" (1 oder TRUE) an den SQL gesandt, sondern ein "nein" (0 oder FALSE). Dies führt dazu, daß Sie bei einem nächsten Aufruf die Anzeige "nein" bekommen, irritiert sind und es wieder auf "ja" setzten. Dieses "ja" hat allerdings die Konsequenz, daß ein "nein" (0) an die Datenbank gesendet wird. Wollten Sie also ein "ja" in die Datenbank senden, dann müßten sie die Einstellungen so belassen wie sie sind.
Das Ganze will heißen, durch die Codeänderung wird die Logik umgekehrt. Das Ja (mit dem Wert TRUE oder 1) wird zu einen Ja (mit dem Wert FALSE oder 0) ein Teufelskreis ensteht. Sicherlich nicht im Sinne des Erfinders (@chaze, sorry!).
Also hier nun mein Codevorschlag:
Gilt für 2.0.6 ohne mods. Änderungen sind immer auf eigene Gefahr, ich kann nicht haftbar gemacht werden.
Man finde:
Code: Alles auswählen
includes/usercp_register.php (line 125)
$viewemail = ( isset($HTTP_POST_VARS['viewemail']) ) ? ( ($HTTP_POST_VARS['viewemail']) ? TRUE : 0 ) : 0;
Code: Alles auswählen
includes/usercp_register.php (line 125)
$viewemail = ( isset($HTTP_POST_VARS['viewemail']) ) ? ( ($HTTP_POST_VARS['viewemail']) ? TRUE : 0 ) : TRUE;
(*) wirkt wie in HTML:
input type="radio" value="1" checked name="ja"><input type="radio" name="no" value="0"
Laßt mich mal wissen ob es in Eurem/meinem Sinne funktioniert.
Beste Grüße,
Thorsten