Code:
	<?php
userstatus();
function generate_hash($seed) {
    $key = md5(str_rot13(md5($seed)));
    $hash = substr($key,0,3) . "-";
    $hash.= substr($key,4,3) . "-";
    $hash.= substr($key,22,3) . "-";
    $hash.= substr($key,6,3) . "-";
    $hash.= substr($key,9,3);
    return(strtoupper($hash));
}
if(isset($_POST["delete"])) {
    $gg = 0;
    $sql = 'DELETE FROM `' . $db_prefix . '_refkeys` WHERE ';
    foreach($_POST["delete"] as $data) {
        $sqlr = 'SELECT * FROM `' . $db_prefix . '_refkeys` WHERE `id` = ' . @(int)$data . ' AND `user` = ' . $_SESSION["uid"] . ' LIMIT 1';
        $erg = db_query($sqlr);
        if(mysql_num_rows($erg) > 0) {
            $gs = mysql_fetch_object($erg);
            if($gs->permanent == 0 AND $gs->bonus > 0 AND $gs->ref == 0) {
                $buchungs_id = create_code(14);
                db_query('UPDATE `' . $db_prefix . '_kontodaten` SET `kontostand` = `kontostand` + ' . $gs->bonus . '  WHERE `uid` = ' . $_SESSION['uid'] . ' LIMIT 1');
                buchungsliste($buchungs_id,$gs->bonus,"Ref-Gutschein gelöscht",$_SESSION['uid']);
            }
            if($gg == 0) {
                $gg = 1;
            }else{
                $sql .= ' OR ';
            }
            $sql .= '`id` = ' . $data;
        }
    }
    db_query($sql);
    head("Info");
    ?>
    Die ausgewählten Ref-Gutscheine wurden gelöscht.<br>
    Eventuell erhaltene Refs werden davon nicht beeinflusst.<br>
    <br>
    <a href="?content=/konto/refgutschein">Zurück</a>
    <?php
    foot();
}elseif(isset($_POST["bonus"]) AND isset($_POST["custom_code"])) {
    $permanent = 0;
    $code = "";
    if(isset($_POST["permanent"])) {
        $permanent = 1;
    }
    if(strlen($_POST["custom_code"])) {
        $code = $_POST["custom_code"];
        if(preg_match("/[a-zA-Z0-9_-]*/",$code) !== 1 OR @(int)mysql_num_rows(@db_query('SELECT * FROM `' . $db_prefix . '_refkeys` WHERE `key` = \'' . mysql_real_escape_string($code) . '\' LIMIT 1')) > 0) {
            $code = generate_hash(microtime() . time());
        }
    }else{
        $code = generate_hash(microtime() . time());
    }
    $bonus = intval($_POST["bonus"]);
    if($bonus == "NaN") {
        $bonus = 0;
    }
    if($bonus < 0) {
        $bonus = 0;
    }
    $can = true;
    if($bonus > 0) {
        $sql = 'SELECT * FROM `' . $db_prefix . '_kontodaten` WHERE `uid` = ' . $_SESSION["uid"] . ' LIMIT 1';
        $erg = db_query($sql);
        $usr = mysql_fetch_object($erg);
        if($usr->kontostand >= $bonus) {
            $buchungs_id = create_code(14);
            db_query('UPDATE `' . $db_prefix . '_kontodaten` SET `kontostand` = `kontostand` - ' . $bonus . '  WHERE `uid` = ' . $_SESSION['uid'] . ' LIMIT 1');
            buchungsliste($buchungs_id,0 - $bonus,"Gutscheinerstellung",$_SESSION['uid']);
            $can = true;
        }else{
            $can = false;
        }
    }
    if($can == true) {
        $sql = 'INSERT INTO `' . $db_prefix . '_refkeys` (`id`, `key`, `user`, `bonus`, `ref`, `permanent`) VALUES (NULL, \'' . mysql_real_escape_string($code) . '\', ' . $_SESSION["uid"] . ', ' . $bonus . ', 0, ' . $permanent . ')';
        $res = db_query($sql);
        head("Info");
            ?>Es wurde ein neuer Ref-Gutschein erzeugt. Sollte ein eigener Gutschein-Code angegeben worden sein, welcher entweder schon verwendet wurde oder ungültig ist, wurde dieser mit einem zufälligem Code ersetzt.<br>
            <br>
            <a href="?content=/konto/refgutschein">Zurück</a><?php
        foot();
    }else{
        head("Fehler");
            ?>Dein Guthaben reicht nicht aus, um diesen Gutschein zu erstellen.<br>
            <br>
            <a href="?content=/konto/refgutschein">Zurück</a><?php
        foot();
    }
}else{
head("Deine Ref-Gutscheine");
$sql = 'SELECT * FROM `' . $db_prefix . '_refkeys` WHERE `user` = ' . @(int)$_SESSION["uid"] . ' ORDER BY `id` DESC';
$erg = db_query($sql);
if(mysql_num_rows($erg) > 0) {
    ?>
    <form action="?content=/konto/refgutschein" method="post">
    <?php
    while($eintrag = mysql_fetch_object($erg)) {
        ?>
        <div style="margin:3px;border:1px solid gray;padding:4px;"><input id="k<?php echo $eintrag->id;?>" type="checkbox" name="delete[]" value="<?php echo $eintrag->id;?>"></input>
            <label for="k<?php echo $eintrag->id;?>">
            Code:
            </label>
            <input onClick="this.select(0,19)" style="width:128px;text-align:center;background:transparent;color:black;border:0px;font-family:Courier new;font-size:10px;border-bottom:1px solid gray;" type="text" readonly value="<?php echo $eintrag->key;?>"></input><br>
            <label for="k<?php echo $eintrag->id;?>" style="display:block;margin-left:24px;">
            Losegutschrift: <?php echo number_format($eintrag->bonus,2,",",".");?> Klammlose<br>
            Permanent: <?php
            if($eintrag->permanent == 1) {
                echo "Ja";
                  ?> - Verwendet: <b><?php echo number_format($eintrag->ref,0,",",".");?></b> mal<?php
            }else{
                echo "Nein";
                  ?> - Verbraucht: <b><?php
                     if($eintrag->ref == 0) {
                        ?><span style="color:green;">Nein</span><?php
                     }else{
                         $ref = mysql_fetch_object(db_query('SELECT * FROM `' . $db_prefix . '_userdaten` WHERE `uid` = ' . $eintrag->ref . ' LIMIT 1'));
                        ?><a href="?content=/nickpage&nick=<?php echo urlencode($ref->nickname);?>"><span style="color:red;"><?php echo $ref->nickname;?> (<?php echo $ref->uid;?>)</span></a><?php
                     }
                  ?></b><?php
            }
            ?>
            </label>
        </div>
        <?php
    }
    ?>
    <br>
    <div style="text-align:right;" align="right">
    <input type="submit" value="Ausgewählte Einträge löschen"></input><br>
    </div>
    Das Löschen der ausgewählten Einträge hat keinen Effekt auf bereits durch die Gutscheine erhaltenen Ref's.<br>
    <b>Es erfolgt keine weitere Abfrage!</b>
    </form>
    <?php
}else{
    ?><center>
        Du besitzt noch keine Ref-Gutscheine.<br>
        Im unteren Formular kannst du dir einen
        Ref-Gutschein erzeugen lassen.
    </center><?php
}
foot();
head("Ref-Gutschein erzeugen");
    ?>
    <form action="?content=/konto/refgutschein" method="POST">
        Hier kannst du dir einen Ref-Gutschein erzeugen lassen. Dieser kann von neuen
        Mitgliedern angegeben werden, um einen Bonus bei der Neuanmeldung zu erhalten.
        Gibt ein neues Mitglied einen deiner Gutscheine bei der Registrierung an, wird
        dieser automatisch als dein Ref eingetragen.<br>
        <br>
        <b>Losegutschrift:</b><br>
        <input style="text-align:right;font-family:Courier New;background:white;color:black;font-size:12px;border:0px;border-bottom:1px solid gray;" pattern="[0-9]*" type="number" value="0" name="bonus"></input> <label for="bonus">Klammlose</label><br>
        Hier kannst du einen frei wählbaren, positiven Betrag angeben, welcher einem
        neuem Mitglied, welcher deinen Gutscheincode angibt, als Anmeldebonus
        gutgeschrieben wird. Der Betrag wird, insofern genügend Guthaben vorhanden ist,
        direkt von deinem Konto abgebucht und "aufgespart". Beim Löschen des unbenutzten
        Gutscheines wird der Betrag wieder zurückgebucht. Sollte dein Guthaben nicht
        ausreichen, wird kein Gutschein erzeugt. Ein Permanent-Gutschein bucht erst dann
        von deinem Konto die Gutschrift ab, wenn sich ein neues Mitglied mittels des Gutscheins
        hier anmeldet.<br>
        <br>
        <b>Persöhnlicher Code:</b><br>
        <input style="text-align:right;font-family:Courier New;background:white;color:black;font-size:12px;border:0px;border-bottom:1px solid gray;" pattern="[a-zA-Z0-9_-]*" type="text" value="" name="custom_code" maxlength="19"></input><br>
        Du kannst hier einen beliebigen, maximal 19 Zeichen langen Text eingeben,
        welcher als Gutscheincode verteilt werden kann. Gibst du keinen Code an,
        wird ein zufälliger, 19-Zeichen langer Code generiert. Wird der Code bereits
        verwendet oder ist ungültig, wird automatisch ein zufälliger Code generiert.<br>
        Erlaubte Zeichen: Buchstaben (A bis Z, a bis z), Zahlen (0 bis 9), Unterstrich (_) und Bindestrich (-)<br>
        <br>
        <input type="checkbox" name="permanent" id="dauergutschein"></input> <label for="dauergutschein">Dauergutschein</label><br>
        Soll der Gutschein permanent gültig sein? D. H., dass der Gutschein nach
        einmaliger Verwendung nicht verfällt und von anderen Usern weiterhin nutzbar
        ist.<br>
        Die Wirkung des Gutscheins hält jedoch nur solange an, wie auch genug Lose
        auf ihrem Konto für die Losegutschrift vorhanden sind. Sobald die
        Losegutschrift nicht ausgeglichen werden kann, verfällt der Effekt des
        Gutscheines und der User kann diesen nicht mehr einlösen.<br>
        <br>
        <input type="submit" value="Ref-Gutschein-Code erzeugen."></input>
    </form>
    <?
foot();
}
head("Copyright")
?>
<div style="text-align:center;" align="center">
    Copyright by <a href="http://www.klamm.de/user/JuliusCaesarIV">JuliusCaesarIV (348575)</a>
</div>
<?php
foot();
?>