<?php function pw_erstellen($pw){ global $pw_zusatz; $pw_er = hash("sha256",$pw.$pw_zusatz); return $pw_er; } // Komprimierung der Ausgabe zwischen 0 & 10 wobei 0 die Komprimierung der Ausgabe deaktiviert Empfohlener Wert: 1 $gzip_rate = 0; /** * 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; } class KONTOBUCHUNG { private $uid; public function kontostand($konto){ $kontos = $datenbank->get_row("SELECT kontostand_a,kontostand_b FROM ". PREFIX . KONTO . " WHERE uid = '". $datenbank->escape($this->uid) ."' "); if($konto == 'kontostand'){ return $kontos->kontostand_a; }else{ return $kontos->kontostand_b; } } function kontobuchung_a ($art, $trans_menge, $buchungs_id, $fuer, $verwendung) { global $datenbank; $konto = $this->kontostand('kontostand'); if($art == '+'){$kontost = $konto + $trans_menge;}else{ $kontost = $konto - $trans_menge;} $buchung = $datenbank->update( PREFIX . KONTO, array("kontostand_a" => $kontost), array("uid" => $fuer), 1 ); if($buchung == true){ $buchung_ok = 1; }else{ $buchung_ok = 2; } $datenbank->insert( PREFIX . BUCH , array( "uid" => $fuer, "buchungszeit" => time(), "buchungs_id" => $buchungs_id, "buchungsmenge" => $art.$trans_menge, "verwendungszweck" => $verwendung, "buchung_ok" => $buchung_ok ) ); } function kontobuchung_b(){ global $datenbank; $konto = $this->kontostand('kontostand_b'); if($art == '+'){$kontost = $konto + $trans_menge;}else{ $kontost = $konto - $trans_menge;} $buchung = $datenbank->update( PREFIX . KONTO, array("kontostand_b" => $kontost), array("uid" => $fuer), 1 ); if($buchung == true){ $buchung_ok = 1; }else{ $buchung_ok = 2; } $datenbank->insert( PREFIX . BUCH_B , array( "uid" => $fuer, "buchungszeit" => time(), "buchungs_id" => $buchungs_id, "buchungsmenge" => $art.$trans_menge, "verwendungszweck" => $verwendung, "buchung_ok" => $buchung_ok ) ); } } function refumsatz ($summe, $uid) { global $datenbank; $user = $datenbank->get_row("SELECT umsatz FROM ". PREFIX . WERBER ." WHERE uid = '". $datenbank->escape($uid) ."' "); $datenbank->update( PREFIX . KONTO , array( "umsatz" => $user->umsatz + $summe, "aktivzeit" => time() ), array( "uid" => $datenbank->escape($uid), "werber" => " != 0" ), 1 ); } /** * 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 vms1-scripte.de * @category system * @example bilanz(100,0,Spiele,Slotname); * @param number $ein einnahme * @param number $aus ausgabe * @param number $gruppe Die Gruppe in die die Bilanz fallen soll * @param number $was Der Name der in der Gruppe angezeigt werden soll * @return keine */ function bilanz ($ein,$aus,$gruppe,$name) { global $db_prefix,$sql_open; if(empty($ein)){ $ein = 0;} if(empty($aus)){ $aus = 0;} $datum = mktime(0,0,0,date("m",time()),date("d",time()),date("Y",time())); $ab = db_query("SELECT id FROM ". $db_prefix ."_bilanz WHERE datum = '". $datum ."' AND name = '". $name ."' "); if(mysqli_num_rows($ab) == 0){ db_query("INSERT INTO ". $db_prefix ."_bilanz (ein,aus,datum,gruppe,name) VALUES ('". $ein ."', '". $aus ."', '". $datum ."', '". $gruppe ."', '". $name ."') "); }else{ $id = mysqli_fetch_array($ab); db_query("UPDATE ". $db_prefix ."_bilanz SET aus = aus+". $aus .", ein = ein+". $ein ." WHERE id = '". $id['id'] ."' "); } echo mysqli_error($sql_open); } // 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; } function sonderzeichen($text){ if(preg_match('#[!"§$%&/()=?`\']#', $text)){ $err = true; }else{ $err = false; } return $err; } function check_email($email) { if(!filter_var($email_a, FILTER_VALIDATE_EMAIL)) { 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; } function meldung($error,$meldung){ $meldung = array("error" => $error, "meldung" => $meldung); return $meldung; } function userinfo($uid){ global $datenbank; $uid = $datenbank->escape($uid); if(!is_numeric($uid)){ $uid = 0;} $user = $datenbank->get_row(" SELECT ".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) WHERE ".PREFIX . USER .".uid= ".$uid.";",true); return $user; } ?>