PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TagesAuszahlGrenze



jpwfour
21.02.2009, 18:35
Bezugnehmend auf dieses Thema:
Maximale Auszahlung pro Tag (http://www.designerscripte.net/showthread.php?t=8488)

Hier nun ein ganz kleiner Codeschnippsel, um die tägliche Auszahlunsgmenge zu begrenzen:

Es sind nur Änderungen in der Datei content/konto/auszahlen.php nötig:

Nach:

$tag = strtotime("".date("m")."/".date("d")."/".date("Y")." 0 hours 0 minutes 0 seconds");
$schnittstelle = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1")) or die("Keine Schnittstellendaten!");Folgende Zeilen einfügen:

$ausheute = mysql_fetch_array(db_query('SELECT SUM(buchungsmenge) AS aus FROM '.$db_prefix.'_buchungen WHERE uid='.$_SESSION['uid'].' AND buchungszeit>='.$tag.' AND verwendungszweck="'.$schnittstelle['auszahltext'].'" '));
$ausheute['aus'] = -1*$ausheute['aus'];
$maxheute = 10000000; //Hier anpassenFolgende Zeile:

if (!ereg("[^0-9]", $_POST['trans_menge']) and $_POST['trans_menge'] >= $schnittstelle['auszahlsumme'] ) {mit dieser ersetzen:

if (!ereg("[^0-9]", $_POST['trans_menge']) and $_POST['trans_menge'] >= $schnittstelle['auszahlsumme'] and $_POST['trans_menge'] <= $maxheute-$ausheute['aus'] ) {Nach:

kontobuchung ('-',$_POST['trans_menge'],$_SESSION['uid']);
buchungsliste ($buchungs_id,'-'.$_POST['trans_menge'],$schnittstelle['auszahltext'],$_SESSION['uid']);
$auszahlmeldung = 'Es wurden '.$_POST['trans_menge'].' '.$waehrung.' ausgezahlt';folgende Zeilen einfügen:

$ausheute = mysql_fetch_array(db_query('SELECT SUM(buchungsmenge) AS aus FROM '.$db_prefix.'_buchungen WHERE uid='.$_SESSION['uid'].' AND buchungszeit>='.$tag.' AND verwendungszweck="'.$schnittstelle['auszahltext'].'" '));
$ausheute['aus'] = -1*$ausheute['aus'];Nach:

Hinweis: Wenn Du mal nicht auszahlen kannst weil es heisst das der Betreiber nicht genug Klammlose hat, dann erschrecke
bitte nicht gleich. Zur Sicherheit des Userguthabens haben wir nur ca. 20% des Userguthabens offen liegen und der Rest
ist im Tresor. Schreibe einfache eine Email, wenn wir es mal vergessen haben sollten genug umzubuchen.<br>
<br>Folgende Zeilen einfügen:

Du hast heute schon : <?=number_format($ausheute['aus'],2,',','.');?> Lose ausgezahlt.<br>
Maximale Tagesauszahlmenge: <?=number_format($maxheute,2,',','.');?> Lose<br>
D.h. du kannst noch : <?=number_format($maxheute-$ausheute['aus'],2,',','.');?> Lose auszahlen.<br>
<br>Sollte so theoretisch funktionieren, aber noch nicht getestet :yes:
Evtl kann das ja jemand machen und hier uns sein Feedback geben.

Aufbauend auf der auszahlen.php des Grundscriptes, d.h. wenn Ihr da schon andere Addons drin habt, kann der vorhandene Code abweichen.

Sam2004
21.02.2009, 21:10
Nabend,

theoretisch kann meistens auch praktisch sein :biggrin1:

Hab alle veränderungen wie beschrieben vorgenommen und funzt 1a :thumb:
Benutz selbst das VMS 1.2.3.

Ein prob weniger ;)

Sam

Schlensbens
23.02.2009, 14:11
Na dann mal danke für den Code, scheint ja bei mir auch zu funktionieren. :thumb::smile:

stefanie0306
24.02.2009, 15:36
Ja ich muss auch sagen dass es einwandfrei funktioniert.

Vielen Danke an dieser Stelle auch von mir :)

jpwfour
24.02.2009, 17:14
Freut mich, das es bei euch funktioniert, Andere verkaufen sowas teuer in Ihren Shops und es funktioniert noch nicht mal, und Support bekommt man dann wohl auch nicht dazu
-> :mmph: :der: :shocked: :hö: :embarassed: ... :biggrin1:

jehan
26.02.2009, 23:20
einfach nur :thumb: :yes:

wenn mal zeit hast hab noch ein hotelspiel vms1.1 das auf 1.2.3 geschrieben werden muß :biggrin1:

jpwfour
27.02.2009, 00:56
Jo, skype, icq ist ja alles vorhanden :yes:

Xenon
28.02.2009, 11:26
habe es bei mir erweitert damit man sich die mühe so nicht machen muss .
Öffne die adminfore/content/interfacedaten/pageconfig.php

suche :

f ($_POST['updaten'] == 'Updaten !') {
db_query("UPDATE ".$db_prefix."_seitenkonfig SET
denied_domains='".$_POST['denied_domains']."',
wartung='".$_POST['wartung']."',
einzahlgrenze='".$_POST['einzahlgrenze']."', füge darunter :

azg='".$_POST['azg']."',suche :

<tr bgcolor="#f5f5f5">
<td align="left"><b>Einzahlgrenze</b><br><i>Max. Guthaben pro User!</i></td>
<td align="left">&nbsp;<input type="Text" name="einzahlgrenze" value="<?=$interface['einzahlgrenze'];?>"> Nur Ganzzahlen</td>
</tr>Füge Darunter :

<tr bgcolor="#f5f5f5">
<td align="left"><b>Auszahlungsgrenze</b><br><i>Max. Guthaben pro User!</i></td>
<td align="left">&nbsp;<input type="Text" name="azg" value="<?=$interface['azg'];?>"> Nur Ganzzahlen</td>
</tr>---------------------------------------
Öffne die content/konto/auszahlen.php

suche :

$maxheute = 10000000; // hier eintrageÄndere es in :

$maxheute = mysql_fetch_assoc (db_query ('SELECT azg FROM '.$db_prefix.'_seitenkonfig LIMIT 1')); //Hier anpassen
Suche alle Variablen :

$maxheuteund ändere diese in die :

$maxheute['azg']

--------------------------------------------------
bei vms_seitenkonfig erstellst du eine Spalte namens azg und der Länge 10

h-m
13.03.2009, 13:20
Funzt bei mir super (VMS 1.2.3), Dank an jpwfour und adi.

Für meine Seite habe ich das noch etwas angepasst, damit ich für jeden User ein eigenes Tages-AZ-Limit festlegen kann:

(Die Änderungen in diesem Beitrag setzen voraus dass alle Änderungen aus Beitrag #1 (http://www.designerscripte.net/showthread.php?p=61399) und die Änderungen aus Beitrag #8 (http://www.designerscripte.net/showthread.php?p=61867) an der Datei '/content/konto/auszahlen.php' bereits vorgenommen wurden, Änderungen aus Beitrag #8 (http://www.designerscripte.net/showthread.php?p=61867) an Datei '/adminfore/content/interfacedaten/pageconfig.php' sind für diese Variante nicht nötig.)

-- Start -----------------------------------
Ich habe die Spalte "azg" in vms_userdaten eingefügt ( unsigned int(11), default value = 5000000 ) und die SQL-Abfrage wie unten angegeben geändert.

Folgendes (aus Adis Version) suchen:

$maxheute = mysql_fetch_assoc (db_query ('SELECT azg FROM '.$db_prefix.'_seitenkonfig LIMIT 1')); //Hier anpassen
Ersetzen mit:

$maxheute = mysql_fetch_assoc (db_query ('SELECT azg FROM '.$db_prefix.'_userdaten WHERE uid='.$_SESSION['uid'].' LIMIT 1'));
Die Spalte 'azg' in der Tabelle 'vms_seitenkonfig' (die in Beitrag #8 (http://www.designerscripte.net/showthread.php?p=61867) eingefügt wurde) wird jetzt nicht mehr benötigt, statt dessen wird die Information aus Tabelle 'vms_userdaten' Spalte 'azg' abgerufen.

Eine Änderung in Adminforce -> Seiteneinstell. hat jetzt keinen Effekt mehr. Statt dessen müssen mit Hilfe von phpMyAdmin die Werte für Tages-AZ-Limit in der Spalte 'azg' in der Tabelle 'vms_userdaten' eingetragen werden.

Jetzt fehlt nur noch eine Erweiterung von '/adminforce/content/usersystem/userbearbeiten.php' um die Werte für Tages-AZ-Limit im Adminforce per User festlegen zu können.
-- Ende -----------------------------------

cece75
22.09.2010, 23:04
danke funzt super

Sam2004
25.09.2010, 10:09
Moin,

mich auch mal für den Schnippsel bedanken möchte :)

LG