sicher....
man kann das bestimmt...man kann auch vms3 schreiben...nee jetzt mal im ernst, war ein scherz.

also ich habe die von mir angesprochene Version jetzt mal über das WE getestet und festgestellt, das die super läuft und total simpel umzusetzen ist. Mir scheint dies die beste Lösung zu sein, da die meisten Webmaster ( auch die, die nicht so gut oder garnicht programmieren können) das selbst erledigen können, ohne sich ihr vms gänzlich zu zerschiessen.

Es ist bei meiner Methode lediglich zwischen Einzelcrons (die, die nur eine Werbeform abholen) und Multicrons (die, die mehrere Werbearten abholen) zu unterscheiden.

Hier mal anhand des Banna-crons ein Beispiel für ein Einzelcron: (Änderungen rot)

@require_once ('../lib/functions.lib.php');
db_connect();
$file1 = "";
$countbanner='0';

$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'banna'"));
if ($interfacedaten['mindestverguetung'] > 0.00) {
// Forcedbanner nullen
db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='banna' and werbeart='forcedbanner' and status='1'");
// Forcedbanner einlesen
$fb=@fopen("http://www.banna.de/interface/ausgabe.php?userid=".$interfacedaten['betreiber']."&key=".$interfacedaten['pass']."&art=forcedklick&reload=24&left=1&payout=".$inte rfacedaten['mindestverguetung']."","r");
if($fb){
while($line=fgets($fb,1000)) {
$file1.=$line;
}
fclose($fb);
}
$code = explode("|", $file1);
$tl_count = (count($code)/6)-1;
$bid_lesen = 0;
// Forcedbannercodes splitten
// 0id;1name;2reload;3mindestaufenthalt;4verguetung;5 Klicksübrig
for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) {
$int_tan = '';
$int_ziel = "http://www.banna.de/abbau/forcedklick.php?id=".$code[$bid_lesen]."&uid=".$interfacedaten['betreiber']."&wid=".$interfacedaten['seite']."";
$int_banner = "http://www.banna.de/abbau/forcedbanner.php?id=".$code[$bid_lesen]."&uid=".$interfacedaten['betreiber']."&wid=".$interfacedaten['seite']."";
$int_menge = round($code[$bid_lesen+5]);
$int_dauer = $code[$bid_lesen+3]+5;
$int_kid = $code[$bid_lesen];
$int_reload = $code[$bid_lesen+2]*3610;
$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+6;
$countbanner++;

// Forcedbanner updaten oder eintragen
$int_menge = round($int_menge/100*$interfacedaten['restklicks']);
echo 'extver: '.$ext_verguetung.' mindestverg: '.$interfacedaten['mindestverguetung'].' int.menge: '.$int_menge.' int.reload: '.$int_reload.'<br>';
if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge > 1 and $int_reload >= 3600) {
$forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'banna' 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. "','".$int_dauer."','".$int_menge."','".$int_reloa d."','banna','forcedbanner')");
} else {
db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$int_dauer."' WHERE sponsor = 'banna' and kid = '".$int_kid."' and status = '0'");
}
}
}
}

// Abgelaufene Banner löschen

if($countbanner > '2'){
db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'banna' and status = '0'");
}

// Zeit setzen
db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Banna.de Forcedbanner'");
db_close();