Skip to content
Snippets Groups Projects
functions.lib.php 9.38 KiB
Newer Older
Eric Laufer's avatar
1.1
Eric Laufer committed
<?php
// VMSone 2.5.0 Von designerscripte
header("Cache-control: no-cache");

$daten = mysqli_fetch_array(db_query("SELECT domain,seitenname,waehrung,betreibermail,cron_pw FROM ".$db_prefix."_seitenkonfig "));
// Domain (ohne Slash am Ende)
$domain = $daten['domain'];
// Seitenname
$seitenname = $daten['seitenname'];
// Seitenwährung
$waehrung = $daten['waehrung'];
// ID vom Admin
$admin_id = 1;
// Adminmail
$betreibermail = $daten['betreibermail'];
// Passwort für Crons
$cron_pw = $daten['cron_pw'];
// beliebiger Alphanumerischer String hilft beim Schutz vor Autoklickern
$percode = '551c3d4318d668cc2b00d02b40d1e6cd282817c2be65d401ed0cff2e6b';
// Komprimierung der Ausgabe zwischen 0 & 10 wobei 0 die Komprimierung der Ausgabe deaktiviert Empfohlener Wert: 1
$gzip_rate = 0;
/* Globale Variablen nichts ändern */
$ip = $_SERVER['REMOTE_ADDR'];


/**
 * 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;
}

/**
 * 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, $buchungs_id, $fuer, $waehrung, $verwendung) {
    global $db_prefix,$sql_open;
	$buchung = db_query("UPDATE " . $db_prefix . "_kontodaten SET `kontostand` = `kontostand` " . mysqli_real_escape_string($sql_open,$art) . " " . mysqli_real_escape_string($sql_open,$trans_menge) . " WHERE uid=" . mysqli_real_escape_string($sql_open,$fuer) . "");
	if($buchung == true){
		$buchung_ok = 1;
	}else{
		$buchung_ok = 2;
	}
	db_query("INSERT INTO " . $db_prefix . "_buchungen (uid,buchungszeit,buchungs_id,buchungsmenge,verwendungszweck,buchung_ok) VALUES (" . mysqli_real_escape_string($sql_open,$fuer) . "," . time() . ",'" . mysqli_real_escape_string($sql_open,$buchungs_id) . "','" . mysqli_real_escape_string($sql_open,$art.$trans_menge) . "','" . mysqli_real_escape_string($sql_open,$verwendung) . "', '". $buchung_ok ."' )");
}

/**
 * userstatus()
 *
 * @author designerscripte.net
 * @category system
 * @version 2.5.0
 * @example userstatus();
 * @return Leitet bei keinem zugriff auf die entsprechenden fehlerseiten weiter
 */
function userstatus () {
    global $_SESSION, $db_prefix;
    if ($_SESSION['login'] == 'true') {
        $us = db_query("SELECT `uid`,`passwort`,`status`,`hinweis` FROM " . $db_prefix . "_kontodaten WHERE uid=" . $_SESSION['uid'] . " and passwort='" . $_SESSION['passwort'] . "' LIMIT 1");
        $login_check = mysqli_fetch_array($us);
        // nicht aktiviert oder nicht angemeldet!
        if (!mysqli_num_rows($us) or $login_check['status'] == 0) {
            setCookie('uid', '', time() - 86400 * 30);
            setCookie('passwort', '', time() - 86400 * 30);
            setCookie('autologin', '', time() - 86400 * 30);
            $_SESSION['uid'] = "";
            $_SESSION['passwort'] = "";
            $_SESSION['login'] = "";
            @include_once('content/error/kein_zutritt.php');
            @include_once('lib/footer.php');
            die();
        }
        // 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'] = "";
            @include_once('content/error/user_gesperrt.php');
            @include_once('lib/footer.php');
            die();
        }
    }else {
        @include_once('content/error/kein_zutritt.php');
        @include_once('lib/footer.php');
        die();
    }
}

/**
 * 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) {
    global $db_prefix;
    db_query ('UPDATE ' . $db_prefix . '_werberdaten SET umsatz = umsatz + ' . $buchungssumme . ', aktivzeit=' . time() . ' WHERE uid = ' . $fuer . ' and werber != 0');
}

/**
 * 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;
    db_query("UPDATE vms_kontodaten SET eintap = eintap + ".$anzahl."/100 WHERE uid= ".$uid." LIMIT 1");
    $rallyorte=mysqli_fetch_array(db_query("SELECT welche_rallys FROM vms_rallyorte WHERE id = '".$was."' LIMIT 1"));
    $rally = db_query("SELECT * FROM `vms_rallydaten` WHERE `id` IN (".$rallyorte['welche_rallys'].") 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`)) ");
    while($rallys = mysqli_fetch_array($rally)){
        $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') db_query ("UPDATE vms_rallydaten SET gewinn_topf=gewinn_topf+'".$steigerung."' WHERE id = '".$rallys['id']."' LIMIT 1");
            if ($rallys['ende_art'] == 'punkt') db_query ("UPDATE vms_rallydaten SET ende_punkte_aktuell = ende_punkte_aktuell + '".$anzahl2."' WHERE id = ".$rallys['id']." LIMIT 1");
            db_query ("UPDATE vms_rallyuser SET punkte = punkte + '".$anzahl2."' WHERE uid = '".$_SESSION['uid']."' AND rally = '".$rallys['name']."' AND ausgezahlt < '1'");
            if (mysqli_affected_rows () == 0) db_query ("INSERT INTO vms_rallyuser (rally,uid,punkte) VALUES ('".$rallys['name']."','".$uid."','".$anzahl2."')");
        }
    }
}

/**
 * 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) {
    global $db_prefix,$sql_open;
    $ein = round($ein, 2);
    $aus = round($aus, 2);
    $date_stamp = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
    mysqli_query($sql_open,'UPDATE ' . $db_prefix . '_bilanz SET ein=ein+"' . $ein . '", aus=aus+"' . $aus . '" WHERE date=' . $date_stamp . ' LIMIT 1');
    if (mysqli_affected_rows() == 0) db_query('INSERT INTO ' . $db_prefix . '_bilanz (ein,aus,date) VALUES ("' . $ein . '","' . $aus . '",' . $date_stamp . ')');
}


// GZip
if ($gzip_rate > 0) {
    ini_set('zlib.output_compression_level', $gzip_rate);
    if (ereg("gzip", getenv("HTTP_ACCEPT_ENCODING"))) ob_start("ob_gzhandler");
    else ob_start();
}

// Datum im Facebook Stil 
function niceDate($timestamp) 
{ 
    $difference = time() - $timestamp; 
    $periods = array("Sekunde",  
                     "Minute",  
                     "Stunde",  
                     "Tage",  
                     "Woche", 
                     "Monate",  
                     "Jahre",  
                     "Jahrzehnte" 
    ); 
    $lengths = array("60","60","24","7","4.35","12","10"); 

    if ($difference > 0)   { 
        // Vergangenheit 
        $ending = "vor"; 
    } else { 
        // Zukunft 
        $difference = -$difference; 
        $ending = "noch";   } 

    for($j = 0; $difference >= $lengths[$j]; $j++)  { 
        $difference /= $lengths[$j]; 
        $difference = round($difference);  } 
     
    if($difference != 1)  { 
        $periods[$j].= "n"; } 
    else { 
        if($periods[$j] == "Woche" || $periods[$j] == "Stunde" || $periods[$j] == "Minute" || $periods[$j] == "Sekunde") { 
            $periods[$j] = $periods[$j]; 
        } else { 
            $periods[$j] = substr($periods[$j], 0, -1); } 
    } 
     
    $date= "$ending $difference $periods[$j]"; 
     
    return $date; 
}

//Text kürzen
function shortText($string,$lenght) {
    if(strlen($string) > $lenght) {
        $string = substr($string,0,$lenght)."...";
        $string_ende = strrchr($string, " ");
        $string = str_replace($string_ende,"  ", $string);
    }
    return $string;
}

//Alter berechnen
function ageCalculator( $day, $month, $year ) {
    
    if ( !checkdate($month, $day, $year) )
        return false;
        
    $cur_day = date("d");
    $cur_month = date("m");
    $cur_year = date("Y");

    $calc_year = $cur_year - $year;
    
    if( $month > $cur_month )
        return $calc_year - 1;
    elseif ( $month == $cur_month && $day > $cur_day )
        return $calc_year - 1;
     else
        return $calc_year;

isaack's avatar
isaack committed
}  

function sonderzeichen($text){
	if(preg_match('#[!"§$%&/()=?`\']#', $text)){
		$err = true;
	}else{
		$err = false;
	}
	return $err;
}
Eric Laufer's avatar
1.1
Eric Laufer committed
?>