Page 1 of 1

Fehler in plugin_adduser

Posted: Tue Dec 16, 2014 9:45 pm
by Sonja
Ich habe die Meldung erhalten:

Fatal error: Cannot pass parameter 2 by reference in [...]common.inc.php on line 69.

Die line 69 lautet:

Code: Select all

serendipity_common_adduser::sendMail($author['username'], (function_exists('serendipity_specialchars') ? serendipity_specialchars($string) : htmlspecialchars($string, ENT_COMPAT, LANG_CHARSET)), $author['email'], false, false); 
Tatsächlich wird der Parameter 2 (versehentlich?) nicht als Referenz, sondern als Wert übergeben.

Probeweise habe ich folgendes geändert:

Code: Select all

line 62: $string = (function_exists('serendipity_specialchars') ? serendipity_specialchars($serendipity['GET']['adduser_activation']) : htmlspecialchars($serendipity['GET']['adduser_activation'], ENT_COMPAT, LANG_CHARSET));

line 69: serendipity_common_adduser::sendMail($author['username'], $string, $author['email'], false, false); 
Kann das so bleiben? -- andere Vorschläge?

Sonja

Re: Fehler in plugin_adduser

Posted: Wed Dec 17, 2014 10:47 am
by Timbalu
Wenn man nicht generell etwas ändert, würde ich sagen, es wäre vielleicht noch besser die Zeile 62

Code: Select all

$string = $serendipity['GET']['adduser_activation'];
so zu lassen wie sie ist, da die Variable für das SELECT mit serendipity_db_escape_string($string) benötigt wird, und lieber direkt in Zeile 68 ein

Code: Select all

$s = (function_exists('serendipity_specialchars') ? serendipity_specialchars($string) : htmlspecialchars($string, ENT_COMPAT, LANG_CHARSET));
einzubauen das dann in Zeile 69 so benutzt wird.

Code: Select all

serendipity_common_adduser::sendMail($author['username'], $s, $author['email'], false, false);
Kannst du das mal ausprobieren?