Seite 1 von 1
Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4.11
Verfasst: Di 15. Okt 2013, 16:20
von Freddy
Hallo Zusammen,
nachdem mein Server auf PHP 5.4.11 umgestellt wurde kommt bei mir bei der Anmeldung zum Newsletter folgende Fehlermeldung. Diese kommt auch nur bei der Anmeldung. Beim Bestätigen der Email nicht mehr. Kann jemand den Fehler zuordnen?
Benutze Contenido 4.8.18 und das Newsletter Form Module V4.0.1 (den Pfad habe ich durch ... ersetzt.)
Deprecated: Function ereg_replace() is deprecated in /.../cms/front_content.php(931) : eval()'d code on line 251 Deprecated: Function ereg_replace() is deprecated in /.../cms/front_content.php(931) : eval()'d code on line 252 Sehr geehrter Abonnent,
Ihre E-Mail-Adresse wurde eingetragen. Sie erhalten nun eine E-Mail, in der Sie zur Bestätigung Ihrer E-Mail-Adresse aufgefordert werden.
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Di 15. Okt 2013, 21:14
von xmurrix
Hallo Freddy,
schau mal in der Modulausgabe von "Newsletter Form Module V4.0.1" nach, wo genau die Funktion ereg_replace() verwendet wird und ersetze diese gegen preg_replace().
In beiden Fällen sind die Parameter gleich. ereg_replace() erwartet das Muster ohne Begrenzer, preg_replace() aber schon.
Beispiel:
Code: Alles auswählen
ereg_replace('das_muster', $a, $b);
preg_replace('/das_muster/', $a, $b);
Gruß
xmurrix
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Mi 16. Okt 2013, 07:38
von Freddy
Ich finde kein ereg_replace in der Modulausgabe.
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Mi 16. Okt 2013, 07:55
von xmurrix
Es muss in einem der Module sein. Aktiviere die Ausgabe des Codes in der Datei "contenido/includes/config.misc.php"
Dann wirst du im Frontend eine Textarea sehen, in der der Code der Seite ausgegeben ist. In diesem Code die Zeile 252 prüfen.
Gruß
xmurrix
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Mi 16. Okt 2013, 08:49
von Freddy
Vielen Dank xmurrix,
habe es jetzt gefunden. War im Modul Newsletter Handler. Habe jetzt dort die Stelle wie folgt geändert und es kommt keine Fehlermeldung mehr:
Code: Alles auswählen
$sEMail = preg_replace('/\n/', '//', stripslashes($_POST['email']));
$sEMail = preg_replace('/\r/', '//', $sEMail);
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Mo 30. Dez 2013, 09:12
von Freddy
Hallo Zusammen,
hab noch ein altes Modul Mailkontakt von agon wo eregi benutzt wird. Ich bin leider kein PHP Profi habe nur rausgefunden das eregi-Aufrufe ersetzt werden müssen. Kann mir jemand sagen wie ich folgende Zeilen ändere damit es mit PHP 5.4.11 lauffähig wird.
Code: Alles auswählen
if (eregi("^[a-zäöüÄÖÜß0-9&_ -]$",$from_name[$i])) $from_name_new .= $from_name[$i];
Code: Alles auswählen
$valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$from_mail));
Vielen Dank
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Mo 30. Dez 2013, 13:37
von xmurrix
Hallo Freddy,
du kannst die eregi-Aufrufe folgendermaßen ersetzen:
Code: Alles auswählen
# zeile
# if (!(eregi("([0-9]{1,11})",$mailkontaktid))) {
# gegen
if (!(preg_match("/^([0-9]{1,11})$/", $mailkontaktid))) {
# zeile
# if (eregi("^[a-zäöüÄÖÜß0-9&_ -]$",$from_name[$i])) $from_name_new .= $from_name[$i];
# gegen
if (preg_match("/^[a-zäöüß0-9&_\s\-]*$/i", $from_name[$i])) $from_name_new .= $from_name[$i];
# zeile
# $valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$from_mail));
# gegen
$valid = (bool) filter_var($from_mail, FILTER_VALIDATE_EMAIL);
Gruß
xmurrix
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Mo 30. Dez 2013, 15:34
von Freddy
Vielen Dank xmurrix für deine Hilfe. Jetzt funktioniert das Modul wieder perfekt. Danke.
Habe in diesem Zusammenhang noch ein Problem mit dem Article List Advanced V2.6.0. Da bekomme ich die Fehlermeldung:
Warning: getimagesize(/.../2013-12-29_bild_101.JPG): failed to open stream: No such file or directory in /.../cms/front_content.php(934) : eval()'d code on line 2522
Und in Contenido-Fehlerlogs: [30-Dec-2013 14:20:13 Europe/Berlin] PHP Warning: getimagesize(/.../2013-12-29_bild_101.JPG): failed to open stream: Datei oder Verzeichnis nicht gefunden in /.../contenido/includes/include.con_editcontent.php(634) : eval()'d code on line 2662
Hat ja höchstwahrscheinlich damit zu tun das er die Datei nicht findet. Der Fehler tritt aber erst nach dem PHP Upgrade auf 5.4.11 auf. Hier der Code im Modul was mit getimagesize zu tun hat. Kannst Du dafür vielleicht auch eine Lösung? Vielen Dank für deine Mühe.
Code: Alles auswählen
list (
$width,
$height,
$type,
$attr
) = getimagesize($aData[$i]["i".$k]["ServerPath"]);
$aData[$i]["i".$k]["Width"] = $width;
$aData[$i]["i".$k]["Height"] = $height;
}
Code: Alles auswählen
list (
$width,
$height,
$type,
$attr
) = getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image));
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: Mo 30. Dez 2013, 15:52
von xmurrix
Um hier helfen zu können, müste man wissen, was in der Variable
steht. Das weiß ich nicht auswendig. Auf jeden fall musst du darauf achten, dass du der Funktion getimagesize() den vollen Pfad zum Bild übergibst, nicht eine URL. Meist sind in PHP Dateizugriffe über URL nicht erwünscht, Provider deaktivieren das...
Der Code in
Code: Alles auswählen
getimagesize(str_replace($cfgClient[$client]["path"]["htmlpath"], $cfgClient[$client]["path"]["frontend"], $image)
sorgt z. B. dafür, dass die URL zum Bild
in
Code: Alles auswählen
# http://domain/cms/ gegen /var/www/cms/ ersetzen
/var/www/cms/upload/bildname.jpg
umgewandelt wird.
Code: Alles auswählen
$cfgClient[$client]["path"]["htmlpath"] = Ist der HTML-Pfad des Mandanten, z. B. http://domain/cms/
$cfgClient[$client]["path"]["frontend"] = Ist der Server-Pfad zum Mandantenverzeichnis, z. B. /var/www/cms/
Schau einfach im Modulcode überall dort getimagesize() aufgerufen wird nach, was da jeweils für ein Wert als erster Parameter übergeben wird.
Gruß
xmurrix
Re: Newsletteranmeldung- Problem nach Umstellung auf PHP 5.4
Verfasst: So 16. Mär 2014, 12:06
von stefkey
BESTEN DANK! Hat auch mir geholfen die Infos!