Mmm also doch in dem Cron für Refzahlung, für jede Ebene extra bearbeiten also?
Mmm also doch in dem Cron für Refzahlung, für jede Ebene extra bearbeiten also?
Mal ein paar Sachen aufgreifen:
Ja, bei meinem AP-Addon werden die Tages-AP ja erst wieder resettet,
wenn der Cron für die Umrechnung (AP in Bonuslose) gelaufen ist.
Es müsste also nur diese Spalte abgefragt werden, ob die aktuellen AP
mindestens 1 betragen. Denn der Refcron läuft bei mir ohnehin 30
Minuten vorher, von daher müsste es funktionieren.
Ich bin ja der Meinung, dass die Refralleys und die Refvergütung allgemein
ansporn genug sein sollten, Refs zu werben. Wer sich davon abschrecken
lässt, 1x pro Tag kurz auf der Seite zu erscheinen, auf den kann ich auch
gut und gerne verzichten als Refjäger.
Wie gesagt, es braucht ja nur in die Cron-Datei diese if-Bedingung rein,
dass die aktuellen Tages-AP größer 1 sind, dazu noch die Datenbankabfrage und dann müsste das Problem ja eigentlich schon
gelöst sein.
Das mit dem Refback stimmt allerdings, da hatte ich nich gar nicht daran
gedacht...wenn man diese Bedingung nur in die Cron-Datei einfach so
packt, dann werden ja den Usern auch keine Refbacks vergütet, nur weil
ihr Werber nicht on war.. gestaltet sich doch schwieriger die ganze Geschichte
Reicht es nicht aus nur die Kontobuchung mit dem if... Befehl zuversehn?
So in etwa..? Natürlich noch die Datenbankabfrage mit rein tun!PHP-Code:
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
if ($bp >= 1) {
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].' Proz. ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
blabla....
}
Stimmt. Ich werde das mal im Laufe der Nacht probieren Danke schon mal für deine Mühe
Also bei mir sieht das jetzt so aus:
PHP-Code:
// AP abfragen
$ap = mysql_fetch_array(db_query("SELECT `eintap` FROM ".$db_prefix."_kontodaten"));
Beim ausführen des Crons kommt dann immer:PHP-Code:
// Ebene 1
$refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
$verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']);
$pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1'];
db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'");
if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.01) {
$buchungs_id = create_code(14);
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'% ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'% gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
$pro_verdienst = $pro_verdienst - $refback;
$refback = 0;
$buchungs_id = '';
}
if ($ap >= 1 ) {
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;
}
Die Refvergütung wird aber trotzdem gutgeschrieben, obwohl 0 AP.Warning: vsprintf() [function.vsprintf]: Too few arguments in /var/www/web126/html/Losekiller/lib/functions.lib.php on line 40
Warning: vsprintf() [function.vsprintf]: Too few arguments in /var/www/web126/html/Losekiller/lib/functions.lib.php on line 40
Cron gelaufen
Der Cron läuft ohne Fehler durch, nur hab ich keinen User der einen geworben hat der gerade klickt. Nur so wird das doch noch immer in den Kontoauszug des User geschrieben was er verdient hat.PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten"));
if ($bp >= 1 ) {
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;
}
Die Datenbankabfrage ist falsch.
So hab ich das. Mal sehn ob es richtig ist.PHP-Code:
// Aktivpunkte Prüfen
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=$refliste_1['uid']);"));
// Prozente laden!
$refdaten = mysql_fetch_array(db_query("SELECT `re1`,`re2`,`re3` FROM ".$db_prefix."_seitenkonfig"));
// Userdurchlauf
$refliste = db_query ("SELECT * FROM ".$db_prefix."_werberdaten");
while ($refliste_1 = mysql_fetch_array($refliste)) {
$verdienst = 0;
// Ebene 1
$refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
$verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']);
$pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1'];
db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'");
if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.0000001) {
$buchungs_id = create_code(14);
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
// Abfragen ob genügend Aktivpunkte vorhanden dann erst buchen
if ($bp >= 1) {
kontobuchung ('+',$refback,$anzeigen_1['uid']);
}
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].' Proz. ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
stg_bilanz (0,$verdienst,RefBack,"RefBack");
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].' Proz. gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
$pro_verdienst = $pro_verdienst - $refback;
$refback = 0;
$buchungs_id = '';
}
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;
EDIT
Nein, es kommt immer folgende Fehlermeldung.
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ..................................../crons/refzahlungen.knt.php on line 2
Die Fehlermeldung sagt es ja schon aus, in der Zeile:
ist ein Syntaxfehler, speziell:PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=$refliste_1['uid']);"));
"SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=$refliste_1['uid']);"
darin der Array Zugriff:
$refliste_1['uid']
Versuchs mal so:
Die schließende runde Klammer im Query ist auch falsch (hat aber nicht den Fehler ausgelöst).PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=".$refliste_1['uid']));
Möglichkeiten:
PHP-Code:
$var = "$array[key]";
PHP-Code:
$var = "{$array['key']}";
Falsch:PHP-Code:
$var = "".$array['key']."";
PHP-Code:
$var = "$array['key']";
Kill one man, and you are a murderer.
Kill millions of men, and you are a conqueror.
Kill them all, and you are a god. - Jean Rostand, Thoughts of a Biologist (1939)
PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=".$refliste_1[uid].""));
if ($bp >= 0.5) {
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].' Proz. ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
}
Mach ich es nun so, werden bei ausführung des Refvergütungscron beides Ausgeführt Kontobuchung sowie der eintrag in den Kontoauszug. Wieso?