PDA

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



Sledgedog
09.02.2010, 02:50
Suche ein Aktivgutschein addon mit dem ich folgendes machen kann:

- erstellen einer beliebigen Anzahl von GS (z.B. Aktiv 1 bis Aktiv 6)
- User sollen den GS alle xx Stunden einlösen können

also ähnlich dem was man vom FWX kennt

habe hier gesucht aber nix gefunden

sieht dann für die User so aus:

Folgende Aktivgutscheine können alle 12 Std. eingelöst werden:
10.000 Ap 50.000 Blose Aktiv1
100.000 Ap 200.000 Blose Aktiv2
1.000.000 Ap 1.000.000 Blose Aktiv3
5.000.000 AP 5.000.000 Blose Aktiv4
10.000.000 Ap 12.500.000 Blose Aktiv5
20.000.000 Ap 25.000.000 Blose Aktiv6

Achtung: Die Aktivgutscheine können nur in der Zeit von 01.00 Uhr - 23.00 Uhr
eingelöst werden.

Lokutos
09.02.2010, 05:49
Verlinken und einstellen musst du es selber


<?

# Die Art der Gutschrift. Hier wird die entsprechende Spalte der Währung eingetragen (kontostand, bonuslose) Name muss mit Spaltenname identisch sein!
$buchungsart = 'kontostand';

# Der Name der Bonuswährung die gutgeschrieben wird (für die Tabelle unten wichtig)
$bonusname = 'Snippis';

# Reload fürs Einlösen in Stunden
$reload = 12;

# Tabelle aus der die benötigten PUNKTE gelesen werden. Standard: kontodaten. Hier darf auch beispielsweise eine Tagesrallye Tabelle benutzt werden (z.B. tagrally)
$tabelle = 'kontodaten';

# Die entsprechende Punktespalte aus der oben gewählten Tabelle (bei Klickrallyes heissen die Spalten meistens "klicks", bei Gamerallyes "punkte". Bitte mittels phpmyadmin die Tabellenstruktur prüfen!
# Als standard wurde hier die Spalte "ap" (für Aktivpunkte) gewählt. Bitte vergewissere dich ob diese Spalte bei dir auch wirklich so heisst!
$spalte = 'eintap';


// GS 1 START
$code1 = 'Snippis-wuenscht-guten-Morgen'; // Code für den 1. Gutschein
$bonus1 = 5000; // Bonus für den 1. Gutschein
$minpoints1 = 500; // Mindespunktzahl (bzw. klicks) , die für den 1. GS benötigt werden
// GS 1 ENDE

// GS 2 START
$code2 = 'Snippis-spendet-einen-Kaffe';
$bonus2 = 10000;
$minpoints2 = 5000 ;
// GS 2 ENDE

// GS 3 START
$code3 = 'Snippis-macht-Fruestueck';
$bonus3 = 20000;
$minpoints3 = 15000;
// GS 3 ENDE

// GS 4 START
$code4 = 'Snippis-Arbeitet';
$bonus4 = 40000;
$minpoints4 = 25000;
// GS 4 ENDE

// GS 4 START
$code5 = 'Snippis-hatte-einen-harten-Morgen';
$bonus5 = 50000;
$minpoints5 = 60000;
// GS 4 ENDE

// GS 5 START
$code6 = 'Snippis-zahlt-den-verdienten-Lohn';
$bonus6 = 100000;
$minpoints6 = 150000;
// GS 5 ENDE

# KONFIGURATION ENDE




if (!$tabelle OR !$spalte OR !$reload OR !$buchungsart) {
head("FEHLER");
echo 'Unvollständige Konfiguration.';
foot();
} else {

userstatus ();

$error = '';
if(!in_array($_POST['code'], array($code1,$code2,$code3,$code4,$code5,$code6))) $_POST['code']= $code1;
$code = $_POST['code'];

// einlösen anfang
if ($_POST['einloesen'] && !$code) {
$error.='Du hast doch garkeinen Code eingegeben...';
}

if ($_POST['einloesen'] == 'Gutschein einlösen' && $code != '') {

$ap = mysql_fetch_array(db_query("SELECT ".$spalte." FROM ".$db_prefix."_".$tabelle." WHERE uid = '".$_SESSION['uid']."'"));
$gutschein = '';

// Prüfung für Gutschein 1

if ($code == $code1 && $ap[$spalte] >= $minpoints1) {
$gutschein = $bonus1;
}
// Prüfung Gutschein 1 ENDE

if ($code == $code2 && $ap[$spalte] >= $minpoints2) {
$gutschein = $bonus2;
}
if ($code == $code3 && $ap[$spalte] >= $minpoints3) {
$gutschein = $bonus3;
}
if ($code == $code4 && $ap[$spalte] >= $minpoints4) {
$gutschein = $bonus4;
}
if ($code == $code5 && $ap[$spalte] >= $minpoints5) {
$gutschein = $bonus5;
}
if ($code == $code6 && $ap[$spalte] >= $minpoints6) {
$gutschein = $bonus6;
}


if ($gutschein == '') {
$error.= 'Dieser Gutschein existiert nicht oder du erfüllst momentan nicht die erforderlichen Bedingungen zum Einlösen.<br>';
$gutschein = 0;
}


$reloadcheck = db_query("SELECT * FROM ".$db_prefix."_reloads WHERE uid = '".$_SESSION['uid']."' and tan = 'aktivgs' and bis >= '".time()."'");
if (mysql_num_rows($reloadcheck)) {
$error ='<font color="red">Du hast bereits einen Aktivgutschein in den letzten '.$reload.' Stunden eingelöst. Du musst noch etwas warten, dann kannst du erneut einen Gutschein einlösen.</font>';
}

if ($error == '') {
db_query("UPDATE ".$db_prefix."_kontodaten SET ".$buchungsart." = ".$buchungsart." + ".$gutschein." WHERE uid = ".$_SESSION['uid']."");
$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$gutschein,'Aktiv GS eingelöst',$_SESSION['uid']);
stg_bilanz (0,$gutschein,Intern,"Aktive-Gutschein");
$reload2 = $reload*3600;
$new_reload = time()+$reload2;
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_SESSION['uid']."','aktivgs','".$new_reload."')");
$message = '<font color="#009f00" size="2"><div align="center">Gutschein wurde eingelöst. Dir wurden '.$gutschein.' '.$bonusname.' gutgeschrieben.</div></font>';
}

}
// einlösen ende


$sql = db_query("SELECT * FROM ".$db_prefix."_buchungen WHERE verwendungszweck LIKE 'Aktiv GS eingelöst' AND uid = ".$_SESSION['uid']." ORDER BY buchungszeit DESC LIMIT 1");
$reloaddb = mysql_fetch_array($sql);
$reload2 = $reload*3600;
if ($reloaddb['buchungszeit'] < time()-$reload2) {
$re = '';
} else {
$re = $reloaddb['buchungszeit'];
$re = 'Vielen Dank für deine Aktivität um '.date("H:i", ($re+$reload2)).' kannst du den nächsten Aktivgtutschein einlösen';

}

head("Aktivgutscheine");
if ($error) echo '<b>'.$error.'</b>';
if ($message) echo '<b>'.$message.'</b><br>';

?>

<div align="center"><br> Snippis Belohnt dich für deine Aktivität mit Aktivegutscheinen. Aktivgutscheine sind alle <?=$reload;?> Stunden einlösbar. <br>Darum bedenke od du gleich den ersten einl&ouml;sen möchtest oder lieber warten bis du die maximale Stufe erreicht hast, <br>die du erreichen möchtest.<br>
<form action="" method="post">
Gutscheincode:</b><br>
<input type="text" size="30" name="code"> <input type="submit" name="einloesen" value="Gutschein einlösen">
</div>
<center><?=$re;?></center>
<?foot();?>
<?head("Aktivgutscheine Staffelung");?>
<table width="100%" cellspacing="0" border="0" cellpadding="0">
<tr><td><b>Code</b></td><td><b>Wert</b></td><td><b>Benötigte Punkte</b></td></tr><tr><td colspan="3"><hr><hr></td></tr>
<tr><td><b><?=$code1;?></b></td><td><b><?=$bonus1;?> <?=$bonusname;?></b></td><td><b><?=$minpoints1;?></b></td></tr><tr><td colspan="3"><hr></td></tr>
<tr><td><b><?=$code2;?></b></td><td><b><?=$bonus2;?> <?=$bonusname;?></b></td><td><b><?=$minpoints2;?></b></td></tr><tr><td colspan="3"><hr></td></tr>
<tr><td><b><?=$code3;?></b></td><td><b><?=$bonus3;?> <?=$bonusname;?></b></td><td><b><?=$minpoints3;?></b></td></tr><tr><td colspan="3"><hr></td></tr>
<tr><td><b><?=$code4;?></b></td><td><b><?=$bonus4;?> <?=$bonusname;?></b></td><td><b><?=$minpoints4;?></b></td></tr><tr><td colspan="3"><hr></td></tr>
<tr><td><b><?=$code5;?></b></td><td><b><?=$bonus5;?> <?=$bonusname;?></b></td><td><b><?=$minpoints5;?></b></td></tr><tr><td colspan="3"><hr></td></tr>
<tr><td><b><?=$code6;?></b></td><td><b><?=$bonus6;?> <?=$bonusname;?></b></td><td><b><?=$minpoints6;?></b></td></tr><tr><td colspan="3"><hr></td></tr>
</table>
<?foot();
}
?>

Sledgedog
09.02.2010, 23:40
Vielen Dank
das ist genau das was ich suchte :thumb: