Skip to content
Snippets Groups Projects
functions.lib.php 9.97 KiB
Newer Older
Eric Laufer's avatar
1.1
Eric Laufer committed
<?php
Eric Laufer's avatar
Eric Laufer committed
error_reporting(E_ALL);
	ini_set('display_errors', 'On');
	ini_set('error_log', '/home/isaack/vms_suee/error/error-'. date("d.m.Y",time()).'.log');
	ini_set('log_errors', 'On');
	if(!file_exists('/home/isaack/vms_suee/error/error-'. date("d.m.Y",time()).'.log')){
		$datei = fopen('/home/isaack/vms_suee/error/error-'. date("d.m.Y",time()).'.log',"w");
		fwrite($datei, " ",100);
		fclose($datei);
	}


	
$ip = $_SERVER['REMOTE_ADDR'];
Eric Laufer's avatar
Eric Laufer committed
	function pw_erstellen($pw){
		global $pw_zusatz;
		$pw_er = hash("sha256",$pw.$pw_zusatz);
		return $pw_er;
	}
Eric Laufer's avatar
1.1
Eric Laufer committed
/**
 * 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;
}
Eric Laufer's avatar
Eric Laufer committed

function ReloadDelete(){
	global $datenbank;
	$datenbank->delete(PREFIX . RELOAD, array("bis" => "<".time() ) );
}

Eric Laufer's avatar
Eric Laufer committed
class KONTOBUCHUNG {
Eric Laufer's avatar
Eric Laufer committed
	private $db;
Eric Laufer's avatar
Eric Laufer committed
	private $uid;
	
Eric Laufer's avatar
Eric Laufer committed
	function __construct(){
		global $datenbank;
		$this->db = $datenbank;
	}
	
Eric Laufer's avatar
Eric Laufer committed
	public function kontostand($konto){
Eric Laufer's avatar
Eric Laufer committed
		$kontos = $this->db->get_row("SELECT kontostand_a,kontostand_b FROM ". PREFIX . KONTO . " WHERE uid = '". $this->db->escape($this->uid) ."' ");
Eric Laufer's avatar
Eric Laufer committed
		if($konto == 'kontostand'){
			return $kontos->kontostand_a;
		}else{
			return $kontos->kontostand_b;
		}
	}
	
	function kontobuchung_a ($art, $trans_menge, $buchungs_id, $fuer, $verwendung) {
		$konto = $this->kontostand('kontostand');
Eric Laufer's avatar
Eric Laufer committed
		$buchung = $this->db->update(
Eric Laufer's avatar
Eric Laufer committed
						PREFIX . KONTO,
Eric Laufer's avatar
Eric Laufer committed
						array("kontostand_a" => "kontostand_a".$art.$trans_menge),
Eric Laufer's avatar
Eric Laufer committed
						array("uid" => $fuer),
						1
						);
		if($buchung == true){
			$buchung_ok = 1;
		}else{
			$buchung_ok = 2;
		}
Eric Laufer's avatar
Eric Laufer committed
		$this->db->insert(
Eric Laufer's avatar
Eric Laufer committed
							PREFIX . BUCH ,
							array(	"uid" => $fuer,
									"buchungszeit" => time(),
									"buchungs_id" => $buchungs_id,
									"buchungsmenge" => $art.$trans_menge,
									"verwendungszweck" => $verwendung,
									"buchung_ok" => $buchung_ok
									)
						);
	}
	
	function kontobuchung_b(){
		$konto = $this->kontostand('kontostand_b');
Eric Laufer's avatar
Eric Laufer committed
		$buchung = $this->db->update(
Eric Laufer's avatar
Eric Laufer committed
						PREFIX . KONTO,
Eric Laufer's avatar
Eric Laufer committed
						array("kontostand_b" => "kontostand_b".$art.$trans_menge),
Eric Laufer's avatar
Eric Laufer committed
						array("uid" => $fuer),
Eric Laufer's avatar
Eric Laufer committed
						1,
						true
Eric Laufer's avatar
Eric Laufer committed
						);
		if($buchung == true){
			$buchung_ok = 1;
		}else{
			$buchung_ok = 2;
		}
Eric Laufer's avatar
Eric Laufer committed
		$this->db->insert(
Eric Laufer's avatar
Eric Laufer committed
							PREFIX . BUCH_B ,
							array(	"uid" => $fuer,
									"buchungszeit" => time(),
									"buchungs_id" => $buchungs_id,
									"buchungsmenge" => $art.$trans_menge,
									"verwendungszweck" => $verwendung,
									"buchung_ok" => $buchung_ok
									)
						);
Eric Laufer's avatar
1.1
Eric Laufer committed
	}
}

Eric Laufer's avatar
Eric Laufer committed
function refumsatz ($summe, $uid) {
    global $datenbank;
    $user = $datenbank->get_row("SELECT umsatz FROM ". PREFIX . WERBER ." WHERE uid = '". $datenbank->escape($uid) ."' ");
    $datenbank->update(
Eric Laufer's avatar
Eric Laufer committed
					PREFIX . WERBER ,
Eric Laufer's avatar
Eric Laufer committed
					array(	"umsatz" => $user->umsatz + $summe,
							"aktivzeit" => time()
					),
					array(
							"uid" => $datenbank->escape($uid),
							"werber" => " != 0"
					),
					1
					);
Eric Laufer's avatar
1.1
Eric Laufer 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;
    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."')");
        }
    }
}

// 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;
}
isaack's avatar
isaack committed

function check_email($email) {
Eric Laufer's avatar
Eric Laufer committed
    if(!filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
isaack's avatar
isaack committed
        return false;
    }
    $email_array = explode("@", $email);
    $local_array = explode(".", $email_array[0]);
    for ($i = 0; $i < sizeof($local_array); $i++) {
        if(!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
            return false;
        }
    }
    if(!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
        $domain_array = explode(".", $email_array[1]);
        if(sizeof($domain_array) < 2) {
            return false;
        }
        for($i = 0; $i < sizeof($domain_array); $i++) {
            if(!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
                return false;
            }
        }
    }
    return true;
}  

function geoIP($ip){
	$output = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=".$ip,"r"));
	return $output['geoplugin_countryCode'];
}

function versch($text){
	global $ver_schluessel;
	$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
    $crypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $ver_schluessel, $text, MCRYPT_MODE_ECB, $iv);
	return $crypted;
}

function entsch($text){
	global $ver_schluessel;
	$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); 
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); 
	$encrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $ver_schluessel, $text, MCRYPT_MODE_ECB, $iv);
	return $encrypted;
}
Eric Laufer's avatar
Eric Laufer committed
function meldung($zahl,$text){
	global $error,$meldung;
	$error = $zahl;
	$meldung = $text;
isaack's avatar
isaack committed
function userinfo($uid){
Eric Laufer's avatar
Eric Laufer committed
	global $datenbank;
	$uid = $datenbank->escape($uid);
isaack's avatar
isaack committed
	if(!is_numeric($uid)){ $uid = 0;}
Eric Laufer's avatar
Eric Laufer committed
	$user = $datenbank->get_row("
isaack's avatar
isaack committed
	SELECT
Eric Laufer's avatar
Eric Laufer committed
	".PREFIX . USER .".*,
	".PREFIX . KONTO .".*,
	".PREFIX . WERBER .".*,
	".PREFIX . NICKP.".*
	FROM ". PREFIX . USER ."
	LEFT JOIN ". PREFIX . KONTO ." ON(". PREFIX . USER .".uid = ". PREFIX . KONTO .".uid)
	LEFT JOIN ".PREFIX. WERBER ." ON(". PREFIX . KONTO .".uid = ". PREFIX . WERBER .".uid)
	LEFT JOIN ".PREFIX . NICKP ." ON(". PREFIX . WERBER .".uid = ". PREFIX . NICKP .".uid)
Eric Laufer's avatar
Eric Laufer committed
	WHERE ".PREFIX . USER .".uid= ".$uid." ",true);
isaack's avatar
isaack committed
	return $user;
}

Eric Laufer's avatar
Eric Laufer committed
function Classloader($class,$admin = false){
	if(file_exists('lib/class/'.$class .'.class.php')){
		require_once('lib/class/'.$class .'.class.php');
		$reg = new $class;
	}else{
		$reg = 'error';
	}
	return $reg;
}

function sectodays($secs) {
    $days = intval($secs / (60 * 60 * 24));
    $secs = $secs % (60 * 60 * 24);
    $hours = intval($secs / (60 * 60));
    $secs = $secs % (60 * 60);
    $mins = intval($secs / 60);
    $secs = $secs % 60;
    return 'noch ' . $days . ' Tage, ' . $hours . ' Std. und ' . $mins . ' Min.';
}
Eric Laufer's avatar
1.1
Eric Laufer committed
?>