Skip to content
Snippets Groups Projects
functions.lib.php 7.47 KiB
Newer Older
Joel Kuder's avatar
Joel Kuder committed
<?php

/**
 * create_code()
 *
 * @author designerscripte.net
 * @category system
 * @version 2.5.0
 * @example create_code(32);
 * @param mixed $code_laenge Gewünschte stringlänge
 * @return DECIMALE z.b. 6565556
 */
function create_code($code_laenge) {
    srand((double)microtime() * 1000000);
    $created_code = '';
    $zeichen = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
    for ($i = 0;$i < $code_laenge;$i++) {
        $n = rand() % strlen($zeichen);
        $created_code .= substr($zeichen, $n, 1);
    }
    return $created_code;
}

/**
 * buchungsliste()
 *
 * @author designerscripte.net
 * @category system user
 * @version 2.5.0
 * @example buchungsliste('215456','10000','einzahlung',27);
 * @param mixed $buchungs_id Numerischer String als Buchungsid
 * @param mixed $trans_menge Numerischer wert
 * @param mixed $verwendung  Alphanumerischer String als Buchungstect
 * @param int $fuer Userid
 * @return keine
 */
function buchungsliste ($buchungs_id, $trans_menge, $verwendung, $fuer) {
Joel Kuder's avatar
Joel Kuder committed
    $sql = sql::$db->prepare ("INSERT INTO `" . _VMS_ . "_buchungen` (`uid`,`buchungszeit`,`buchungs_id`,`buchungsmenge`,`verwendungszweck`) VALUES (?,?,?,?,?)");
    $sql ->execute( array( $fuer, time(), $buchungs_id, $trans_menge, $verwendung));
    return $sql;
Joel Kuder's avatar
Joel Kuder committed
}

/**
 * kontobuchung()
 *
 * @author designerscripte.net
 * @category system user
 * @version 2.5.0
 * @example kontobuchung('+',100000,10);
 * @param mixed $art '+' oder '-'
 * @param mixed $trans_menge Numerischer wert
 * @param int $fuer Userid
 * @return keine
 */
function kontobuchung ($art, $trans_menge, $fuer) {
Joel Kuder's avatar
Joel Kuder committed
    if('+' !== $art) $art = '-';
    $sql = sql::$db->prepare ("UPDATE `" . _VMS_ . "_kontodaten` SET `kontostand` = `kontostand` " . $art . " ?  WHERE `uid` = ? ");
    $sql ->execute( array( $trans_menge, $fuer));
    return $sql;
Joel Kuder's avatar
Joel Kuder committed
}

/**
 * userstatus()
 *
 * @author designerscripte.net
 * @category system
 * @version 2.5.0
 * @example userstatus();
 * @return Leitet bei keinem zugriff auf die entsprechenden fehlerseiten weiter
 */
function userstatus () {
Joel Kuder's avatar
Joel Kuder committed
    global $_SESSION, $system;
Joel Kuder's avatar
Joel Kuder committed
    if ($_SESSION['login'] == 'true') {
Joel Kuder's avatar
Joel Kuder committed
        $sql = sql::$db->prepare ("SELECT `uid`,`passwort`,`status`,`hinweis` FROM `" . _VMS_ . "_kontodaten` WHERE `uid` = ? AND `passwort` = ? LIMIT 1");
        $sql -> execute (array($_SESSION['uid'], $_SESSION['passwort']));
        $login_check = $sql -> fetch();
Joel Kuder's avatar
Joel Kuder committed
        // nicht aktiviert oder nicht angemeldet!
Joel Kuder's avatar
Joel Kuder committed
        if (!$sql -> rowCount() or $login_check['status'] == 0) {
Joel Kuder's avatar
Joel Kuder committed
            setCookie('uid', '', time() - 86400 * 30);
            setCookie('passwort', '', time() - 86400 * 30);
            setCookie('autologin', '', time() - 86400 * 30);
            $_SESSION['uid'] = "";
            $_SESSION['passwort'] = "";
            $_SESSION['login'] = "";
Joel Kuder's avatar
Joel Kuder committed
            header ("location: " . $system['domain'] . '/content/error/kein_zutritt');
            die('foo');
Joel Kuder's avatar
Joel Kuder committed
        }
        // gesperrt
        if ($login_check['status'] == 2) {
            setCookie('uid', '', time() - 86400 * 30);
            setCookie('passwort', '', time() - 86400 * 30);
            setCookie('autologin', '', time() - 86400 * 30);
            $_SESSION['uid'] = "";
            $_SESSION['passwort'] = "";
            $_SESSION['login'] = "";
Joel Kuder's avatar
Joel Kuder committed
            include_once('content/error/user_gesperrt.php');
            include_once('lib/footer.php');
Joel Kuder's avatar
Joel Kuder committed
            die();
        }
    }else {
Joel Kuder's avatar
Joel Kuder committed
        include_once('content/error/kein_zutritt.php');
        include_once('lib/footer.php');
Joel Kuder's avatar
Joel Kuder committed
        die();
    }
Joel Kuder's avatar
Joel Kuder committed
    return true;
Joel Kuder's avatar
Joel Kuder committed
}

/**
 * refumsatz()
 *
 * @author designerscripte.net
 * @category system user
 * @version 2.5.0
 * @example refumsatz(100000,10);
 * @param mixed $buchungssumme transaktionssumme
 * @param unt $fuer Userid
 * @return keine
 */
function refumsatz ($buchungssumme, $fuer) {
Joel Kuder's avatar
Joel Kuder committed
    $sql = sql::$db->prepare ('UPDATE `' . _VMS_ . '_werberdaten` SET `umsatz` = `umsatz` + ?, `aktivzeit` = ? WHERE `uid` = ? and `werber` != 0');
    $sql ->execute( array( $buchungssumme, time(), $fuer));
    return $sql;
Joel Kuder's avatar
Joel Kuder committed
}

/**
 * rallysystem()
 *
 * @author designerscripte.net
 * @category system rally
 * @version 2.5.0
 * @example rallysystem(10,1,10000);
 * @param int $uid userid
 * @param int $was rallynummer (1 für forcedbanner z.b.)
 * @param mixed $anzahl wert Numerischer string
 * @return keine
 */
function rallysystem ($uid,$was,$anzahl) {
    global $time;
Joel Kuder's avatar
Joel Kuder committed
    $anzahl = round($anzahl/100);
    //sql::$db->prepare ("UPDATE `vms_kontodaten` SET `eintap` = `eintap` + ? WHERE `uid` = ? LIMIT 1") -> execute(array($anzahl,$uid));
    $sql = sql::$db->prepare ("SELECT * FROM `" . _VMS_ . "_rallydaten` WHERE `id` IN (( SELECT `welche_rallys` FROM `" . _VMS_ . "_rallyorte` WHERE `id` = ? LIMIT 1 )) AND `status` = 'aktive' AND `start` <= UNIX_TIMESTAMP() AND ((`ende_art` = 'zeit' AND `ende_zeit` > UNIX_TIMESTAMP()) OR (`ende_art` = 'punkt' AND `ende_punkte` > `ende_punkte_aktuell`)) ");
Joel Kuder's avatar
Joel Kuder committed
    $sql->execute(array($was));
    while($rallys = $sql->fetch()){
Joel Kuder's avatar
Joel Kuder committed
        $gesperrt = explode(',',$rallys['sperruser']);
        if (!in_array($uid, $gesperrt)) {
            $anzahl2 = $anzahl.$rallys['ende_punkte_anzahl'];
            eval("\$anzahl2 = $anzahl2;");
            $steigerung = $anzahl.$rallys['gewinn_dyn_steigerung'];
            eval("\$steigerung = $steigerung;");
            if ($rallys['gewinn_art'] == 'dynamisch') sql::$db->prepare ("UPDATE `" . _VMS_ . "_rallydaten` SET `gewinn_topf` = `gewinn_topf` + ? WHERE `id` = ? LIMIT 1")-> execute(array($steigerung,$rallys['id']));
            if ($rallys['ende_art'] == 'punkt') sql::$db->prepare ("UPDATE `" . _VMS_ . "_rallydaten` SET `ende_punkte_aktuell` = `ende_punkte_aktuell` + ? WHERE `id` = ? LIMIT 1")-> execute(array($anzahl2,$rallys['id']));
            $sqlu = sql::$db->prepare ("UPDATE `" . _VMS_ . "_rallyuser` SET `punkte` = `punkte` + ? WHERE `uid` = ? AND `rally` = ? AND `ausgezahlt` < '1'")-> execute(array($anzahl2,$_SESSION['uid'],$rallys['name']));
            if (0 == $sqlu -> rowCount()) sql::$db->prepare ("INSERT INTO `" . _VMS_ . "_rallyuser` (`rally`,`uid`,`punkte`) VALUES (?, ?, ?)")-> execute(array($rallys['name'], $uid, $anzahl2));
Joel Kuder's avatar
Joel Kuder committed
        }
    }
}

/**
 * bilanz()
 *
 * @author designerscripte.net
 * @category system
 * @version 2.5.0
 * @example bilanz(100,0);
 * @param number $ein einnahme
 * @param number $aus ausgabe
 * @return keine
 */
function bilanz ($ein, $aus) {
    $ein = round($ein, 2);
    $aus = round($aus, 2);
    $date_stamp = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
    $sql = sql::$db->prepare("UPDATE " . _VMS_ . "_bilanz SET `ein` = `ein` + ? , `aus` = `aus` + ? WHERE `date` = ? LIMIT 1");
Joel Kuder's avatar
Joel Kuder committed
    $sql -> execute( array( $ein, $aus, $date_stamp));
    if ($sql ->rowCount() == 0) {
    $sql = sql::$db->prepare("INSERT INTO " . _VMS_ . "_bilanz (ein,aus,date) VALUES (?,?,?)");
    $sql->execute( array( $ein, $aus, $date_stamp));
    }
Joel Kuder's avatar
Joel Kuder committed
    return $sql;
}

/**
 * is_admin()
 *
 * @author designerscripte.net
 * @category system
 * @version 2.5.0
 * @example is_admin();
 * @return returnt true oder false je nach adminstatus
 */
function is_admin () {
    global $_SESSION;
    if (isset($_SESSION['admin']) AND $_SESSION['admin'] == 1) {
        return true;
    }
    return false;
Joel Kuder's avatar
Joel Kuder committed
/**
 * is_user()
 *
 * @author designerscripte.net
 * @category system
 * @version 2.5.0
 * @example is_user();
 * @return returnt true oder false je nach login status
 */
function is_user () {
    global $_SESSION;
    if (isset($_SESSION['login']) AND $_SESSION['login'] == 'true') {
        return true;
    }else{
        return false;
    }