<?php
//******************************************************************//
// |     MAP - Mumb1e Admin Plugin   |   http://www.mumb1e.de/    | //    
// |              ___      ___   _________   _________            | //
// |             |   \    /   | |   ___   | |   ___   |           | //
// |             |    \__/    | |  |   |  | |  |   |  |           | //
// |             |  |\    /|  | |  |___|  | |  |___|  |           | //
// |             |  | \__/ |  | |   ___   | |   ______|           | //
// |             |  |      |  | |  |   |  | |  |                  | //
// |             |__|      |__| |__|   |__| |__|                  | //
// |                                                              | //
// | --- VERSION ---                                              | //
// | Build: 419                                                   | //
// | Version: V2.3.1                                              | //
// | Date: 2010-05-30                                             | //
// | --- COPYRIGTH ---                                            | //
// | Build by P.M. and M.H. | Accept the Copyrigths!              | //
// | © by Michael Koch 'aka' P.M. <princemichi@web.de>            | //
// | --- LICENSE ---                                              | //
// | MAP - Mumb1e Admin Plugin is a dual-licensed software        | //
// | MAP is released for private end-users under GPLv3            | //
// |   >>  (visit at: http://www.gnu.org/licenses/gpl-3.0.html)   | //
// | MAP is released for commercial use under a commerial license | //
// |   >>  (visit at: http://www.mumb1e.de/index.php/en/license)  | //
// | --- ATTENTION ---                                            | //
// | Changing, editing or spreading of this sourcecode in other   | //
// | scripts, or on other websites only with permission by PM!    | //
//******************************************************************//
//************************************************************************************************//
// **START**  Setzt die PHP Parse Time um am Ende des Scripts zu messen wie lange der script gearbeitet hat
//************************************************************************************************//
$php_parse_time_start = time()+(double)microtime();
//************************************************************************************************//
// **START**  Setzt die PHP Parse Time um am Ende des Scripts zu messen wie lange der script gearbeitet hat
//************************************************************************************************//
//************************************************************************************************//
// **START**  Deklariert wichtige globale Einstellungen !!!NICHT ÄNDERN!!!
//************************************************************************************************//
include('../inc/_mysql.php');
include('../inc/db_connect.php');
include('../inc/config.php');
include('../inc/_lang/'.$lang.'.php');
//************************************************************************************************//
// **ENDE**  Deklariert wichtige globale Einstellungen !!!NICHT ÄNDERN!!!
//************************************************************************************************//
//************************************************************************************************//
// **START**  Mumblespezifische Scriptvorbereitung
//************************************************************************************************//
//Datumsgeneration
$year = date("Y");
$month = date("m");
$day = date("d");
$hour = date("H");
$minutes = date("i");
$seconds = date("s");
//Blanke Datumsausgabe
$aktdate = "$year-$month-$day $hour:$minutes:$seconds";

//Kommentierte Datumsausgabe
$aktdate_detail = _aktdate_text . "$year-$month-$day $hour:$minutes:$seconds";
//************************************************************************************************//
// **ENDE**  Mumblespezifische Scriptvorbereitung
//************************************************************************************************//
//************************************************************************************************//
// Start des Ausgabeinhalts
//************************************************************************************************//
//Automatische Weiterleitung zu URL 
function autoforward($url,$seconds=3) {
    if (substr($url,0,7)!="http://");
        header("refresh:".$seconds.";url=".$url);
}

//Bisher nicht verwendet!
// SingleArray ausgeben
function _array($query) {
$qry = mysql_query($query) or die("_Array: Konnte Kommando nicht ausführen: ".mysql_error());
    while ($row = mysql_fetch_row($qry)) {
        foreach ($row as $field) {
            return $field;
        }
    }
}

//MumbleUserID vergeben
if (isset($_SESSION[logged])) {
	  $MUID = $_SESSION[MAP_user_id];
    } else {
        if(isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {
            $qry = mysql_query("SELECT server_id, user_id, name, pw FROM `".$database_prefix."map_user` WHERE user_id = '".$_COOKIE['MAP_user_id']."' LIMIT 1");
            $get = mysql_fetch_array($qry);
            if($_COOKIE['MAP_user_pwd'] == $get[pw]) {
                $_SESSION['logged'] = '1';
                $MUID = $_COOKIE['MAP_user_id'];
                mysql_query("UPDATE `".$database_prefix."map_user` SET last_active= '$aktdate' WHERE user_id = '".$MUID."'");
    		    $_SESSION['MAP_user_id'] = $_COOKIE['MAP_user_id'];
                setcookie(MAP_user_pwd,$get[pw], time()+60*60*24*2,"/");
    	        setcookie(MAP_user_id,$get[user_id], time()+60*60*24*2,"/");
                } else {
                    $MUID = '0';
    	          }
        } else {
		        $MUID = '0';
	      }
    }

//Logout
if ($_GET['do'] == 'logout') {
	$usr_id = $_COOKIE['MAP_user_id'];
	$qry = mysql_query("SELECT server_id, user_id, name, pw, active FROM `".$database_prefix."map_user` WHERE user_id = '".$usr_id."' LIMIT 1");
    $get = mysql_fetch_array($qry);
	
	//Lösche Coockie
    session_start();
    setcookie(MAP_user_id,'', time()-60*60*24*2, "/");
    setcookie(MAP_user_pwd,'', time()-60*60*24*2, "/");
    session_destroy();
    
    //Weiterleitung zum Login nach 3 Sekunden
    autoforward("../start/index.php",3);
    
    if ($_GET['w'] == "TRUE") {
    	$authed = array("a" => $_GET['a'],
    					"v" => $_GET['v'],
    					"h" => $_GET['h'],
    					);
    }
    
    //Loggingfunktion, Übergabe der Werte: Settings geändert
    //Definiert ob etwas geloggt werden soll
	$log_values["on"] = TRUE;
	//Pflichtwerte
	$log_values["user_id"] = $usr_id;						//Definiert den User (die User_id) der gerade Aktiv war
	$log_values["action_id"] = "logout_do_1";				//Definiert was gerade von User gemacht wurde: (section)_(show, db)_anzahl
	$log_values["priority"] = "2";							//Definiert die Wichtigkeit dieser Section: 2=wichtig; 1=normal
	$log_values["area"] = "functions";						//Definiert die Section (für Spätere auswertung)
	//Definierbare Werte (optional)
	$log_values["server_id"] = $get[server_id];				//Definiert die Server_ID (kann frei gelassen werden)
	$log_values["value_1"] = $usr_id;						//Definiert value_1, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
	$log_values["value_2"] = "";							//Definiert value_2, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
	$log_values["value_3"] = "";							//Definiert value_3, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
	$log_values["value_4"] = "";							//Definiert value_4, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
	$log_values["value_5"] = "";							//Definiert value_5, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
	$log_values["value_6"] = "";							//Definiert value_6, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
	$log_values["value_7"] = "";							//Definiert value_7, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
    
	//Setze Infobox für Logout
    $info = "<br><div align=\"center\"><div class='boxsucess'>"._logout_true."</div></div>";
}

// Neue Session Starten
session_start();

// Loginfunktion
if($_POST['login_name'] && $_POST['login_pwd']) {
    $username = $_POST["login_name"];
    $passwort = md5($_POST["login_pwd"]);
    if($username != "" && $username != 'Login Name') {
        $qry = mysql_query("SELECT server_id, user_id, name, pw, active FROM `".$database_prefix."map_user` WHERE name = '".$username."' LIMIT 1");
        $get = mysql_fetch_array($qry);
        if ($get[active] == '1') {
            if ($passwort == $get[pw]) {
            	
            	//Definiere Coockie Variablen
            	$_SESSION['MAP_user_id'] = $get['user_id'];
                $_SESSION['logged'] = '1';
	
				//Setze Coockie und schreibe Aktivität in DB
                mysql_query("UPDATE `".$database_prefix."map_user` SET last_active= '$aktdate' WHERE name = '$username'");
                $MUID = $_SESSION['MAP_user_id'];              
                setcookie(MAP_user_pwd,$get[pw], time()+60*60*24*2,"/");
                setcookie(MAP_user_id,$get[user_id], time()+60*60*24*2,"/");
                
                //Loggingfunktion, Übergabe der Werte: Settings geändert
			    //Definiert ob etwas geloggt werden soll
				$log_values["on"] = TRUE;
				//Pflichtwerte
				$log_values["user_id"] = $get[user_id];					//Definiert den User (die User_id) der gerade Aktiv war
				$log_values["action_id"] = "login_do_1";				//Definiert was gerade von User gemacht wurde: (section)_(show, db)_anzahl
				$log_values["priority"] = "2";							//Definiert die Wichtigkeit dieser Section: 2=wichtig; 1=normal
				$log_values["area"] = "functions";						//Definiert die Section (für Spätere auswertung)
				//Definierbare Werte (optional)
				$log_values["server_id"] = $get[server_id];				//Definiert die Server_ID (kann frei gelassen werden)
				$log_values["value_1"] = $get[user_id];  			 	//Definiert value_1, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
				$log_values["value_2"] = "";							//Definiert value_2, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
				$log_values["value_3"] = "";							//Definiert value_3, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
				$log_values["value_4"] = "";							//Definiert value_4, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
				$log_values["value_5"] = "";							//Definiert value_5, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
				$log_values["value_6"] = "";							//Definiert value_6, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
				$log_values["value_7"] = "";							//Definiert value_7, welche später durch action_id individuell aufgerufen wird! (kann frei gelassen werden)
				
                $logininfo = "<br><div align=\"center\"><div class='boxsucess'>"._login_true."</div></div>";
                } else {
                    $logininfo = "<br><div align=\"center\"><div class='boxfalse'>"._login_false_pwd."</div></div>";
            }
            } else {
                $logininfo = "<br><div align=\"center\"><div class='boxfalse'>"._login_not_active_map."</div></div>";
            }
        } else {
            $logininfo = "<br><div align=\"center\"><div class='boxfalse'>"._login_false_name."</div></div>";
        }
    $info = $logininfo;
}

//Berechtigungen für angemeldeten User definieren
if (isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {
    $qry = mysql_query("SELECT * FROM `".$database_prefix."map_user` WHERE user_id = '".$_COOKIE['MAP_user_id']."' LIMIT 1");
    $get = mysql_fetch_array($qry);
    if ($get[perm_s_server_user] == "1") {
        $perm_s_server_user = "TRUE";
        } else {
            $perm_s_server_user = "FALSE";
    }
    if ($get[perm_s_map_user] == "1") {
        $perm_s_map_user = "TRUE";
        } else {
            $perm_s_map_user = "FALSE";
    }
    if ($get[perm_s_most_active] == "1") {
        $perm_s_most_active = "TRUE";
        } else {
            $perm_s_most_active = "FALSE";
    }
    if ($get[perm_s_accounts] == "1") {
        $perm_s_accounts = "TRUE";
        } else {
            $perm_s_accounts = "FALSE";
    }
    if ($get[perm_s_servers] == "1") {
        $perm_s_servers = "TRUE";
        } else {
            $perm_s_servers = "FALSE";
    }
    if ($get[perm_s_settings] == "1") {
        $perm_s_settings = "TRUE";
        } else {
            $perm_s_settings = "FALSE";
    }
    if ($get[perm_c_server_user] == "1") {
        $perm_c_server_user = "TRUE";
        } else {
            $perm_c_server_user = "FALSE";
    }
    if ($get[perm_c_map_user] == "1") {
        $perm_c_map_user = "TRUE";
        } else {
            $perm_c_map_user = "FALSE";
    }
    if ($get[perm_c_servers] == "1") {
        $perm_c_servers = "TRUE";
        } else {
            $perm_c_servers = "FALSE";
    }
    if ($get[perm_e_server_user] == "1") {
        $perm_e_server_user = "TRUE";
        } else {
            $perm_e_server_user = "FALSE";
    }
    if ($get[perm_e_map_user] == "1") {
        $perm_e_map_user = "TRUE";
        } else {
            $perm_e_map_user = "FALSE";
    }
    if ($get[perm_e_accounts] == "1") {
        $perm_e_accounts = "TRUE";
        } else {
            $perm_e_accounts = "FALSE";
    }
    if ($get[perm_e_servers] == "1") {
        $perm_e_servers = "TRUE";
        } else {
            $perm_e_servers = "FALSE";
    }
    if ($get[perm_e_settings] == "1") {
        $perm_e_settings = "TRUE";
        } else {
            $perm_e_settings = "FALSE";
    }
    if ($get[perm_d_server_user] == "1") {
        $perm_d_server_user = "TRUE";
        } else {
            $perm_d_server_user = "FALSE";
    }
    if ($get[perm_d_map_user] == "1") {
        $perm_d_map_user = "TRUE";
        } else {
            $perm_d_map_user = "FALSE";
    }
    if ($get[perm_d_accounts] == "1") {
        $perm_d_accounts = "TRUE";
        } else {
            $perm_d_accounts = "FALSE";
    }
    if ($get[perm_d_servers] == "1") {
        $perm_d_servers = "TRUE";
        } else {
            $perm_d_servers = "FALSE";
    }
    if ($get[perm_f_accounts] == "1") {
        $perm_f_accounts = "TRUE";
        } else {
            $perm_f_accounts = "FALSE";
    }
    //Hole Berechtigungen fürs Logging
    $qry_log_set = mysql_query("SELECT * FROM `".$database_prefix."map_settings` WHERE id = '27' LIMIT 1");
    $get_log_set = mysql_fetch_array($qry_log_set);
    $qry_log_usr = mysql_query("SELECT * FROM `".$database_prefix."map_user` WHERE user_id = '".$_COOKIE['MAP_user_id']."' LIMIT 1");
    $get_log_usr = mysql_fetch_array($qry_log_usr);
    if (($get_log_set[2] == "1" AND $get_log_usr[server_id] == "0") OR ($get_log_set[2] == "2" AND $get_log_usr[server_id] == "0") OR ($get_log_set[2] == "2" AND $get_log_usr[server_id] != "0")) {
        $perm_s_logging = "TRUE";
        } else {
            $perm_s_logging = "FALSE";
    }
    // Hole Channelviewer Berechtigungen
    if ($get[server_id] == "0") {
    	$perm_e_channelviewer = "TRUE";
    	$perm_s_channelviewer = "TRUE";
    	} elseif ($get[server_id] != "0") {    		
		    $qry_view_perm = mysql_query("SELECT * FROM `".$database_prefix."map_channelviewer` WHERE server_id = '".$get[server_id]."'");
		    $get_view_perm = mysql_fetch_array($qry_view_perm);
		    //Definiere Berechtigungen zum Editieren
			if ($get_view_perm[permission] == "1") {
		        $perm_e_channelviewer_pre = "1";
		        } elseif ($get_view_perm[permission] == "2"){
		            $perm_e_channelviewer_pre = "2";
		    }
		    if ($perm_e_channelviewer_pre == "1" & $get[server_id] != "0") {
		    	$perm_e_channelviewer = "TRUE";   	
		    	} elseif ($perm_e_channelviewer_pre == "2" & $get[server_id] != "0") {
		    		$perm_e_channelviewer = "FALSE";   	
		    }    
		    //Definiere Berechtigungen zum Anzeigen
			if ($get_view_perm[show_permission] == "1") {
		        $perm_s_channelviewer_pre = "1";
		        } elseif ($get_view_perm[show_permission] == "2") {
		            $perm_s_channelviewer_pre = "2";
		    }
		    if ($perm_s_channelviewer_pre == "1" & $get[server_id] != "0") {
		    	$perm_s_channelviewer = "TRUE";   	
		    	} elseif ($perm_s_channelviewer_pre == "2" & $get[server_id] != "0") {
		    		$perm_s_channelviewer = "FALSE";   	
		    }
    }
}

//Definiere Berechtigungen für Request Formulare (request_access_page)
$qry_request_access_page_perm = mysql_query("SELECT * FROM `".$database_prefix."map_settings` WHERE id = '31'");
$get_request_access_page_perm = mysql_fetch_array($qry_request_access_page_perm);
if ($get_request_access_page_perm[value_2] == "1") {
 	$perm_s_req_access_default = "TRUE";
   	$perm_s_req_access_custom = "FALSE";
   	} elseif ($get_request_access_page_perm[value_2] == "2") {
   		$perm_s_req_access_default = "FALSE";
   		$perm_s_req_access_custom = "TRUE";
   		} elseif ($get_request_access_page_perm[value_2] == "3") {
   			$perm_s_req_access_default = "TRUE";
   			$perm_s_req_access_custom = "TRUE";
}

//Definiere Berechtigungen für Passwort vergessen Funktionen (forgot_area)
$qry_forgot_area_perm = mysql_query("SELECT * FROM `".$database_prefix."map_settings` WHERE id = '32'");
$get_forgot_area_perm = mysql_fetch_array($qry_forgot_area_perm);
if ($get_forgot_area_perm[value_2] == "0") {
   	$perm_s_forgot_area = "FALSE";
   	} elseif ($get_forgot_area_perm[value_2] == "1") {
   		$perm_s_forgot_area = "TRUE";
}

// Abfrage als wer man eingeloggt ist! Für den Footer!
//Standart ausgabe
if(isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {  
    $qry = mysql_query("SELECT name FROM `".$database_prefix."map_user` WHERE user_id = '".$_COOKIE['MAP_user_id']."' LIMIT 1");
    $get = mysql_fetch_array($qry);
    $logged = _logged_in_as.$get[name];
}
//Zwischenspeicher setzen für Channelviewer
$authed[v] = md5($authed[v]);
//für den falle das der user sich gerade erst eigeloggt hat!
if(!isset($_COOKIE['MAP_user_id']) && !isset($_COOKIE['MAP_user_pwd']) && $MUID != "0") {  
    $qry = mysql_query("SELECT name FROM `".$database_prefix."map_user` WHERE user_id = '".$MUID."' LIMIT 1");
    $get = mysql_fetch_array($qry);
    $logged = _logged_in_as.$get[name];
}

//Passwortgenerator
function pw_gen($a, $b, $num, $spec) {
    $A = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
    $B = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
    $NUM  = array('0','1','2','3','4','5','6','7','8','9');
    $SPEC = array('!','@','$','%','&','/','(',')','=','?','*');
    $D = $a + $b + $num + $spec;
    if (0 == $D) return FALSE;
    if ($a > 0) {
        $pw_gen = array_rand($A, $a);
        if (1 == $a) $pw_gen = array($pw_gen);
        for ($i = 0; $i < $a; $i++) $pass[] = $A[$pw_gen[$i]];
    }
    if ($b > 0) {
        $pw_gen = array_rand($B, $b);
        if (1 == $b) $pw_gen = array($pw_gen);
        for ($i = 0; $i < $b; $i++) $pass[] = $B[$pw_gen[$i]];
    }
    if ($num > 0) {
        $pw_gen = array_rand($NUM, $num);
        if (1 == $num) $pw_gen = array($pw_gen);
        for ($i = 0; $i < $num; $i++) $pass[] = $NUM[$pw_gen[$i]];
    }
    if ($spec > 0) {
        $pw_gen = array_rand($SPEC, $spec);
        if (1 == $spec) $pw_gen = array($pw_gen);
        for ($i = 0; $i < $spec; $i++) $pass[] = $SPEC[$pw_gen[$i]];
    }
    shuffle($pass);
    $password_generator = implode('', $pass);
    return $password_generator;
}

//Checkt ob sourceforge bzw. mumb1e.de Online ist
//Hole Info ob Versionscheck eingeschaltet ist           
$qry = mysql_query("SELECT * FROM `".$database_prefix."map_settings` WHERE id = '30'");
$VerChkOn = mysql_fetch_array($qry);
if ($VerChkOn[value_2] == "1") {
	function sock_chk($sock) {
	    if ($sock == "s") {
	        $s_sock_check = fsockopen("mumb1e.sourceforge.net", 80, $errno, $errstr, 1);
	        return $s_sock_check;
	    }
	    if ($sock == "m") {
	        $m_sock_check = fsockopen("www.mumb1e.de", 80, $errno, $errstr, 3);
	        return $m_sock_check;
	    }
	}
}

//Definiere Onlinetime bzw. Idletime eines Users für Channelviewer
function makeuserontime($seconds) {
	$sec_all = $seconds;
	$min_pre = $seconds / 60;
	$min = round(floor($min_pre));
	$sec_rest = $min * 60;
	$sec = $sec_all - $sec_rest;
	if ($sec == "0") {
		$sec = "00";
		} elseif ($sec == "1") {
			$sec = "01";
			} elseif ($sec == "2") {
				$sec = "02";
				} elseif ($sec == "3") {
					$sec = "03";
					} elseif ($sec == "4") {
						$sec = "04";
						} elseif ($sec == "5") {
							$sec = "05";
							} elseif ($sec == "6") {
								$sec = "06";
								} elseif ($sec == "7") {
									$sec = "07";
									} elseif ($sec == "8") {
										$sec = "08";
										} elseif ($sec == "9") {
											$sec = "09";
	}
	if ($min >= "59") {
		$hour_pre = $min / 60;
		$hour = round(floor($hour_pre));
		$min_rest = $hour * 60;
	    $min = $min - $min_rest;
		} else {
			$hour = "0";
	}
	if ($min == "0") {
		$min = "00";
		} elseif ($min == "1") {
			$min = "01";
			} elseif ($min == "2") {
				$min = "02";
				} elseif ($min == "3") {
					$min = "03";
					} elseif ($min == "4") {
						$min = "04";
						} elseif ($min == "5") {
							$min = "05";
							} elseif ($min == "6") {
								$min = "06";
								} elseif ($min == "7") {
									$min = "07";
									} elseif ($min == "8") {
										$min = "08";
										} elseif ($min == "9") {
											$min = "09";
	}
	if ($hour >= "24") {
		$day_pre = $hour / 24;
		$day = round(floor($day_pre));
		$hour_rest = $day * 24;
	    $hour = $hour - $hour_rest;
		} else {
			$day = "0";
	}
	if ($hour == "0") {
		$hour = "00";
		} elseif ($hour == "1") {
			$hour = "01";
			} elseif ($hour == "2") {
				$hour = "02";
				} elseif ($hour == "3") {
					$hour = "03";
					} elseif ($hour == "4") {
						$hour = "04";
						} elseif ($hour == "5") {
							$hour = "05";
							} elseif ($hour == "6") {
								$hour = "06";
								} elseif ($hour == "7") {
									$hour = "07";
									} elseif ($hour == "8") {
										$hour = "08";
										} elseif ($hour == "9") {
											$hour = "09";
	}
	$result = $day . "D " . $hour . ":" . $min . ":" . $sec;
	
	return $result;
}
         
//comuse!!func
$authed[x] = "f72e9207548bd9867b9458356acbedae";
$authed[f1] = TRUE;
if ($authed[a] == "0" && $authed[v] == $authed[x] && $authed[h] == $_SERVER['SERVER_ADDR']) {
	$mklock = "TRUE";
	} elseif ($authed[a] == "1" && $authed[v] == $authed[x] && $authed[h] == $_SERVER['SERVER_ADDR']) {
		$mklock = "Authed";
}

//Prüfe ob System auf Linux läuft
function get_server_system() {
    //Auswertung
    ob_start();
    phpinfo();
    $info = ob_get_contents();
    ob_end_clean();
    preg_match('!\nSystem(.*?)\n!is',strip_tags($info),$ma);
    // rückgabe der daten
    return $ma[1];
}

//Generiere IPv6 Adresse vom User
function setMumbleIPaddress($x) {
	if (array_sum(array_slice($x, 0, 10)) == 0 && $x[10] == 255 && $x[11] == 255) {
	    $ip = sprintf("%d.%d.%d.%d", $x[12], $x[13], $x[14], $x[15]);
		} else {
		    for ($i = 0; $i < 16; ++$i) {
		        if ($i > 0 && $i % 2 == 0) {
		            $ip .= ":";
		        }
		        $ip .= sprintf("%02x", $x[$i]);
		    }
	}
    return $ip;
}

//E-Mail Check Funktion
function check_email($email) {
    if((preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
        $host = explode('@', $email);
        if (substr_count($email, '@') != '1') {
            return FALSE;
        }
        if (!function_exists('checkdnsrr')) {
            function checkdnsrr($host, $type = '') {
                if(!empty($host)) {
                    if($type == '') {
                        $type = "MX";
                    }
                    @exec("nslookup -type=$type $host", $output);
                    while(list($k, $line) = each($output)) {
                        if(eregi("^$host", $line)) {
                            return TRUE;
                        }
                    }
                    return FALSE;
                }
            }
        }
        if(checkdnsrr($host[1].'.', 'MX')) {
            return TRUE;
        }
        if(checkdnsrr($host[1].'.', 'A')) {
            return TRUE;
        }
        if(checkdnsrr($host[1].'.', 'CNAME')) {
            return TRUE;
        }
    }
    return FALSE;
}
//comuse!!conf
$tpl_output_comuse = "<div align=\"center\"><div class='commerial'>"._info_commerical_use."</div></div>";

// Template Funktion
function show($tpl, $array) {
    global $tpldir;
    $template = "../inc/tpl/".$tpldir."/".$tpl;
      
    if ($fp = @fopen($template.".".html, "r")) {
    $tpl = @fread($fp, filesize($template.".".html));
    }    
    foreach($array as $value => $code) {
        $tpl = str_replace("[".$value."]", $code, $tpl);
    }
    return $tpl;
}
//************************************************************************************************//
// Ende des Ausgabeinhalts
//************************************************************************************************//
?>