<?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**  Deklariert wichtige globale Einstellungen !!!NICHT ÄNDERN!!!
//************************************************************************************************//
// Definiert Ort des Scripts
$dir = "view";
// LÃ¤dt Globale Funktionen
include("../inc/functions.php");
//************************************************************************************************//
// **ENDE**  Deklariert wichtige globale Einstellungen !!!NICHT ÄNDERN!!!
//************************************************************************************************//
//************************************************************************************************//
// Start des Ausgabeinhalts
//************************************************************************************************//
// Definiere, bzw. lade Section
if (!isset($_GET['section'])) {
    $section = "";
    } else {
        $section = $_GET['section'];
}

// Gehe zu aufgerufenem Bereich
switch ($section) {
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **START**  settings Channelviewer in DB speichern
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
case 'settings_db':
	// Definition Seitentitel
	$seitentitel .= _pagetitel_view_settings_db;

    // Check ob User eingeloggt, ansonsten wird Fehlermeldung angezeigt
    if (isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {
        // Check ob User berechtigt ist diesen zu sehen, ansonsten wird Fehlermeldung angezeigt
        if ($perm_e_channelviewer == "TRUE") {      
            //Start definition eigentliche Funktionen dieser Section:
            
        	//Übernehme Daten
        	$server_id = $_POST["server_id"];
        	$background = $_POST["background"];
        	$font_colour = $_POST["font_colour"];
        	$width = $_POST["width"];
        	$height = $_POST["height"];
        	$permission = $_POST["permission"];
        	$show_permission = $_POST["show_permission"];
        	$external_on = $_POST["external_on"];
        	$safety_code = $_POST["safety_code"];
        	$true_change = "FALSE";
        	
        	//Hole Server Daten
			$qry = mysql_query("SELECT * FROM `".$database_prefix."map_servers` WHERE server_id = '".$server_id."'");
            $ServerData = mysql_fetch_array($qry);
			
            // Hole Channelviewer Settings des Servers
            $qry = mysql_query("SELECT * FROM `".$database_prefix."map_channelviewer` WHERE server_id = '".$server_id."'");
            $ServerViewSettings = mysql_fetch_array($qry);
            
        	//Background, falls geändert in DB schreiben            
            if ($background != $ServerViewSettings[colour]) {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET colour = '".$background."' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
            }
            
        	//front_colour, falls geändert in DB schreiben            
            if ($font_colour != $ServerViewSettings[font_colour]) {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET font_colour = '".$font_colour."' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
            }
            
        	//width, falls geändert in DB schreiben            
            if ($width != $ServerViewSettings[width]) {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET width = '".$width."' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
            }
            
        	//height, falls geändert in DB schreiben            
            if ($height != $ServerViewSettings[height]) {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET height = '".$height."' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
            }

            //permission, falls geändert in DB schreiben     
            if ($permission != $ServerViewSettings[permission] && $permission == '1') {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET permission = '1' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
                } elseif ($permission != $ServerViewSettings[permission] && $permission == '2') {
                    mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET permission = '2' WHERE server_id = '".$server_id."'");
                    $true_change = 'TRUE';
            }
            
        	//show_permission, falls geändert in DB schreiben     
            if ($show_permission != $ServerViewSettings[show_permission] && $show_permission == '1') {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET show_permission = '1' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
                } elseif ($show_permission != $ServerViewSettings[show_permission] && $show_permission == '2') {
                    mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET show_permission = '2' WHERE server_id = '".$server_id."'");
                    $true_change = 'TRUE';
            }
            
        	//external_on, falls geändert in DB schreiben            
            if ($external_on != $ServerViewSettings[external_on]) {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET external_on = '".$external_on."' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
            }
            
        	//safety_code, falls geändert in DB schreiben            
            if ($safety_code != $ServerViewSettings[safety_code]) {
                mysql_query("UPDATE `".$database_prefix."map_channelviewer` SET safety_code = '".$safety_code."' WHERE server_id = '".$server_id."'");
                $true_change = 'TRUE';
            }
            
        	//Abschlussmeldung
            if ($true_change != 'TRUE') {
                $info = "<br><div align=\"center\"><div class='savearea'>"._view_settings_do_false1.$ServerData[name]._view_settings_do_false2."</div></div>";
                $autoforward1 = 'TRUE';
                } elseif ($true_change == "TRUE") {
                    $info = "<br><div align=\"center\"><div class='boxsucess'>"._view_settings_do_true1.$ServerData[name]._view_settings_do_true2."</div></div>";
                    $autoforward1 = 'TRUE';
            }
            
        	//Weiterleitung nach 5 Sekunden
            if ($autoforward1 == 'TRUE') {
                autoforward("../view/index.php?section=channelviewer&server_id=".$server_id."",5);
            }
            
            //Loggingfunktion, Übergabe der Werte: settings Channelviewer in DB speichern
	        //Definiert ob etwas geloggt werden soll
	        if ($autoforward1 == TRUE) {
				$log_values["on"] = TRUE;
			}
			//Pflichtwerte
			$log_values["user_id"] = $_COOKIE['MAP_user_id'];		//Definiert den User (die User_id) der gerade Aktiv war
			$log_values["action_id"] = "view_db_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"] = $dir;								//Definiert die Section (für Spätere auswertung)
			//Definierbare Werte (optional)
			$log_values["server_id"] = $server_id;					//Definiert die Server_ID (kann frei gelassen werden)
			$log_values["value_1"] = $ServerData[name];				//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)
			                				 
            //Ende definition eigentliche Funktionen dieser Section^^
        	} else {
                //Meldung an MAP User, dass er für diesen Bereich keine Berechtigungen hat
                $info = "<br><div align=\"center\"><div class='savearea'>"._no_permissions."</div></div>";
        }
        } else {
            //Meldung an Besucher, dass er keine Berechtigung hat und sich einloggen muss um diesen Bereich zu sehen
            $info = "<br><div align=\"center\"><div class='savearea'>"._save_area."</div></div>";
            autoforward("../start/index.php",5);
    }   
                				 
break;
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **ENDE**  settings Channelviewer in DB speichern
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **START**  settings Channelviewer anzeigen
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
case 'settings':
	// Definition Seitentitel
	$seitentitel .= _pagetitel_view_settings;

    // Check ob User eingeloggt, ansonsten wird Fehlermeldung angezeigt
    if (isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {
        // Check ob User berechtigt ist diesen zu sehen, ansonsten wird Fehlermeldung angezeigt
        if ($perm_e_channelviewer == "TRUE") {      
            //Start definition eigentliche Funktionen dieser Section:

        	//Übernehme Daten
			$server_id = $_GET[server_id];
			
			//Hole Server Daten
			$qry = mysql_query("SELECT * FROM `".$database_prefix."map_servers` WHERE server_id = '".$server_id."'");
            $ServerData = mysql_fetch_array($qry);
			
            // Gebe Hintergrundfarbe, front-colour, width und heigth aus
            $qry = mysql_query("SELECT * FROM `".$database_prefix."map_channelviewer` WHERE server_id = '".$server_id."'");
            $get_view_settings = mysql_fetch_array($qry);   
            
            // Definiere, welcher MAP User die Channelviewer Settings ändern darf
            if ($get_view_settings[permission] == "1") {
                $get_settings_permission_value .= "<option value=\"1\" selected=\"selected\">"._view_settings_permission_value_1."</option>\n";
                $get_settings_permission_value .= "<option value=\"2\">"._view_settings_permission_value_2."</option>\n";
            } 
            if ($get_view_settings[permission] == "2") { 
            	$get_settings_permission_value .= "<option value=\"1\">"._view_settings_permission_value_1."</option>\n";
            	$get_settings_permission_value .= "<option value=\"2\" selected=\"selected\">"._view_settings_permission_value_2."</option>\n";
            }
            
            // Definiere, welcher MAP User die Channelviewer ansehen darf
            if ($get_view_settings[show_permission] == "1") {
                $get_settings_show_permission_value .= "<option value=\"1\" selected=\"selected\">"._view_settings_show_permission_value_1."</option>\n";
                $get_settings_show_permission_value .= "<option value=\"2\">"._view_settings_show_permission_value_2."</option>\n";
            } 
            if ($get_view_settings[show_permission] == "2") { 
            	$get_settings_show_permission_value .= "<option value=\"1\">"._view_settings_show_permission_value_1."</option>\n";
            	$get_settings_show_permission_value .= "<option value=\"2\" selected=\"selected\">"._view_settings_show_permission_value_2."</option>\n";
            }
            
            // Gebe aus, ob Channelviewer auch extern Ein ist.
            if ($get_view_settings[external_on] == '1') {
                $get_external_value = ' checked';
                } elseif ($get_view_settings[external_on] == '0') {
                    $get_external_value = '';
            }
                  
            // Lade Template mit errechnetem Inhalt
            $content_headers = array("head_on" => TRUE,
									 "head_type" => "default",
			                         "head_value" => _view_settings_head . $ServerData[name],
									 "navi_on" => TRUE,
									 "navi_type" => "default",
									 );
            $index = show("$dir/settings", array("background_head" => _view_settings_background_head,
            									 "font_colour_head" => _view_settings_font_colour_head,
                                                 "width_head" => _view_settings_width_head,
                                                 "height_head" => _view_settings_height_head,
                                                 "permission_head" => _view_settings_permission_head,
                                                 "show_permission_head" => _view_settings_show_permission_head,
                                                 "external_on_head" => _view_settings_external_on_head,
                                                 "safety_code_head" => _view_settings_safety_code_head,
                                                 "background_discribtion" => _view_settings_background_discribtion,
            									 "font_colour_discribtion" => _view_settings_font_colour_discribtion,
                                                 "width_discribtion" => _view_settings_width_discribtion,
                                                 "height_discribtion" => _view_settings_height_discribtion,
                                                 "permission_discribtion" => _view_settings_permission_discribtion,
                                                 "show_permission_discribtion" => _view_settings_show_permission_discribtion,
                                                 "external_on_discribtion" => _view_settings_external_on_discribtion,
                                                 "safety_code_discribtion" => _view_settings_safety_code_discribtion,
                                                 "settings_do" => _view_settings_do,
                                                 "background_value" => $get_view_settings[colour],
            									 "font_colour_value" => $get_view_settings[font_colour],
                                                 "width_value" => $get_view_settings[width],
                                                 "height_value" => $get_view_settings[height],
                                                 "permission_value" => $get_settings_permission_value,
                                                 "show_permission_value" => $get_settings_show_permission_value,
                                                 "external_on_value" => $get_external_value,
                                                 "safety_code_value" => $get_view_settings[safety_code],
            									 "server_id" => $server_id,
                                                 ));
                                                 
			//Loggingfunktion, Übergabe der Werte: settings Channelviewer anzeigen
	        //Definiert ob etwas geloggt werden soll
			$log_values["on"] = TRUE;
			//Pflichtwerte
			$log_values["user_id"] = $_COOKIE['MAP_user_id'];		//Definiert den User (die User_id) der gerade Aktiv war
			$log_values["action_id"] = "view_show_2";				//Definiert was gerade von User gemacht wurde: (section)_(show, db)_anzahl
			$log_values["priority"] = "1";							//Definiert die Wichtigkeit dieser Section: 2=wichtig; 1=normal
			$log_values["area"] = $dir;								//Definiert die Section (für Spätere auswertung)
			//Definierbare Werte (optional)
			$log_values["server_id"] = $server_id;					//Definiert die Server_ID (kann frei gelassen werden)
			$log_values["value_1"] = $ServerData[name];				//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)                                    
			                				 
            //Ende definition eigentliche Funktionen dieser Section^^
        	} else {
                //Meldung an MAP User, dass er für diesen Bereich keine Berechtigungen hat
                $info = "<br><div align=\"center\"><div class='savearea'>"._no_permissions."</div></div>";
        }
        } else {
            //Meldung an Besucher, dass er keine Berechtigung hat und sich einloggen muss um diesen Bereich zu sehen
            $info = "<br><div align=\"center\"><div class='savearea'>"._save_area."</div></div>";
            autoforward("../start/index.php",5);
    }   
                				 
break;
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **ENDE**  settings Channelviewer anzeigen
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **START**  Include Channelviewer
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
case 'include':
	// Definition Seitentitel
	$seitentitel .= _pagetitel_view_include;

    // Check ob User eingeloggt, ansonsten wird Fehlermeldung angezeigt
    if (isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {
        // Check ob User berechtigt ist diesen zu sehen, ansonsten wird Fehlermeldung angezeigt
        if ($perm_s_channelviewer == "TRUE") {      
            //Start definition eigentliche Funktionen dieser Section:

			$server_id = $_GET[server_id];
			
			//Hole Server Daten
			$qry = mysql_query("SELECT * FROM `".$database_prefix."map_servers` WHERE server_id = '".$server_id."'");
            $ServerData = mysql_fetch_array($qry);
            
            // Hole Channelviewer Settings des Servers
            $qry = mysql_query("SELECT * FROM `".$database_prefix."map_channelviewer` WHERE server_id = '".$server_id."'");
            $ServerViewSettings = mysql_fetch_array($qry);

            $map_path = substr($_SERVER['SCRIPT_NAME'], 0, -15);           
            $view_url = 'http://' . $_SERVER['SERVER_NAME'] . $map_path . "/view/view.php";
	
			//Daten ans Formular schicken und / bzw. es aufrufen
			$content_headers = array("head_on" => TRUE,
									 "head_type" => "default",
			                         "head_value" => _view_include_head.$ServerData[name],
									 "navi_on" => TRUE,
									 "navi_type" => "default",
									 );      
			$index = show("$dir/include", array("server_id" => $server_id,
												"discription" => _view_include_discription,
												"width" => $ServerViewSettings[width],
												"height" => $ServerViewSettings[height],
												"safety_code" => $ServerViewSettings[safety_code],
											    "view_path" => $view_url,
												"note" => _view_include_note,
												"example_head" => _view_include_example_head,
												"example_text1" => _view_include_example_text1,
												"example_text2" => _view_include_example_text2,
												"example_text3" => _view_include_example_text3,
			                				    ));

			//Loggingfunktion, Übergabe der Werte: Include Channelviewer
	        //Definiert ob etwas geloggt werden soll
			$log_values["on"] = TRUE;
			//Pflichtwerte
			$log_values["user_id"] = $_COOKIE['MAP_user_id'];		//Definiert den User (die User_id) der gerade Aktiv war
			$log_values["action_id"] = "view_show_3";				//Definiert was gerade von User gemacht wurde: (section)_(show, db)_anzahl
			$log_values["priority"] = "1";							//Definiert die Wichtigkeit dieser Section: 2=wichtig; 1=normal
			$log_values["area"] = $dir;								//Definiert die Section (für Spätere auswertung)
			//Definierbare Werte (optional)
			$log_values["server_id"] = $server_id;					//Definiert die Server_ID (kann frei gelassen werden)
			$log_values["value_1"] = $ServerData[name];				//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)                 				    
			                				    
            //Ende definition eigentliche Funktionen dieser Section^^
        	} else {
                //Meldung an MAP User, dass er für diesen Bereich keine Berechtigungen hat
                $info = "<br><div align=\"center\"><div class='savearea'>"._no_permissions."</div></div>";
        }
        } else {
            //Meldung an Besucher, dass er keine Berechtigung hat und sich einloggen muss um diesen Bereich zu sehen
            $info = "<br><div align=\"center\"><div class='savearea'>"._save_area."</div></div>";
            autoforward("../start/index.php",5);
    }   
                				 
break;
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **ENDE**  Include Channelviewer
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **START**  Channelviewer
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
case 'channelviewer':
	// Definition Seitentitel
	$seitentitel .= _pagetitel_view_channelviewer;

    // Check ob User eingeloggt, ansonsten wird Fehlermeldung angezeigt
    if (isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {
        // Check ob User berechtigt ist diesen zu sehen, ansonsten wird Fehlermeldung angezeigt
        if ($perm_s_channelviewer == "TRUE") {      
            //Start definition eigentliche Funktionen dieser Section:

			$server_id = $_GET[server_id];
			
			//Hole Server Daten
			$qry = mysql_query("SELECT * FROM `".$database_prefix."map_servers` WHERE server_id = '".$server_id."'");
            $ServerData = mysql_fetch_array($qry);
			
			//Check ICE Funktion (an-aus)    
			$qry = mysql_query("SELECT * FROM `".$database_prefix."map_settings` WHERE id = '22'");
			$ice_functions_value = mysql_fetch_array($qry);
			if ($ice_functions_value[value_2] == '1') {
				
				//Versucht nun ICE auszuführen und die kompletten CV Funktionen
				try {
					//Lade ICE
					Ice_loadProfile();
					
					function viewtree($channelobject,$url,$servername) {
						
						global $Output;
						global $tpldir;
						global $server_id;
						
						$channeldepth = 0;
						$menustatus = array("1","1");
						$channelobject->c->name = $servername;
						$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/mumble.png>";
						$Output .= " " . $servername;
						if (count($channelobject->children) + count($channelobject->users) > 0) {
							$Output .= "<div class=\"channel\">\n";
							foreach ($channelobject->children as $children) {
								showchannels($children,$channelobject->children[count($channelobject->children)-1]->c->id,$channeldepth+1,$menustatus,$url,$tpldir); 
							}
							foreach ($channelobject->users as $users) {
								showusers($users,$channelobject->users[count($channelobject->users)-1]->userid,$channeldepth+1,$menustatus,$url,$tpldir);
							}
							$Output .= "</div>\n";
						}
					}
					
					function showchannels($channelobject,$lastid,$channeldepth,$menustatus,$url) {
						
						global $Output;
						global $tpldir;
						global $server_id;
						
						$menustatus[$channeldepth] = 1;
						if ($channelobject->c->id == $lastid) {
							$menustatus[$channeldepth] = 0;
						}
						
						$count = 1;
						while($count < $channeldepth) {
							if ($menustatus[$count] == 0) {
								$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_space.gif>";
							} else {
								$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_line.png>";
							}
						    $count++;
					    }
					
						if (count($channelobject->children) + count($channelobject->users) > 0) {
							if ($channelobject->c->id != $lastid) {
								$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_mid.png>";
								} else {
									$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_end.png>";
							}
							} else {
								if ($channelobject->c->id != $lastid) {
									$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_mid.png>";
									} else {
										$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_end.png>";
								}
						}
						
						$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/channel.png>";
						$Output .= " ".$channelobject->c->name."<br>\n";
					
						if (count($channelobject->children) + count($channelobject->users) > 0) {
							$Output .= "<div class=\"channel\">\n";
							foreach ($channelobject->children as $children) {
								showchannels($children,$channelobject->children[count($channelobject->children)-1]->c->id,$channeldepth+1,$menustatus,$url);
							}
							foreach ($channelobject->users as $users) {
								showusers($users,$channelobject->users[count($channelobject->users)-1]->userid,$channeldepth+1,$menustatus,$url);
							}
							$Output .= "</div>\n";
						}
						return $menustatus;
					}
					
					function showusers($userobject,$lastid,$channeldepth,$menustatus) {
						
						global $Output;
						global $tpldir;
						global $server_id;

						$Output .= "<div class=\"user\">";
					
						$menustatus[$channeldepth] = 1;
						if ($channelobject->c->id == $lastid) {
							$menustatus[$channeldepth] = 0;
						}
						
						$count = 1;
						while($count < $channeldepth) {
							if ($menustatus[$count] == 0) {
								$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_space.gif>";
								} else {
									$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_line.png>";
							}
						    $count++;
					    }
					    
						if ($userobject->userid == $lastid) {
							$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_end.png>";
							} else {
								$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/list_tree_mid.png>";
						}
						
						if ($userobject->bytespersec >= "1") {
							$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/player.png>";
							} else {
								$Output .= "<img border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/player_null.png>";
						}
						if ($userobject->userid != -1) {
							$Output .= "<script type=\"text/javascript\">jkmegamenu.definemenu(\"user". $userobject->session ."\", \"menu". $userobject->session ."\", \"mouseover\")</script>";
						    $Output .= "<text id=\"user". $userobject->session ."\"> ". $userobject->name ."</text>";
						    $Output .= "<div id=\"menu". $userobject->session ."\" class=\"megamenu\">";
							$Output .= "<div class=\"column\">";
							$Output .= "<h3>" . _view_channelviewer_menu_control . "</h3>";
							$Output .= "<ul>";
							//Menu ausgabe stumm stellen
							if ($userobject->mute == FALSE) {
								$Output .= "<li><a href=\"../user/index.php?section=mute_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_mute . "</a></li>";
							    } else {
							    	$Output .= "<li><a href=\"../user/index.php?section=unmute_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_unmute . "</a></li>";
							}
							//Menu ausgabe taub stellen
							if ($userobject->deaf == FALSE) {
								$Output .= "<li><a href=\"../user/index.php?section=deaf_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_deaf . "</a></li>";
								} else {
									$Output .= "<li><a href=\"../user/index.php?section=undeaf_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_undeaf . "</a></li>";
							}
							$Output .= "<li><a href=\"../user/index.php?section=kick_server_user_default_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_kick . "</a></li>";
							$Output .= "<li><a href=\"../user/index.php?section=message_to_server_user&server_id=". $server_id ."&session=". $userobject->session ."&uname=". $userobject->name ."\">" . _view_channelviewer_menu_sendmsg . "</a></li>";
							$Output .= "</ul>";
							$Output .= "</div>";
							$Output .= "<div class=\"column\">";
						    $Output .= "<h3>" . _view_channelviewer_menu_trade . "</h3>";
							$Output .= "<ul>";
							$Output .= "<li><a href=\"../user/index.php?section=edit_server_user&server_id=". $server_id ."&user_id=". $userobject->userid ."\">" . _view_channelviewer_menu_edit . "</a></li>";
							$Output .= "<li><a href=\"../user/index.php?section=delete_server_user&server_id=". $server_id ."&user_id=". $userobject->userid ."\">" . _view_channelviewer_menu_delete . "</a></li>";
							$Output .= "</ul>";
							$Output .= "</div>";
							$Output .= "<br style=\"clear: left\" />";
							$Output .= "<div class=\"column\">";
							$Output .= "<h3>" . _view_channelviewer_menu_connection . "</h3>";
							$Output .= "<ul>";
							$Output .= "<li>" . _view_channelviewer_menu_online . makeuserontime($userobject->onlinesecs) . "</li>";
							$Output .= "<li>" . _view_channelviewer_menu_idle . makeuserontime($userobject->idlesecs) . "</li>";
							$Output .= "<li>" . _view_channelviewer_menu_traffic . $userobject->bytespersec ." bps</li>";
							$Output .= "<li>" . _view_channelviewer_menu_client . $userobject->release ."</li>";
							$Output .= "<li>" . _view_channelviewer_menu_os . $userobject->os . " " . $userobject->osversion ."</li>";
							$Output .= "<li>" . _view_channelviewer_menu_ip . setMumbleIPaddress($userobject->address) ."</li>";
							$Output .= "</ul>";
							$Output .= "</div>";
							if ($userobject->comment != "") {
								$Output .= "<div class=\"column\">";
								$Output .= "<h3>" . _view_channelviewer_menu_comment . "</h3>";
								$Output .= "<ul>";
								$Output .= "<li>". $userobject->comment . "</li>";
								$Output .= "<li><a href=\"../user/index.php?section=edit_comment_server_user&server_id=". $server_id ."&user_id=". $userobject->userid ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_edit_comment . "</a></li>";
								$Output .= "</ul>";
								$Output .= "</div>";
								$Output .= "<br style=\"clear: left\" />";
								} else {
									$Output .= "<div class=\"column\">";
									$Output .= "<h3>" . _view_channelviewer_menu_comment . "</h3>";
									$Output .= "<ul>";
									$Output .= "<li><a href=\"../user/index.php?section=create_comment_server_user&server_id=". $server_id ."&user_id=". $userobject->userid ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_create_comment . "</a></li>";
									$Output .= "</ul>";
									$Output .= "</div>";
									$Output .= "<br style=\"clear: left\" />";
								
							}
							$Output .= "</div>";
							
							} else {														
								
								$Output .= "<script type=\"text/javascript\">jkmegamenu.definemenu(\"user". $userobject->session ."\", \"menu". $userobject->session ."\", \"mouseover\")</script>";
						        $Output .= "<text id=\"user". $userobject->session ."\"> ". $userobject->name ."</text>";
						        $Output .= "<div id=\"menu". $userobject->session ."\" class=\"megamenu\">";
								$Output .= "<div class=\"column\">";
								$Output .= "<h3>" . _view_channelviewer_menu_control . "</h3>";
								$Output .= "<ul>";
								//Menu ausgabe stumm stellen
								if ($userobject->mute == FALSE) {
									$Output .= "<li><a href=\"../user/index.php?section=mute_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_mute . "</a></li>";
								    } else {
								    	$Output .= "<li><a href=\"../user/index.php?section=unmute_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_unmute . "</a></li>";
								}
								//Menu ausgabe taub stellen
								if ($userobject->deaf == FALSE) {
									$Output .= "<li><a href=\"../user/index.php?section=deaf_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_deaf . "</a></li>";
									} else {
										$Output .= "<li><a href=\"../user/index.php?section=undeaf_server_user_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_undeaf . "</a></li>";
								}
								$Output .= "<li><a href=\"../user/index.php?section=kick_server_user_default_db&server_id=". $server_id ."&session=". $userobject->session ."\">" . _view_channelviewer_menu_kick . "</a></li>";
								$Output .= "<li><a href=\"../user/index.php?section=message_to_server_user&server_id=". $server_id ."&session=". $userobject->session ."&uname=". $userobject->name ."\">" . _view_channelviewer_menu_sendmsg . "</a></li>";
								$Output .= "</ul>";
								$Output .= "</div>";
								$Output .= "<div class=\"column\">";
							    $Output .= "<h3>" . _view_channelviewer_menu_trade . "</h3>";
								$Output .= "<ul>";
								$Output .= "<li><a href=\"../user/index.php?section=register_server_user&server_id=". $server_id ."&session=". $userobject->userid ."&name=". $userobject->name ."\">" . _view_channelviewer_menu_register . "</a></li>";
								$Output .= "</ul>";
								$Output .= "</div>";
								$Output .= "<br style=\"clear: left\" />";
								$Output .= "<div class=\"column\">";
								$Output .= "<h3>" . _view_channelviewer_menu_connection . "</h3>";
								$Output .= "<ul>";
								$Output .= "<li>" . _view_channelviewer_menu_online . makeuserontime($userobject->onlinesecs) . "</li>";
								$Output .= "<li>" . _view_channelviewer_menu_idle . makeuserontime($userobject->idlesecs) . "</li>";
								$Output .= "<li>" . _view_channelviewer_menu_traffic . $userobject->bytespersec ." bps</li>";
								$Output .= "<li>" . _view_channelviewer_menu_client . $userobject->release ."</li>";
								$Output .= "<li>" . _view_channelviewer_menu_os . $userobject->os . " " . $userobject->osversion ."</li>";
								$Output .= "<li>" . _view_channelviewer_menu_ip . setMumbleIPaddress($userobject->address) ."</li>";
								$Output .= "</ul>";
								$Output .= "</div>";
								if ($userobject->comment != "") {
									$Output .= "<div class=\"column\">";
									$Output .= "<h3>" . _view_channelviewer_menu_comment . "</h3>";
									$Output .= "<ul>";
									$Output .= "<li>". $userobject->comment . "</li>";
									$Output .= "</ul>";
									$Output .= "</div>";
									$Output .= "<br style=\"clear: left\" />";
								}
								$Output .= "</div>";
						}

						if ($userobject->userid != -1) {
							$Output .= "<img class=view_status1 border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/auth.png>";
							$class = "1" + "1";	
							} else {
								$class = "1";	
						}
						
						if ($userobject->selfDeaf) {
							$Output .= "<img class=view_status".$class." border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/deafened_self.png>";	
							$class = $class + "1";
						}
						
						if ($userobject->selfMute) {
							$Output .= "<img class=view_status".$class." border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/muted_self.png>";	
							$class = $class + "1";
						}
						
						if ($userobject->suppress) {
							$Output .= "<img class=view_status".$class." border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/suppressed.png>";	
							$class = $class + "1";
						}
						
						if ($userobject->mute) {
							$Output .= "<img class=view_status".$class." border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/muted_server.png>";	
							$class = $class + "1";
						}
						
						if ($userobject->deaf) {
							$Output .= "<img class=view_status".$class." border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/deafened_server.png>";	
							$class = $class + "1";
						}
						
						if ($userobject->comment) {
							$Output .= "<img class=view_status".$class." border=0 src=../inc/tpl/".$tpldir."/images/channelviewer/comment.png>";	
						}
						
						$Output .= "<br></div>\n"; 
						
						return $menustatus;
					}
				
					$base = $ICE->stringToProxy("Meta:tcp -h ".$SliceHost." -p ".$SlicePort."");
					$meta = $base->ice_checkedCast("::Murmur::Meta");
				
					$servers = $meta->getBootedServers();
					$default = $meta->getDefaultConf();
					
					if($server_id) {
					    $s = $meta->getServer(intval($server_id));
					    $port = $s->getConf('port');
					    if (! $port) {
							$port =  $default['port']+$server_id -1;
					    }
					    
					    $url = $url . $port . '/';
				
					    $name = $s->getConf("registername");
					    if (! $name) {
					      $name =  $default["registername"];
					    }
					   
						$tree = $s->getTree();
						
						$Output .= "<div class=\"channel\">\n";
						viewtree($tree,$url,$name); 
						$Output .= "</div>\n";
						
						//Developers only!!!
						// If you wanna see the entire Mumbletree Object uncomment the following line.  
						//print_r($tree);
					}  
					} catch (Ice_Exception $error) {
						$Output = _view_server_switched_off_short;
				}
			                				 
			} else {
            	$Output = _view_ice_switched_off_short;
            }
			
			//Daten ans Formular schicken und / bzw. es aufrufen  
			$content_headers = array("head_on" => TRUE,
									 "head_type" => "default",
			                         "head_value" => _view_channelviewer_head.$ServerData[name],
									 "navi_on" => TRUE,
									 "navi_type" => "default",
									 );      
			$index = show("$dir/tree", array("channel_tree" => $Output,
											 "action_head" => _view_channelviewer_action_head,
											 "include" => "<img src=\"../inc/tpl/".$tpldir."/images/activate.png\" alt=\"\" border=\"0\"><a href=\"../view/index.php?section=include&server_id=".$server_id."\" target=\"_self\">"._view_channelviewer_include."</a>",
											 "view_config" => "<img src=\"../inc/tpl/".$tpldir."/images/settings.png\" alt=\"\" border=\"0\"><a href=\"../view/index.php?section=settings&server_id=".$server_id."\" target=\"_self\">"._view_channelviewer_settings."</a>",
			                				 ));

			//Loggingfunktion, Übergabe der Werte: Channelviewer
	        //Definiert ob etwas geloggt werden soll
			$log_values["on"] = TRUE;
			//Pflichtwerte
			$log_values["user_id"] = $_COOKIE['MAP_user_id'];		//Definiert den User (die User_id) der gerade Aktiv war
			$log_values["action_id"] = "view_show_4";				//Definiert was gerade von User gemacht wurde: (section)_(show, db)_anzahl
			$log_values["priority"] = "1";							//Definiert die Wichtigkeit dieser Section: 2=wichtig; 1=normal
			$log_values["area"] = $dir;								//Definiert die Section (für Spätere auswertung)
			//Definierbare Werte (optional)
			$log_values["server_id"] = $server_id;					//Definiert die Server_ID (kann frei gelassen werden)
			$log_values["value_1"] = $ServerData[name];				//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)               				 
			                				 
            //Ende definition eigentliche Funktionen dieser Section^^
        	} else {
                //Meldung an MAP User, dass er für diesen Bereich keine Berechtigungen hat
                $info = "<br><div align=\"center\"><div class='savearea'>"._no_permissions."</div></div>";
        }
        } else {
            //Meldung an Besucher, dass er keine Berechtigung hat und sich einloggen muss um diesen Bereich zu sehen
            $info = "<br><div align=\"center\"><div class='savearea'>"._save_area."</div></div>";
            autoforward("../start/index.php",5);
    }   
                				 
break;
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **ENDE**  Channelviewer
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **START**  Default Page
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
default:
	// Definition Seitentitel
	$seitentitel .= _pagetitel_view_overview;

    // Check ob User eingeloggt, ansonsten wird Fehlermeldung angezeigt
    if (isset($_COOKIE['MAP_user_id'])&& isset($_COOKIE['MAP_user_pwd'])) {
        // Check ob User berechtigt ist diesen zu sehen, ansonsten wird Fehlermeldung angezeigt
        if ($perm_s_channelviewer == "TRUE") {      
            //Start definition eigentliche Funktionen dieser Section:
            //Anzeige für SuperAdmin der alle Server sehen kann mit server_id = 0
            $qry = mysql_query("SELECT * FROM `".$database_prefix."map_user` WHERE user_id = '".$_COOKIE['MAP_user_id']."' LIMIT 1");
            $qry = mysql_fetch_array($qry);
            if ($qry[server_id] == "0") {
                $qry = mysql_query("SELECT * FROM `".$database_prefix."map_servers` ORDER BY server_id ASC");
                while ($get = mysql_fetch_array($qry)) {
                $list .= show("$dir/view_overview_list", array("image" => "<a href=\"../view/index.php?section=channelviewer&server_id=$get[server_id]\" target=\"_self\"><img src=\"../inc/tpl/".$tpldir."/images/server.png\" alt=\"\" border=\"0\"></a>",
                                                               "name" => "<a href=\"../view/index.php?section=channelviewer&server_id=$get[server_id]\" target=\"_self\">".$get[name]."</a>",
                                                               ));
                }
                $content_headers = array("head_on" => TRUE,
										 "head_type" => "default",
				                         "head_value" => _view_overview_head,
										 "navi_on" => TRUE,
										 "navi_type" => "default",
										 ); 
                $index = show("$dir/view_overview", array("list" => $list,
                                                          "discription" => _view_discription,
                										  ));  
            	//Anzeige für MAP User der nur auf einen bestimmten Server zugreifen darf     
            	} elseif ($qry[server_id] != "0") {
                	header("Location: ./index.php?section=channelviewer&server_id=$qry[server_id]");           
            }
            
            //Ende definition eigentliche Funktionen dieser Section^^
        	} else {
                //Meldung an MAP User, dass er für diesen Bereich keine Berechtigungen hat
                $info = "<br><div align=\"center\"><div class='savearea'>"._no_permissions."</div></div>";
        }
        } else {
            //Meldung an Besucher, dass er keine Berechtigung hat und sich einloggen muss um diesen Bereich zu sehen
            $info = "<br><div align=\"center\"><div class='savearea'>"._save_area."</div></div>";
            autoforward("../start/index.php",5);
    }   
break;
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
// **ENDE**  Default Page
//*<>*~~**<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~*<>*~~//
}
//************************************************************************************************//
// Ende des Ausgabeinhalts
//************************************************************************************************//
//************************************************************************************************//
// **START** LÃ¤dt das Template
//************************************************************************************************//
include("../inc/layout.php");
//************************************************************************************************//
// **ENDE**  Lädt das Template
//************************************************************************************************//
//************************************************************************************************//
// **START** Lädt die Loggingfunktionen
//************************************************************************************************//
include("../inc/logging.php");
//************************************************************************************************//
// **ENDE**  Lädt die Loggingfunktionen
//************************************************************************************************//
?>