Hi,
ich denke es geht hier um die Interfaces von mir. Im Prinzip hatte ich mir schon was dabei gedacht, als ich das so gemacht habe, das die %-Zeichen korrekt eingelesen werden. Denn es kann ja eigentlich nicht angehen, das man den Mailtext verändern muß, nur um die Kampagnen einzulesen.
Viele Mails bewerben auch Paidmailer, wo dann die ganzen Refebenen aufgelistet sind und das sieht dann schon etwas komisch aus, wenn da überall Prozent ausgeschrieben steht.
Jedenfalls verstehe ich nicht, warum ihr lieber sämtliche Mailcrons ändert, als eine oder 2 Zeilen in den Mailercron einzubauen?
Jedenfalls liegt es nicht an den Interfaces, das dieser vsprintf-Fehler auftritt, sondern an den Addons, die die eingelesenen Kampagnen weiterverarbeiten und wo einfach nicht darauf geachtet wurde.
Ich nehme mal als Beispiel den STG-Mailer und hoffe mal, das geht ok, wenn ich die 4 Zeilen poste.
Die Datei stg_spps_mailer.php öffnen.
Suche diese Zeilen :
Code:
$kidda = mysql_query("SELECT `tan` FROM `".$db_prefix."_paidmails_versendet` WHERE `tan`='".$adpm['tan']."' LIMIT 1");
$kidgefunden = mysql_num_rows($kidda);
darunter einfügen :
Code:
$adpm['mailtext'] = str_replace("%","%%",$adpm['mailtext']);
Suche diese Zeilen :
Code:
$kidda = mysql_query("SELECT `tan` FROM `".$db_prefix."_paidmails_versendet` WHERE `tan`='".$uspm['tan']."' LIMIT 1");
$kidgefunden = mysql_num_rows($kidda);
darunter einfügen :
Code:
$uspm['mailtext'] = str_replace("%","%%",$uspm['mailtext']);
Schon erledigt. Jetz kann der Mailer die Mails ganz normal mit %-Zeichen versenden, ohne das es zu Fehlermeldungen kommt. So funktioniert es auch überall anders, wo diese Fehlermeldung auftritt. Wenn das z.B. irgendwo im PN-System vorkommt, einfach die Stelle suchen und eine ähnliche Zeile einfügen.
Wenn man z.B. so etwas sieht (zumindest etwas ähnliches sollte eigentlich drin sein) :
Code:
$_POST['pntext'] = addslashes($_POST['pntext']);
dann einfach wieder darunter diese zeile :
Code:
$_POST['pntext'] = str_replace("%","%%",$_POST['pntext']);
Gruß
Marco