PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehlermeldungen bei Crons



EarlofMidnight
21.10.2007, 00:16
Hallo zusammen!

Versuche zur Zeit ein paar Interfaces und die entsprechenden Crons an das VMS1.2 anzupassen, bekomme bei manchen (Zements Automailer) folgenden Fehler im Cron:

Warning: vsprintf(): Too few arguments in /var/www/vhosts/charmante-lose.de/httpdocs/lib/functions.lib.php on line 41


Die entsprechende Zeile der function.lib.php:



$sql_tag = vsprintf($sql_tag,$vargs);


Kann mir da jemand helfen?

Gruß

EarlofMidnight


P.S. Der Fehler tritt nur bei manchen Kampagnen des jeweiligen Crons auf, diese werden dann nicht gebucht die restlichen schon.

DimpleX
21.10.2007, 11:30
2 parameter werden erwartet , wieviel übergibst Du?

DimpleX

EarlofMidnight
21.10.2007, 12:34
An zuvielen Paramatern kann es eigendlich ja nicht liegen da ein Teil der Mails/Banner von dem jeweiligen Crons ja eingelesen wird. Oder lieg ich da jetzt falsch?

dragon11
21.10.2007, 19:55
@earl, diesen Fehler habe ich auch im normalen VMS, allerdings ist er bei mir nur bei lose4allweb aufgefallen.
wenn jemand Hilfe weiß? hier die komplette Funktion:


function db_query($sql_tag){
global $count_query;
$count_query++;
$vargs = array();
$fargs = func_get_args();
foreach($fargs as $key => $arg){
// $vargs[$key] = mysql_real_escape_string($arg);
$vargs[$key] = mysql_escape_string($arg);

}
array_shift($vargs);
$sql_tag = vsprintf($sql_tag,$vargs);
if($ret = mysql_query($sql_tag)){
return $ret;
}else{
return 0;
}
}

Gremlin
21.10.2007, 20:47
Vermutlich wird es so funktionieren:
Mailtext, Mailtitel nach % durchsuchen und entweder durch %% ersetzen oder entfernen ;)

EarlofMidnight
21.10.2007, 21:53
8o Nur wegen dem % geht das nicht???

Gremlin
21.10.2007, 22:09
8o Nur wegen dem % geht das nicht???

Jap scheint so denn ein % bei vsprintf ist ein ein ' innerhalb von echo ' '; muss maskiert werden und da es bei vsprintf nicht mit \ geht nimmt man dort % also % => %%

Gruß
Gremlin

EarlofMidnight
21.10.2007, 22:11
Kannst mir dabei ein wenig unter die Arme greifen?
Steh da grad auf´m Schlauch wie ich das Umsetzen soll

Gremlin
21.10.2007, 22:55
Ja gibt jetzt zwei Möglichkeiten im Cron:


$foo = str_replace("%", "%%", $foo);
oder

$foo = str_replace("%", "", $foo);

Das erste macht % => %% dadurch bleibt das Prozentzeichen erhalten und wird angezeigt oder du entfernst es einfach, Alternativ könntest du es auch ausschreiben:


$foo = str_replace("%", "Prozent", $foo);

$foo jeweils durch die Variable ersetzen also z.B. $mail_titel $mail_text oder wie sie heist ^^

Gruß
Gremlin

smileylose
14.11.2007, 16:57
na gut dann versuche ich auch mal zu coden...
welche datei bzw. cron genau ist hier gemeint ich habe zb. eine webmasterlose.int.php - webmasterlose_pm.int.php - webmasterlose.mail.php im crons ordner liegen unter suchen finde ich wie angegeben $foo zum ändern nicht?

wildbiker
06.03.2008, 13:52
Hi,

so nun bin ich wenigstens so weit, dass die Mails eingebucht werden. Wenn ich sie dann aber versenden möchte, dann gehen sie nicht raus. Alos ne Fehlermeldung kommt zwar nicht, aber es kommen auch keine Mails an weder in der Mailhistory noch im E-Mail Account.

Muss ich da jetzt in der paidmail_versenden.php auch alle db_query durch mysql_query ersetzen? oder in noch mehr Dateien?

Bei den Mailcrons hab ich dies gemacht und die Kampagnen werden zumindest eingelesen.

Viele Grüße wildbiker - Webbiene von Losebiest.de

flavar
06.03.2008, 15:53
hmm ich mach das so das ich die selber per mausklick versende ;)
bisschen zeitraubend aber es geht auch

Muecke
06.03.2008, 16:02
hmm um welchen Sponsor geht es denn ???

kannst dich auch gerne per ICQ ma bei mir melden denn gehen wir ma in Ruhe alles durch :)

@flavar das is mehr als Zeitraubend deswegen verschicken meine MailCrons nach dem einlesen auch sofort die Mails :P


LG Muecke : >

flavar
06.03.2008, 22:31
oha daran wäre ich auch sehr interessiert..... :)

wildbiker
09.03.2008, 12:08
Hi,

ich hatte es in der Zwischenzeit einfach mal ausprobiert in der mail_versenden.php auch alle db_query durch mysql_query zu ersetzen und es hat funltioniert nund liest es alle Mails ein und es verschickt auch alle.

Ich Danke Euch für Eure Hilfe und hoffe, dass die anderen es auch noch schaffen.

Viele Grüße wildbiker - Webbiene von Losebiest.de

Frejia
17.03.2008, 20:05
Ja gibt jetzt zwei Möglichkeiten im Cron:


$foo = str_replace("%", "%%", $foo);...

Diese Änderung ist in den bei mir verwendeten Interfaces, bzw den crons schon eingebaut und trotzdem werden Paidmails mit % Zeichen zwar eingelesen und auch versendet, tauchen dann im Adminforce aber nicht auf und werden mit 0 Losen vergütet.

didith1207
17.03.2008, 20:50
Diese Änderung ist in den bei mir verwendeten Interfaces, bzw den crons schon eingebaut und trotzdem werden Paidmails mit % Zeichen zwar eingelesen und auch versendet, tauchen dann im Adminforce aber nicht auf und werden mit 0 Losen vergütet.

hier mal gucken ;)
http://www.designerscripte.net/showthread.php?t=4510

Frejia
17.03.2008, 21:00
Einen extra Mailer habe ich ja nicht installiert. Ich verschicke die Mails per Mausklick aus dem Adminforce. Deshalb nutzt es mir auch überhaupt nichts zu wissen wie man das im stg Mailer ändert^^
Wie gesagt, die Crons sind ja schon dahingehend angepasst.


$mailtext = str_replace('%', '%%', $mailtext);

didith1207
17.03.2008, 23:10
Einen extra Mailer habe ich ja nicht installiert. Ich verschicke die Mails per Mausklick aus dem Adminforce. Deshalb nutzt es mir auch überhaupt nichts zu wissen wie man das im stg Mailer ändert^^
Wie gesagt, die Crons sind ja schon dahingehend angepasst.


$mailtext = str_replace('%', '%%', $mailtext);

das funktioniert aber so nicht im VMS 1.2!!

du müßtest zb.: die crons umschreiben
aus :

$mailtext = str_replace('%', '%%', $mailtext);müßtest du :

$mailtext = str_replace('%', 'Prozent', $mailtext);machen dann klappts schonmal bei denen wo das % schuld war und die 0er mails kommen nur noch ganz wenig vor( es gibt noch paar andere zeichen die das vms 1.2 auch nicht mag :( )

Frejia
18.03.2008, 13:59
Die Zeile ist in den Crons eingebaut, aber in den Mailtexten taucht immer noch das % - Zeichen auf. Dementsprechend ist das Problem immer noch das gleiche. 0 Vergütung und nix im Adminforce.


$mailtext = str_replace('%', 'Prozent', $mailtext);

Hier ein Beispiel aus den Interfacepaidmails:


Die Ref-Ebenen: 2% / 1% / 0,5%.(mit Referhaltung)

Nach dem Versenden ist dann natürlich nichts in der Paidmailhist.

didith1207
18.03.2008, 18:04
jo ich kenne das problem und deshalb hatte ich ja auch den eigenen thread dafür gemacht den link hab ich ja oben schon gepostet