PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [S] Ap Addon



Sam2004
28.11.2009, 13:15
Moin,

ich hab mir noch nie so die Finger wund gesucht wie dieses mal.
Ich suche ein stinknormales AP Addon ohne firlefanz...kein Bonuspointskram oder Aktiv Punkte System zum tauschen, sondern sting normales AP Addon evtl. mit schnippsel für die Medias.

Ich hab das Forum durch gekämpft und kam schluss endlich nur auf Problem Fälle mit dem Ap addon, aber nirgends wo man es kaufen kann...sonst wäre der Thread ja überflüssig^^

Und ja, Tante google auch benutzt, aber bin ich nur auf Aktiv Punkte System und Bonuspointssystem gestoßen...

Wer kann mir helfen oder auf einen Shop verweisen? Vielen Dank

Sam

jpwfour
28.11.2009, 13:41
Um einfach nur die AP zu zählen, brauchts kein großes Addon, ist an sich nur 1 Zeile in der functions.lib und 1 SQL Befehl:

Evtl hilft dir das weiter:
http://www.designerscripte.net/downloads.php?do=file&id=95

An sich reicht davon:


1. Führe in phpMyAdmin folgenden SQL-Code aus:
ALTER TABLE `vms_kontodaten` ADD `ap` INT NOT NULL ;Um die AP speichern zu können, und:

2. Öffne die lib/functions.lib.php
function aktivralley ($buchungssumme,$fuer) {

//lala
db_query('UPDATE '.$db_prefix.'_kontodaten SET ap=ap+'.$buchungssumme.' WHERE uid='.$fuer.' LIMIT 1');
}Und schon werden die AP mitgezählt (überall da, wo aktivralley(...) eingebaut ist natürlich nur)

Sam2004
28.11.2009, 13:53
Danke jpw,

sieht doch schon mal vernünftig aus.
Leider kann ich mit dem Addon aus dem DL Bereich nur bedingt was anfangen,
weil ein Teil von der Beschreibung fehlt.

Kannst ja, wenn ne min Zeit hast, mal anschauen. Geht um Punkt 3.

Sam

Lokutos
28.11.2009, 14:04
Also an und für sich brauchst du dafür kein addon

leg dir 2 spalten an in vms_kontodaten


ap int(11) unsigned
apgesammt int(11) unsignedHier gibt es 2 varianten eine mit einer extra Funktion und eine mit dem refumsatz/aktiverally

eigene Funktion:
dann gehst du in die functions.lib

und fügst da folgende function ein:


function aktivepunkte ($buchungssumme,$fuer) {
global $db_prefix;
//100Lose umsatz = 1 AP
$aktivepunkte = $buchungssumme/100*1;
db_query ('UPDATE '.$db_prefix.'_kontodaten SET ap = ap + '.$aktivepunkte.' ,apgesammt = apgesammt + '.$aktivepunkte.' WHERE uid = '.$fuer.'');
}die musst du dan überall wo die ap's gutgeschrieben werden einfügen


aktivepunkte ($buchungssumme,$_SESSION['uid']);

über Refumsatz:

suche:

function refumsatz ($buchungssumme,$fuer) {
global $db_prefix;
db_query ('UPDATE '.$db_prefix.'_werberdaten SET umsatz = umsatz + '.$buchungssumme.', aktivzeit='.time().' WHERE uid = '.$fuer.' and werber != 0');
}ersetze es mit:

function refumsatz ($buchungssumme,$fuer) {
global $db_prefix;
db_query ('UPDATE '.$db_prefix.'_werberdaten SET umsatz = umsatz + '.$buchungssumme.', aktivzeit='.time().' WHERE uid = '.$fuer.' and werber != 0');
db_query ('UPDATE '.$db_prefix.'_kontodaten SET ap = ap + '.$buchungssumme.' ,apgesammt = apgesammt + '.$buchungssumme.' WHERE uid = '.$fuer.'');
}


dan brauchst du noch einen cron
am besten in der tagesklickrally einfügen:

füge vor dem ?>
folgendes ein:

//1ap ist wie viel lose wert?
$apwert='1';
$apumrechnung = db_query("SELECT ap,uid FROM ".$db_prefix."_kontodaten WHERE ap >= 1");
while ($apumrechnig = mysql_fetch_array($apumrechnung)) {
$gutschrift=$apumrechnig['ap']*$apwert;
db_query ("UPDATE ".$db_prefix."_kontodaten kontostand = kontostand + '".$gutschrift."', ap = '0' WHERE uid=".$apumrechnig['uid']."");
echo 'user '.$apumrechnig['uid'].' hatte '.$apumrechnig['ap'].' AP und hat '.$gutschrift.' Lose bekommen <br>';
}

ist alles ungetestet aber sollte functionieren.
das erste mal solltest du aber n backup parat haben und den cron per hand ausführen dan siehst du gleich auch was er macht.

MFG Lokutos

Sam2004
28.11.2009, 15:41
Danke euch beiden^^

Hab mich dann für die variante von jpw entschieden.

Funzt alles =)

Sam

Sam2004
29.11.2009, 10:12
Moin,

nochmal was hab^^...hatte ich vorher nicht berücksichtigt...

Durch die jetzt angelegte Tabelle AP, werden ja alle AP´s dauerhaft gezählt.
Brauch ich noch eine 2 Tabelle für Tages-AP? ...Das zum Beispiel beim Tagescron dann umgerechnet wird in die alle AP Tabelle...

Hoffe konnt mich verständlich machen, bin noch nicht fit %-)

Sam

Lokutos
29.11.2009, 11:16
jpw's hat nur gesammt ap
da müsstest du eine weitere anlegen

bei meinem hab ich das oben schon beachtet.

MFG Lokutos

Sam2004
29.11.2009, 11:23
Moin,

hab da im ersten Moment nicht geschaltet gehabt.

Ich hab jetzt noch eine Tabelle angelegt "gesap"

Jetzt bräucht ich nur noch ein Tipp, wie ich die Tages AP dann alle
24 Std rüber bekomme...

Müßte ja was für den Cron gebastelt werden...Freiwillige vor =)
Natürlich nicht umsonst ;)

Sam

Lokutos
29.11.2009, 12:10
also ich würde es so machen das du wen ein ap gemacht wird ap und gesap um 1 updatest so kannst du dan einfach um mitternacht
einfach die gutschrift machen und danach ein query update ap=0

abgucken kannst du dir das oben von meinem post

Sam2004
29.11.2009, 12:33
*edit*

Sam2004
30.11.2009, 13:04
Moin,

sry wegen doppelp.

Hab mich dran versucht und nicht hinbekommen.

Da noch einige Kleinigkeiten anstehen (Mini Todo Liste vorhanden),
vergebe ich die Arbeit gegen bezahlung.
Was die Arbeiten angeht, sollte es schnell erledigt sein, schätze 1-2 Std.

ICQ oder Skype wären wünschenwert, zwecks schnellerer abwicklung. Bei bedarf gibts dann per pn weitere Infos.

Sam

Sam2004
02.12.2009, 11:20
Noch einmal push....ansonsten kann morgen zugemacht werden...:frusty:

Lokutos
02.12.2009, 11:23
schreib doch mal um was es geht.
ja nach dehm was für sachen es sin meld ich mich dan hier oder im skype mit der lösung.