PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interfaces für vms 1.2 fehlermeldung



halk
27.10.2007, 18:34
Hallo


ich habe mir erlaubt ein paar Interfaces zu bearbeiten zwecks einbuchung von banner;text/traffic und mails. nur leider kommt ,bzw. habe ich immer die selbe Fehlermeldung...

Warning: vsprintf(): Too few arguments in /var/www/web88/html/lib/functions.lib.php on line 41
Cron gelaufen

Es sind auch alle Kampagne vorhanden ,so wie es sein soll...

wie oben im cron mann sehen kann verweisst er immer darauf
zeile 41 functinos.lib
$sql_tag = vsprintf($sql_tag,$vargs);

wer kann mir bei dieser Fehlermeldung kurz zur Hand gehen.

Mfg halk


<?
$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'lose4webmaster'"));
$file1 = "";
if ($interfacedaten['mindestverguetung'] > 0.00) {
// lose4webmaster Forcedbanner nullen
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='lose4webmaster' and werbeart='forcedbanner' and status='1'");
// Forcedbanner einlesen
$fb=@fopen("http://www.lose4webmaster.de/interface/output_forcedbanner.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&uebrig=".$interfacedaten['restklicks']."&reload=24&verguetung=".$interfacedaten['mindestverguetung ']."","r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
$code = explode("|", $file1);
$tl_count = (count($code)/5)-1;
$bid_lesen = 0;
// Forcedbannercodes splitten
// bid|name|reload|übrig|verguetung|
for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) {
$int_tan = '';
$int_ziel = "http://www.lose4webmaster.de/lose/forcedclickbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite']."";
$int_banner = "http://www.lose4webmaster.de/lose/forcedviewbanner.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite']."";
$int_menge = round($code[$bid_lesen+3]);
$int_kid = $code[$bid_lesen];
$int_reload = $code[$bid_lesen+2]*3600;
$int_verdienst = ($code[$bid_lesen+4]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+4]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']);
$int_preis = $code[$bid_lesen+4]*$interfacedaten['umrechnung'];
$ext_verguetung = $code[$bid_lesen+4];
$int_tan = create_code(32);
$bid_lesen=$bid_lesen+5;
// Forcedbanner updaten oder eintragen
$int_menge = round($int_menge/100*$interfacedaten['restklicks']);
if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1) {
$forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'lose4webmaster' and kid = '".$int_kid."'");
if (!mysql_num_rows($forcedbanner_check)) {
db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,me nge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$interfacedaten['aufendhalt']."','".$int_menge."','".$int_reload."','lose4webmaster','forcedbanner')");
} else {
db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['aufendhalt']."' WHERE sponsor = 'lose4webmaster' and kid = '".$int_kid."' and status = '0'");
}
}
}
}
$file1 = "";
if ($interfacedaten['traffikmindestverguetung'] > 0.00) {
// lose4webmaster Forcedtextlink nullen
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='lose4webmaster' and werbeart='paidlinks' and status='1'");
// Forcedtextlink einlesen
$fb=@fopen("http://www.lose4webmaster.de/interface/output_forcedtextlink.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&verguetung=".$interfacedaten['traffikmindestverguetung']."&uebrig=".$interfacedaten['traffikrestklicks']."&reload=24","r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
$code = explode("|", $file1);
$tl_count = (count($code)/5)-1;
$bid_lesen = 0;
// Forcedtextlinkcodes splitten
// bid|name|reload|übrig|verguetung|textlinktext
for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) {
$int_tan = '';
$int_ziel = " http://www.lose4webmaster.de/lose/forcedclicktextlink.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite']."";
$int_menge = round($code[$bid_lesen+3]);
$int_kid = $code[$bid_lesen]+1000;
$int_reload = $code[$bid_lesen+2]*3600;
$int_verdienst = ($code[$bid_lesen+4]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+4]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']);
$int_preis = $code[$bid_lesen+4]*$interfacedaten['umrechnung'];
$int_name = $code[$bid_lesen+5];
$ext_verguetung = $code[$bid_lesen+4];
$int_tan = create_code(14);
$bid_lesen=$bid_lesen+6;
// Forcedbanner updaten oder eintragen
$int_menge = round($int_menge/100*$interfacedaten['traffikrestklicks']);
if ($ext_verguetung >= $interfacedaten['traffikmindestverguetung'] and $int_menge > 1) {
$forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'lose4webmaster' and kid = '".$int_kid."'");
if (!mysql_num_rows($forcedbanner_check)) {
db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,me nge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_name."','".$int_preis."','".$int_verdienst."','".$interfacedaten['traffikaufendhalt']."','".$int_menge."','".$int_reload."','lose4webmaster','paidlinks')");
} else {
db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['traffikaufendhalt']."' WHERE sponsor = 'lose4webmaster' and kid = '".$int_kid."' and status = '0'");
}
}
}
}
$file1 = "";
if ($interfacedaten['traffikmindestverguetung'] > 0.00) {
// lose4webmaster Traffic nullen
//db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='lose4webmaster' and werbeart='paidlinks' and status='1'");
// Traffic einlesen
$fb=@fopen("http://lose4webmaster.de/interface/output_traffic.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&verguetung=".$interfacedaten['traffikmindestverguetung']."&uebrig=".$interfacedaten['traffikrestklicks']."&reload=24","r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
$code = explode("|", $file1);
$tl_count = (count($code)/5)-1;
$bid_lesen = 0;
// Trafficlinkcodes splitten
// bid|name|reload|übrig|verguetung
for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) {
$int_tan = '';
$int_ziel = " http://www.lose4webmaster.de/lose/traffic.php?id=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&aid=".$interfacedaten['seite']."";
$int_menge = round($code[$bid_lesen+3]);
$int_kid = $code[$bid_lesen];
$int_reload = $code[$bid_lesen+2]*3600;
$int_verdienst = ($code[$bid_lesen+4]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+4]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']);
$int_preis = $code[$bid_lesen+4]*$interfacedaten['umrechnung'];
$int_name = $code[$bid_lesen+1];
$ext_verguetung = $code[$bid_lesen+4];
$int_tan = create_code(14);
$bid_lesen=$bid_lesen+5;
// Forcedbanner updaten oder eintragen
$int_menge = round($int_menge/100*$interfacedaten['traffikrestklicks']);
if ($ext_verguetung >= $interfacedaten['traffikmindestverguetung'] and $int_menge > 1) {
$forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'lose4webmaster' and kid = '".$int_kid."'");
if (!mysql_num_rows($forcedbanner_check)) {
db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,me nge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_name."','".$int_preis."','".$int_verdienst."','".$interfacedaten['traffikaufendhalt']."','".$int_menge."','".$int_reload."','lose4webmaster','paidlinks')");
} else {
db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$interfacedaten['traffikaufendhalt']."' WHERE sponsor = 'lose4webmaster' and kid = '".$int_kid."' and status = '0'");
}
}
}
}
$file1 = "";
if ($interfacedaten['pmindestverguetung'] > 0.00) {
// lose4webmaster Paidmails nullen
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='lose4webmaster' and werbeart='paidmail' and status='1'");
// Paidmails einlesen
$fb=@fopen("http://www.lose4webmaster.de/interface/output_paidmails.php?id=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&verguetung=".$interfacedaten['pmindestverguetung']."&uebrig=".$interfacedaten['puebrig']."&ma=".$interfacedaten['pmaxiaufenthalt']."","r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
$code = explode("|", $file1);
$tl_count = (count($code)/6)-1;
$bid_lesen = 0;
// Paidmailcodes splitten
$code = explode("|", $file1);
$zahl = floor( count($code)/7 );
for ($u=1;$u <= $zahl;$u++) {
$kampagne[$u]['id'] = $code[(($u-1)*7)];
$kampagne[$u]['name'] = $code[(($u-1)*7)+1];
$kampagne[$u]['text'] = $code[(($u-1)*7)+6];
$kampagne[$u]['bid'] = $code[(($u-1)*7)];
$kampagne[$u]['verguetung'] = $code[(($u-1)*7)+3];
$kampagne[$u]['uebrig'] = $code[(($u-1)*7)+2];
$kampagne[$u]['mindestaufenthalt'] = $code[(($u-1)*7)+4];
$aktuell[] = $kampagne[$u]['id'];
$url = "http://www.lose4webmaster.de/lose/paidmail.php?id=".$interfacedaten['betreiber']."&bid=".$kampagne[$u]['bid']."&aid=".$interfacedaten['seite']."";
$zeit = $kampagne[$u]['mindestaufenthalt'];
$uebrig = $kampagne[$u]['uebrig'];
$int_tan = '';
$int_ziel = $url;
$int_menge = round($kampagne[$u]['uebrig']);
$int_kid = $kampagne[$u]['bid'];
$int_name = $kampagne[$u]['name'];
$int_text = $kampagne[$u]['text'];
$int_verdienst = ($code[$bid_lesen+4]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+4]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']);
$int_preis = $kampagne[$u]['verguetung']*$interfacedaten['umrechnung'];
$ext_verguetung = $kampagne[$u]['verguetung'];
$int_aufenthalt = $kampagne[$u]['mindestaufenthalt'];
$int_tan = create_code(32);
$int_bis = time() + (86400*$interfacedaten['pgueltig']);
// Paidmails updaten oder eintragen
if ($ext_verguetung >=$interfacedaten['pmindestverguetung'] and $int_menge > $interfacedaten['puebrig']) {
$paidmail_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'lose4webmaster' and werbeart = 'paidmail' and kid = '".$int_kid."'");
if (!mysql_num_rows($paidmail_check)) {
db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,beschreibung,mailtext,preis,verdiens t,aufendhalt,menge,sponsor,werbeart,gueltig) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_name."','".$int_text."','".$int_preis."','".$int_verdienst."','".$int_aufenthalt."','".$int_menge."','lose4webmaster','paidmail','".$int_bis."')");
} else {
db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$int_aufenthalt."', gueltig = '".$int_bis."' WHERE sponsor = 'lose4webmaster' and kid = '".$int_kid."' and status = '0'");
}
}
}
}
// Abgelaufene Banner löschen
db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'lose4webmaster' and status = '0'");
?>


Ich habe mal den cron hinzugefügt.....
vielleicht findet ihr den fehler....wodran es liegt.....

Mfg halk

EarlofMidnight
27.10.2007, 21:04
http://www.designerscripte.net/showthread.php?t=3532

Gruß

EarlofMidnight

halk
27.10.2007, 21:17
hallo


leider hilft mir dies nicht weiter....


Mfg halk

EarlofMidnight
27.10.2007, 21:24
Aber das ist der Grund warum der Fehler auftritt

halk
27.10.2007, 21:27
Ja gibt jetzt zwei Möglichkeiten im Cron:


PHP-Code:

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


oder

PHP-Code:

$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:


PHP-Code:

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


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

Gruß
Gremlin

hum ,wo finde ich dies (kopf rauch )
Oder was muss ich ändern??

Mfg halk

EarlofMidnight
27.10.2007, 21:36
Du mußt überall wo Texte eingelesen werden den "Code" ändern in den Crons. Bei den Mails ist das jeweils die Beschreibung und der Mailtext, bei den Textlinks der "normale" Textlink Text.
Aber da jeder Programmierer seine Crons anders aufbaut kann Ich dir hier keine generelle Anleitung dazu schreiben.

Gruß

EarlofMidnight

halk
27.10.2007, 21:49
hallo

vielleicht sollte sich doch mal der coder melden oder Gremlin oder Swinxx ,da ich nicht weiß er es geschrieben hat.oder wie .. ist gans anders wie das was ich habe....
ich habe schon vieles ausprobiert aber nichts hat geklappt.bzw. ich bekomme einfach nicht die fehlermeldung nicht weg.


Mfg halk

Gremlin
28.10.2007, 13:21
Es liegt genau daran was EarlOfMidnight geschrieben hat, durch da Prozentzeichen welches vsprintf als "Befehl" nutzt treten Probleme auf, deshalb muss das vorher gefiltert werden, in Titel, Text, Url ja eigentlich überall am besten man macht aus % einfach %% denn dann wird es trotzdem übernommen, wie das geht steht oben.

Gruß
Gremlin

halk
28.10.2007, 15:34
hallo

Das mit den reine Paidlinks habe ich jetzt hinbekommen.kommt auch keine fehlermeldung mehr.aber sobald ich traffics mit rein setze klappt es nicht mehr.

Mfg halk

Gremlin
28.10.2007, 15:36
aber sobald ich traffics mit rein setze klappt es nicht mehr.
Dann wird es wohl eine Traffickampagne mit "%" geben oder filterst du die!?

halk
28.10.2007, 17:16
Dann wird es wohl eine Traffickampagne mit "%" geben oder filterst du die!?

filtern verstehe jetzt nicht ganz. und das mit % ,weiß ich im mom nicht was damit gemeint ist.

Mfg halk

Gremlin
28.10.2007, 18:42
Na wie es oben steht (und in dem Thread den EoM verlinkt hat) wenn im Titel oder im Link oder sonst wo in der Kampagne ein % vorkommt dann hat vsprintf() Probleme damit. Und wie man das filtert ist einfach! Mit str_replace()


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

Einfach $foo durch die entsprechende Variable z.B.
$kampagne[$u]['name']

etc. austauschen.