PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VMS 1.2] Tagesverdienst in der Kontoübersicht einbringen?



Rallef
14.04.2009, 18:14
Hallo,

ich würde meinen Usern gerne in der Kontoübersicht von meiner VMS 1.2.x Seite einen Tagesverdienst anzeigen lassen - also was der User für sich auf der Seite täglich so verdient und was er ausgegeben hat - also jeweils nur am aktuellen Tag von 0 - 24 Uhr, vielleicht noch mit der Anzeige was er am Vortag oder die letzten paar Tage so verdient hat

Etwa so:


Deine Einnahmen heute: xxx
- Deine Ausgaben heute: xxx
----------------------
= Dein Verdienst heute: xxx

Dein Verdienst gestern: xxx, vorgestern: xxx

Wie kann ich sowas machen?

tampulin
14.04.2009, 18:41

Lokutos
14.04.2009, 18:48
Sollen Ein und auszahlungen mit berechnet werden ??

Rallef
14.04.2009, 19:27
Eine Buchungsliste habe ich, aber es werden keine Buchungen von Forced- und PaidlinkKlicks drin aufgenommen.

Wäre aber gut wenn die dann beim Tagesverdienst auch mit dabei wären :biggrin1:

Die Ein und Auszahlungen sollen nicht mit dabei sein, aber vielleicht könnte man die ja extra anzeigen lassen?

jehan
14.04.2009, 22:38
das wäre kein problem die anzeigen zu lassen(paidlink,paidbanner), aber die arme datenbank :rolleyes:

Hardy
14.04.2009, 22:42
das wäre kein problem die anzeigen zu lassen, aber die arme datenbank :rolleyes:

was ist damit?
in die tabelle vms_kontodaten zwei spalten anlegen zb einnahmenheute und ausgabenheute und dann in den query der den kontostand beim klicken setzt einfach erweitern das auch der verdienst in einnahmenheute geschrieben wird. das wäre für mich die alternative lösung.kann mich morgen da mal ransetzen aber heute nicht mehr

Rallef
14.04.2009, 23:14
Wär super wenn du das was basteln könntest.

Aber wenns die DB zu sehr belastet dann lass ichs doch lieber bleiben - aber wenns klappt wärs super.

Lokutos
15.04.2009, 00:40
was ist damit?
in die tabelle vms_kontodaten zwei spalten anlegen zb einnahmenheute und ausgabenheute und dann in den query der den kontostand beim klicken setzt einfach erweitern das auch der verdienst in einnahmenheute geschrieben wird. das wäre für mich die alternative lösung.kann mich morgen da mal ransetzen aber heute nicht mehr


denk dran er möchte ein und auszahlungen nicht :cool:
muss man dan entweder ein und auszahlen.php eddieren mit db_query oder das system komplett neu schreiben. oder if ($_get[content != auszahlen.php....

Rallef
15.04.2009, 00:42
na man kanns auch mit reinmachen mit dem auszahlen bevor mans ganz neu schreibt - soll ja dem user nur nen Überlick geben was er so verdient hat.

Was er ausgezahlt hat weiss der User ja dann schon selber (im Normalfall :biggrin1: )

Einzahlungen sind nicht möglich bei mir (Primeraseite)

Hardy
15.04.2009, 07:26
Wär super wenn du das was basteln könntest.

Aber wenns die DB zu sehr belastet dann lass ichs doch lieber bleiben - aber wenns klappt wärs super.

Nee bei meinen vorhaben wird noch nichtmal ein zusätzlicher query gemacht :wink:
Für mich wäre jetzt noch die frage ob du ein bonuslose addon drinne hast.

Rallef
15.04.2009, 13:22
Nein, Bonuslose gibts bei mir nicht.
Ist auch nicht so wichtig - aber könnte man das theoretisch nachträglich noch mit reinbasteln, falls es doch mal irgendwann reinkommen sollte?

Rallef
16.04.2009, 20:39
Gibts denn schon was neues hierzu?

Hardy
16.04.2009, 20:41
Hihu ich mach dir ein schnippsel morgen früh oder samstag zurecht bin noch nicht dazu gekommen :-(

Rallef
16.04.2009, 20:44
Ok, danke dir :smile:

TopMailerde
22.04.2009, 20:56
Hihu ich mach dir ein schnippsel morgen früh oder samstag zurecht bin noch nicht dazu gekommen :-(

Hallo,

würde auch sowas benötigen gegen ne Lose enschädigung für den Aufwand...

Gruß Rico

Hardy
22.04.2009, 21:19
Hallo,

würde auch sowas benötigen gegen ne Lose enschädigung für den Aufwand...

Gruß Rico

was soll ich damit? die sind doch eh nix wert :suspicious:

hast du ein bonuslose addon?
also ich denke mal das ich es morgen vormittag fertig mache kann es aber nciht versprechen.

TopMailerde
22.04.2009, 22:08
was soll ich damit? die sind doch eh nix wert :suspicious:

hast du ein bonuslose addon?
also ich denke mal das ich es morgen vormittag fertig mache kann es aber nciht versprechen.

Hallo,

stimmt da hast auch wieder recht... :cool:


Ja habe Bonuslose allerdings benötige ich es für den Paid4 Bereich und da verdient man keine Bonuslose würde also normal reichen...

Gruß Rico

rawmance
23.04.2009, 10:18
hi

dann melde ich auch mal mein interesse an

bonuslose addon habe ich nicht

also normal reicht völlig aus

gruss rawmance

Hardy
23.04.2009, 12:15
Ok dann hier mal eine kleine anleitung.
Sicherungkopien anlegen von folgenden Datein:
- content/konto/einzahlen.php
- content/konto/auszahlen.php
- content/konto/uebersicht.php
- lib/functions.lib.php
- crons/refzahlungen.knt.php
- topframe_forced.php
Wenn verfügbar
- topframe_betau.php
- topframe_forced_hf.php
- topframe_forced_premium.php
- topframe_inbox.php
- topframe_traffic.php


Punkt 1

Folgenden SQL Code in der Datenbank ausführen:


ALTER TABLE `vms_kontodaten`
ADD `einheute` DOUBLE( 100, 2 ) NOT NULL DEFAULT '0',
ADD `ausheute` DOUBLE( 100, 2 ) NOT NULL DEFAULT '0',
ADD `eingestern` DOUBLE( 100, 2 ) NOT NULL DEFAULT '0',
ADD `ausgestern` DOUBLE( 100, 2 ) NOT NULL DEFAULT '0';Punkt 2
Wenn ein und auszahlung in der statistik zählen sollen diesen punkt überspringen.

Änderung in der einzahlung.
- Öffne die Datei content/konto/einzahlen.php
- Suche diese Zeile:


kontobuchung ('+',$_POST['trans_menge'],$_SESSION['uid']);
- Ersetzen mit folgender Zeile:


db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` + '".$_POST['trans_menge']."' WHERE uid='".$_SESSION['uid']."'");
Änderung in der auszahlung.
- Öffne die Datei content/konto/auszahlen.php
- Suche diese Zeile:


kontobuchung ('-',$_POST['trans_menge'],$_SESSION['uid']);
- Ersetzen mit folgender Zeile:


db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` - '".$_POST['trans_menge']."' WHERE uid='".$_SESSION['uid']."'");
Punkt 3

Änderung an den Klickdatein topframe_x.php
Hier sind die änderungen eigentlich bei allen topframe_x.php datein gleich.

- Alle topframe_x.php datein öffnen die Ihr verwendet und folgendes suchen:



db_query("UPDATE ".$db_prefix."_kontodaten SET klicks = klicks + 1, kv = kv + ".$forced['verdienst'].", kontostand = kontostand + ".$forced['verdienst']." WHERE uid = ".$_SESSION['uid']."");
- Mit folgenden Code ersetzen:



db_query("UPDATE ".$db_prefix."_kontodaten SET klicks = klicks + 1, kv = kv + ".$forced['verdienst'].", kontostand = kontostand + ".$forced['verdienst'].", einheute = einheute + ".$forced['verdienst']." WHERE uid = ".$_SESSION['uid']."");
Punkt 4

Um das ganze nun auch noch bei den Slots und WMS etc mitzuloggen bitte die datei lib/functions.lib.php öffnen.

Mit Bonuslose Addon:
- Suche folgende Zeile:


function kontobuchung ($art,$trans_menge,$fuer) {
global $db_prefix;
if ($art=="-"){
db_query("UPDATE ".$db_prefix."_kontodaten SET `bonuslose` = `bonuslose` ".$art." ".$trans_menge." WHERE uid=".$fuer." and bonuslose >= ".$trans_menge);
if (mysql_affected_rows()==0)
{
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` + bonuslose, bonuslose=0 WHERE uid=".$fuer);
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge." WHERE uid=".$fuer);
}
}
else
{
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge." WHERE uid=".$fuer."");
}
} - Ersetze diese mit folgende Zeile:


function kontobuchung ($art,$trans_menge,$fuer) {
global $db_prefix;

if ($art=="-"){
db_query("UPDATE ".$db_prefix."_kontodaten SET `bonuslose` = `bonuslose` ".$art." ".$trans_menge.", `ausheute` = `ausheute` + ".$trans_menge." WHERE uid=".$fuer." and bonuslose >= ".$trans_menge);
if (mysql_affected_rows()==0)
{
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` + bonuslose, bonuslose=0 WHERE uid=".$fuer);
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge.", `ausheute` = `ausheute` + ".$trans_menge." WHERE uid=".$fuer);
}
}
else
{
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge.", `einheute` = `einheute` + ".$trans_menge." WHERE uid=".$fuer."");
}
} - Suche folgende Zeile:


function bonuslose ($art,$trans_menge,$fuer) {
global $db_prefix;
db_query("UPDATE ".$db_prefix."_kontodaten SET `bonuslose` = `bonuslose` ".$art." ".$trans_menge." WHERE uid=".$fuer."");
}- Ersetze diese mit folgende Zeile:


function bonuslose ($art,$trans_menge,$fuer) {
global $db_prefix;
db_query("UPDATE ".$db_prefix."_kontodaten SET `bonuslose` = `bonuslose` ".$art." ".$trans_menge.", `einheute` = `einheute` + ".$trans_menge." WHERE uid=".$fuer."");
}

OHNE Bonuslose Addon:
- Suche folgende Zeile:


function kontobuchung ($art,$trans_menge,$fuer) {
global $db_prefix;
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge." WHERE uid=".$fuer."");
}- Ersetze diese mit folgende Zeile:


function kontobuchung ($art,$trans_menge,$fuer) {
global $db_prefix;
if ($art=="-"){
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge.", `ausheute` = `ausheute` + ".$trans_menge." WHERE uid=".$fuer."");
}else{
db_query("UPDATE ".$db_prefix."_kontodaten SET `kontostand` = `kontostand` ".$art." ".$trans_menge.", `einheute` = `einheute` + ".$trans_menge." WHERE uid=".$fuer."");
}
}
Punkt 5

Um die tägliche statistik zurückzusetzten muss natürlich noch etwas in den cron refzahlung eingefügt werden.
- Dazu die Datei crons/refzahlungen.knt.php öffnen.
- Gleich am Anfang nach <? folgendes einfügen:


$statstag = db_query("SELECT uid,einheute,ausheute FROM ".$db_prefix."_kontodaten WHERE einheute >=1 OR ausheute >=1");
while ($stag = mysql_fetch_Array($statstag)){
db_query ("UPDATE ".$db_prefix."_kontodaten SET eingestern ='".$stag[einheute]."',ausgestern ='".$stag[ausheute]."' WHERE uid='".$stag[uid]."'");
db_query ("UPDATE ".$db_prefix."_kontodaten SET einheute ='0',ausheute ='0' WHERE uid='".$btag[uid]."'");
}

Punkt 6

Zum schluss natürlich nur noch die übersicht für die user. Diese mache ich nur grob und muss natürlich selber der seite angepasst werden.
- Öffne die Datei content/uebersicht.php
- Suche die Zeile:


$sql = db_query("SELECT u.nickname,u.vorname,u.nachname,u.angemeldet_seit, w.werber,w.umsatz,w.gesamt,w.refback,k.kontostand, k.klicks,k.kv,k.angebettelt,k.bv FROM

- Vorsicht! in dieser Zeile nur nach Selecht noch folgendes einfügen:


k.ausheute,k.einheute,k.ausgestern,k.eingestern,

- Gehe ganz ans ende der datei (oder da wo die anzeige eben hinsoll)
- Füge folgendes ein:


<?head("Ein / Ausgaben Statistik");?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr>
</tr>
<tr>
<td align="left" width="55%">Gesamteinnahmen heute:</td><td align="left"><?=number_format($kontoinfo['einheute'],2,",",".").' '.$waehrung;?></td>
</tr>
<tr>
<td align="left" width="55%">Gesamtausgaben heute:</td><td align="left"><?=number_format($kontoinfo['ausheute'],2,",",".").' '.$waehrung;?></td>
</tr>
<tr>
<td align="left" width="55%">Differenz heute:</td><td align="left"><?=number_format(($kontoinfo['einheute']-$kontoinfo['ausheute']),2,",",".").' '.$waehrung;?></td>
</tr>
</table>
<hr>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr>
</tr>
<tr>
<td align="left" width="55%">Gesamteinnahmen gestern:</td><td align="left"><?=number_format($kontoinfo['eingestern'],2,",",".").' '.$waehrung;?></td>
</tr>
<tr>
<td align="left" width="55%">Gesamtausgaben gestern:</td><td align="left"><?=number_format($kontoinfo['ausgestern'],2,",",".").' '.$waehrung;?></td>
</tr>
<tr>
<td align="left" width="55%">Differenz gestern:</td><td align="left"><?=number_format(($kontoinfo['eingestern']-$kontoinfo['ausgestern']),2,",",".").' '.$waehrung;?></td>
</tr>
</table>
<?foot();?>


FERTIG
Jetzt habt ihre eine Datenbank schonende Statistik die auf bereits vorhande funktionen aufbaut :thumb:
Das ganze ist von mir nur grob getestet und noch nicht intensiv sollte aber alles funktionieren. Ich übernehme aber trotzdem keine Garantie

Babalu
21.06.2009, 23:40
Also bei mir klappt es :)

Vielen Dank