From c9d97bfb2d2349194188d66e92e4adbafaba8b14 Mon Sep 17 00:00:00 2001
From: vogelor <vogelor@ispconfig3>
Date: Fri, 30 Apr 2010 20:19:47 -0400
Subject: [PATCH] The monitor now supports OpenVZ-Hosts and OpenVZ-VE's

---
 interface/web/monitor/show_sys_state.php |  855 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 475 insertions(+), 380 deletions(-)

diff --git a/interface/web/monitor/show_sys_state.php b/interface/web/monitor/show_sys_state.php
index 405492c..e089304 100644
--- a/interface/web/monitor/show_sys_state.php
+++ b/interface/web/monitor/show_sys_state.php
@@ -35,15 +35,15 @@
 $app->auth->check_module_permissions('monitor');
 
 /* Change the Server if needed */
-if (isset($_GET['server'])){
-    $server = explode('|', $_GET['server'], 2);
-    $_SESSION['monitor']['server_id'] = $server[0];
-    $_SESSION['monitor']['server_name'] = $server[1];
+if (isset($_GET['server'])) {
+	$server = explode('|', $_GET['server'], 2);
+	$_SESSION['monitor']['server_id'] = $server[0];
+	$_SESSION['monitor']['server_name'] = $server[1];
 }
 
 /*
  *  Loading the template
- */
+*/
 $app->uses('tpl');
 $app->tpl->newTemplate("form.tpl.htm");
 $app->tpl->setInclude('content_tpl','templates/show_sys_state.htm');
@@ -53,18 +53,17 @@
 
 /*
  * setting the content
- */
-if ($_GET['state'] == 'server')
-{
-    $output = _getServerState($_SESSION['monitor']['server_id'], $_SESSION['monitor']['server_name'], true);
-    $title = $app->lng("monitor_general_serverstate_txt");
-    $stateType = 'server';
+*/
+if ($_GET['state'] == 'server') {
+	$res = _getServerState($_SESSION['monitor']['server_id'], $_SESSION['monitor']['server_name'], true);
+	$output = $res['html_verbose'];
+	$title = $app->lng("monitor_general_serverstate_txt");
+	$stateType = 'server';
 }
-else
-{
-    $output = _getSysState();
-    $title = $app->lng("monitor_general_systemstate_txt");
-    $stateType = 'system';
+else {
+	$output = _getSysState();
+	$title = $app->lng("monitor_general_systemstate_txt");
+	$stateType = 'system';
 }
 
 $app->tpl->setVar("state_data",$output);
@@ -89,428 +88,524 @@
 		$tmp .= "<option value='$key'>$val</option>";
 	}
 }
-$app->tpl->setVar("refresh",$tmp);
+$app->tpl->setVar("refresh", $tmp);
 
 /*
  * doing the output
- */
+*/
 $app->tpl_defaults();
 $app->tpl->pparse();
 
 
-function _getSysState(){
-    global $app;
+/*
+ * Creates HTML representing the state of the system (of all servers)
+*/
+function _getSysState() {
+	global $app;
 
-    /*
-     * Get all Servers and calculate the state of them
-     */
-    $html = '';
+	/** The data of all Servers as (sorted by name) array */
+	$serverData = array();
 
-    $servers = $app->db->queryAllRecords("SELECT server_id, server_name FROM server order by server_name");
-    foreach ($servers as $server)
-    {
-        $html .= _getServerState($server['server_id'], $server['server_name'], false);
-    }
+	/*
+     * Get all servers and calculate the state of them
+	*/
+	$servers = $app->db->queryAllRecords("SELECT server_id, server_name FROM server order by server_name");
+	foreach ($servers as $server) {
+		$serverData[] = _getServerState($server['server_id'], $server['server_name'], false);
+	}
 
-    return $html;
+	/*
+	 * Now we have a array with all servers. Some of them are normal servers, some of them
+	 * are OpenVz-Hosts and some are OpenVz-VE's. Next we need to know which of them are
+	 * OpenVz-VE's inside a OpenVz-Host (managed by the Monitor). If there is a OpenVZ-VE
+	 * inside a OpenVz-Host which is NOT in the Server-Farm and so not handled by the monitor,
+	 * we handle it like a "normal" server (in the output of the system-state)
+	*/
+	foreach ($serverData as $data) {
+		/* get all VE's of this server */
+		$veInfo = $data['ve_info'];
+
+		/*
+		 * if we found some, mark them all as VE's
+		*/
+		if (is_array($veInfo)) {
+			foreach ($veInfo as $info) {
+				for ($i = 0; $i < sizeof($serverData); $i++) {
+					if ($serverData[$i]['server_name'] == $info['hostname']) {
+						$serverData[$i]['is_ve'] = true;
+					}
+				}
+			}
+		}
+	}
+	
+	/*
+	 * Now we have to output all "normal" server or all OpenVZ-Hosts (or all OpenVZ-VE's without
+	 * a OpenVZ-Host managed by ISPConfig). The OpenVz-VE's are then included in them...
+	*/
+	$html = '';
+
+	foreach ($serverData as $data) {
+		if (!isset($data['is_ve'])) {
+			/*
+			 * it is NOT a Ve, so do the output of this server and off all VE's included in them
+			 */
+			$html .= $data['html_server'];
+			/* get all VE's of this server */
+			$veInfo = $data['ve_info'];
+			foreach ($veInfo as $info) {
+				for ($i = 0; $i < sizeof($serverData); $i++) {
+					if ($serverData[$i]['server_name'] == $info['hostname']) {
+						$html = str_replace('##VE_INFO##', $serverData[$i]['html_ve'] . '##VE_INFO##', $html);
+					}
+				}
+			}
+			$html = str_replace('##VE_INFO##', '', $html);
+		}
+	}
+	return $html;
 }
 
-/*
- * Calculates the State of ONE Server
+
+/**
+ * returns the state and html of ONE Server
+ * @param integer $serverId the id of the server
+ * @param string $serverName the hostname (like server1.yourdomain.com)
+ * @return array the state and representing html of the server
  */
-function _getServerState($serverId, $serverName, $showAll)
-{
-    global $app;
+function _getServerState($serverId, $serverName) {
+	global $app;
 
-    /*  The State of the server */
-    $serverState = 'ok';
+	/*  The State of the server */
+	$serverState = 'ok';
 
-    /** The messages */
-    $messages = array();
+	/** The messages */
+	$messages = array();
 
-    /** The Result of the function */
-    $res = '';
+	/** The Result of the function */
+	$res = '';
 
-    /*
-     * get all monitoring-data from the server als process then
-     * (count them and set the server-state)
-     */
-    $records = $app->db->queryAllRecords("SELECT DISTINCT type, data FROM monitor_data WHERE server_id = " . $serverId);
-    $osData = null;
-	foreach($records as $record){
-        /* get the state from the db-data */
+	/*
+     * Get all monitoring-data from the server and process then
+	*/
+	$records = $app->db->queryAllRecords("SELECT DISTINCT type, data FROM monitor_data WHERE server_id = " . $serverId);
+	$osData = null;
+	$veInfo = null;
+	foreach($records as $record) {
+		/* get the state from the db-data */
 		_processDbState($record['type'], $serverId, &$serverState, &$messages);
 		/* if we have the os-info, get it */
-		if ($record['type'] == 'os_info') $osData = unserialize($record['data']);
-    }
-
-    $res .= '<div class="systemmonitor-state state-'.$serverState.'">';
-    $res .= '<div class="systemmonitor-device device-server">';
-    $res .= '<div class="systemmonitor-content icons32 ico-'.$serverState.'">';
-    $res .= $app->lng("monitor_serverstate_server_txt") . ': ' . $serverName;
-	if ($osData != null){
-		$res .= ' (' . $osData['name'] . ' ' . $osData['version'] . ')';
+		if ($record['type'] == 'os_info') {
+			$osData = unserialize($record['data']);
+		}
+		/* if we have the ve-info, get it */
+		if ($record['type'] == 'openvz_veinfo') {
+			$veInfo = unserialize($record['data']);
+		}
 	}
-	$res .= '<br />';
-    $res .= $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . ' (';
-    //        $res .= sizeof($messages[$app->lng("monitor_serverstate_listok_txt")]) . ' ok | ';
-    $res .= sizeof($messages[$app->lng("monitor_serverstate_listunknown_txt")]) . ' ' . $app->lng("monitor_serverstate_unknown_txt") . ', ';
-    $res .= sizeof($messages[$app->lng("monitor_serverstate_listinfo_txt")]) . ' ' . $app->lng("monitor_serverstate_info_txt") . ', ';
-    $res .= sizeof($messages[$app->lng("monitor_serverstate_listwarning_txt")]) . ' ' . $app->lng("monitor_serverstate_warning_txt") . ', ';
-    $res .= sizeof($messages[$app->lng("monitor_serverstate_listcritical_txt")]) . ' ' . $app->lng("monitor_serverstate_critical_txt") . ', ';
-    $res .= sizeof($messages[$app->lng("monitor_serverstate_listerror_txt")]) . ' ' . $app->lng("monitor_serverstate_error_txt") . '';
-    $res .= ')<br />';
 
-    if ($showAll){
-        /*
-         * if we have to show all, then we do it...
-         */
+	/*
+	 * We now have the state of the server. Lets now create the HTML representing this state.
+	 * If we actually don't know, which type of verbose we need, let's create all
+	*/
 
-        /*
-        * Show all messages
-        */
-        foreach($messages as $key => $state){
-            /*
-             * There is no need, to show the "ok" - messages
-             */
-//            if ($key != 'ok')
-            {
-                $res .= $key . ':<br />';
-                foreach ($state as $msg)
-                {
-                    $res .= $msg . '<br />';
-                }
-                $res .= '<br />';
-            }
-        }
-    }
-    else
-    {
-        /*
-         * if not, we only show a link to the server...
-         */
-        $res .= "<a href='#' onclick='loadContent(\"monitor/show_sys_state.php?state=server&server=" . $serverId . '|' . $serverName . "\");'>" . $app->lng("monitor_serverstate_moreinfo_txt") . "</a>";
-    }
-    $res .= '</div>';
-    $res .= '</div>';
-    $res .= '</div>';
+	/*
+	 * Info of a VE inside a OpenVz-Host
+	*/
+	$html_ve  = '<div class="systemmonitor-state state-' . $serverState . '-ve">';
+	$html_ve .= '<div class="systemmonitor-device device-ve">';
+	$html_ve .= '<div class="systemmonitor-content icons32 ico-' . $serverState . '">';
+	$html_ve .= $serverName . '<br>';
+	if ($osData != null) {
+		$html_ve .= $osData['name'] . ' ' . $osData['version'] . '<br>';
+	}
+	$html_ve .= $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . '<br>';
 
-    if ($showAll){
-        /*
-         * Show some state-info
-         */
-        //$res .= showServerLoad();
-        //$res .= '&nbsp;'. showDiskUsage();
-        //$res .= '&nbsp;'.showServices();
-    }
+	/*
+	 * Info of a "normal" Server or a OpenVz-Host
+	*/
+	$html_server .= '<div class="systemmonitor-state state-' . $serverState . '">';
+	$html_server .= '<div class="systemmonitor-device device-server">';
+	$html_server .= '<div class="systemmonitor-content icons32 ico-' . $serverState . '">';
+	$html_server .= $app->lng("monitor_serverstate_server_txt") . ': ' . $serverName;
+	if ($osData != null) {
+		$html_server .= ' (' . $osData['name'] . ' ' . $osData['version'] . ')';
+	}
 
+	$html_server .= '<br />';
+	$html_server .= $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . ' (';
+	$html_server .= sizeof($messages[$app->lng("monitor_serverstate_listunknown_txt")]) . ' ' . $app->lng("monitor_serverstate_unknown_txt") . ', ';
+	$html_server .= sizeof($messages[$app->lng("monitor_serverstate_listinfo_txt")]) . ' ' . $app->lng("monitor_serverstate_info_txt") . ', ';
+	$html_server .= sizeof($messages[$app->lng("monitor_serverstate_listwarning_txt")]) . ' ' . $app->lng("monitor_serverstate_warning_txt") . ', ';
+	$html_server .= sizeof($messages[$app->lng("monitor_serverstate_listcritical_txt")]) . ' ' . $app->lng("monitor_serverstate_critical_txt") . ', ';
+	$html_server .= sizeof($messages[$app->lng("monitor_serverstate_listerror_txt")]) . ' ' . $app->lng("monitor_serverstate_error_txt") . '';
+	$html_server .= ')<br />';
 
-    return $res;
+	/*
+	 * Verbose - Info 
+	*/
+	$html_verbose = $html_server;
+	foreach($messages as $key => $state) { {
+			$html_verbose .= $key . ':<br />';
+			foreach ($state as $msg) {
+				$html_verbose .= $msg . '<br />';
+			}
+			$html_verbose .= '<br />';
+		}
+	}
+
+	/*
+	 * The normal info also needs a link to the verbose info
+	*/
+	$html_ve .= "<a href='#' onclick='loadContent(\"monitor/show_sys_state.php?state=server&server=" . $serverId . '|' . $serverName . "\");'>" . $app->lng("monitor_serverstate_moreinfo_txt") . "</a>";
+	$html_server .= "<a href='#' onclick='loadContent(\"monitor/show_sys_state.php?state=server&server=" . $serverId . '|' . $serverName . "\");'>" . $app->lng("monitor_serverstate_moreinfo_txt") . "</a>";
+
+	/*
+	 * Finish all html's
+	*/
+	$html_ve      .= '</div></div></div>';
+	$html_server  .= '<div>##VE_INFO##</div></div></div></div>';
+	$html_verbose .= '</div></div></div>';
+
+	/*
+	 * create and return the result
+	*/
+	$res['state'] = $serverState;
+	$res['server_name'] = $serverName;
+	$res['html_server'] = $html_server;
+	$res['html_ve'] = $html_ve;
+	$res['html_verbose'] = $html_verbose;
+	$res['ve_info'] = $veInfo;
+	return $res;
 }
 
 /*
  * gets the state from the db and process it
- */
-function _processDbState($type, $serverId, $serverState, $messages)
-{
-    global $app;
+*/
+function _processDbState($type, $serverId, $serverState, $messages) {
+	global $app;
 
-   /*
+	/*
     * Always the NEWEST record of each monitoring is responsible for the
     * state
-    */
-    // get the State from the DB
-    $record = $app->db->queryOneRecord("SELECT state FROM monitor_data WHERE type = '" . $type . "' and server_id = " . $serverId . " order by created desc");
-    // change the new state to the highest state
-    $serverState = _setState($serverState, $record['state']);
+	*/
+// get the State from the DB
+	$record = $app->db->queryOneRecord("SELECT state FROM monitor_data WHERE type = '" . $type . "' and server_id = " . $serverId . " order by created desc");
+// change the new state to the highest state
+	$serverState = _setState($serverState, $record['state']);
 
-    /*
+	/*
      * The message depands on the type and the state
-     */
-    if ($type == 'cpu_info'){
-        /* this type has no state */
-    }
-    if ($type == 'disk_usage'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_hdok_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'info':
-                $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_hdgoingfull_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'warning':
-                $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_hdnearlyfull_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'critical':
-                $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_hdveryfull_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'error':
-                $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_hdfull_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
+	*/
+	if ($type == 'cpu_info') {
+		/* this type has no state */
+	}
+	if ($type == 'disk_usage') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_hdok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'info':
+				$messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_hdgoingfull_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'warning':
+				$messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_hdnearlyfull_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'critical':
+				$messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_hdveryfull_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'error':
+				$messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_hdfull_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
 
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_hdunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
-    if ($type == 'mem_usage'){
-        /* this type has no state */
-    }
-    if ($type == 'server_load'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_loadok_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'info':
-                $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_loadheavy_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'warning':
-                $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_loadhigh_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'critical':
-                $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_loadhigher_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'error':
-                $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_loadhighest_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_loadunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
-    if ($type == 'services'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_servicesonline_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_hdunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=disk_usage\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
+	if ($type == 'mem_usage') {
+		/* this type has no state */
+	}
+	if ($type == 'server_load') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_loadok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'info':
+				$messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_loadheavy_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'warning':
+				$messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_loadhigh_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'critical':
+				$messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_loadhigher_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'error':
+				$messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_loadhighest_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_loadunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=server_load\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
+	if ($type == 'services') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_servicesonline_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
 
-                break;
-            case 'error':
-                $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_servicesoffline_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_servicesunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
-    if ($type == 'system_update'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_updatesok_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'error':
+				$messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_servicesoffline_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_servicesunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=services\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
+	if ($type == 'system_update') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_updatesok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
 
-                break;
-            case 'warning':
-                $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_updatesneeded_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'no_state':
-                /*
+				break;
+			case 'info':
+				$messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_updatesneeded_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'no_state':
+			/*
                  *  not debian and not Ubuntu, so the state could not be monitored...
-                 */
-                break;
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_updatesunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
+			*/
+				break;
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_updatesunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=system_update\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
 
-    if ($type == 'raid_state'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_raidok_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'info':
-                $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_raidresync_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'critical':
-                $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_raidfault_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'error':
-                $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_raiderror_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'no_state':
-                /*
+	if ($type == 'raid_state') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_raidok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'info':
+				$messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_raidresync_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'critical':
+				$messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_raidfault_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'error':
+				$messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_raiderror_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'no_state':
+			/*
                  *  mdadm is not installed or the RAID is not supported...
-                 */
-                break;
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_raidunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
+			*/
+				break;
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_raidunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=raid_state\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
+
+	if ($type == 'openvz_beancounter') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_beancounterok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'info':
+				$messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_beancounterinfo_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'warning':
+				$messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_beancounterwarning_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'critical':
+				$messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_beancountercritical_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'error':
+				$messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_beancountererror_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=openvz_beancounter\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			default:
+				break;
+		}
+	}
 
 
-    if ($type == 'mailq'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_mailqok_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'info':
-                $messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_mailqheavy_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'warning':
-                $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_mailqhigh_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'critical':
-                $messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_mailqhigher_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'error':
-                $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_mailqhighest_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_mailqunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
+	if ($type == 'mailq') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_mailqok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'info':
+				$messages[$app->lng("monitor_serverstate_listinfo_txt")][] = $app->lng("monitor_serverstate_mailqheavy_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'warning':
+				$messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_mailqhigh_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'critical':
+				$messages[$app->lng("monitor_serverstate_listcritical_txt")][] = $app->lng("monitor_serverstate_mailqhigher_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'error':
+				$messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_mailqhighest_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_mailqunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_data.php?type=mailq\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
 
-    if ($type == 'sys_log'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_syslogok_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'warning':
-                $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_syslogwarning_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'error':
-                $messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_syslogerror_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_syslogunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
+	if ($type == 'sys_log') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_syslogok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'warning':
+				$messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_syslogwarning_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'error':
+				$messages[$app->lng("monitor_serverstate_listerror_txt")][] = $app->lng("monitor_serverstate_syslogerror_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_syslogunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/log_list.php\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
 
-    if ($type == 'log_clamav'){
-        /* this type has no state */
-    }
+	if ($type == 'log_clamav') {
+		/* this type has no state */
+	}
 
-	if ($type == 'log_freshclam'){
-        switch ($record['state']) {
-            case 'ok':
-                $messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_fclamok_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            case 'warning':
-                $messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_fclamoutdated_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-            default:
-                $messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_fclamunknown_txt") . ' ' .
-                                    "<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
-                break;
-        }
-    }
+	if ($type == 'log_freshclam') {
+		switch ($record['state']) {
+			case 'ok':
+				$messages[$app->lng("monitor_serverstate_listok_txt")][] = $app->lng("monitor_serverstate_fclamok_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			case 'info':
+				$messages[$app->lng("monitor_serverstate_listwarning_txt")][] = $app->lng("monitor_serverstate_fclamoutdated_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+			default:
+				$messages[$app->lng("monitor_serverstate_listunknown_txt")][] = $app->lng("monitor_serverstate_fclamunknown_txt") . ' ' .
+						"<a href='#' onclick='loadContent(\"monitor/show_log.php?log=log_freshclam\");'>[" . $app->lng("monitor_serverstate_more_txt") . "]</a>";
+				break;
+		}
+	}
 
-    if ($type == 'log_ispconfig'){
-        /* this type has no state */
-    }
-    if ($type == 'log_mail'){
-        /* this type has no state */
-    }
-    if ($type == 'log_mail_err'){
-        /* this type has no state */
-    }
-    if ($type == 'log_mail_warn'){
-        /* this type has no state */
-    }
-    if ($type == 'log_messages'){
-        /* this type has no state */
-    }
-    if ($type == 'rkhunter'){
-        /* this type has no state */
-    }
+	if ($type == 'log_ispconfig') {
+		/* this type has no state */
+	}
+	if ($type == 'log_mail') {
+		/* this type has no state */
+	}
+	if ($type == 'log_mail_err') {
+		/* this type has no state */
+	}
+	if ($type == 'log_mail_warn') {
+		/* this type has no state */
+	}
+	if ($type == 'log_messages') {
+		/* this type has no state */
+	}
+	if ($type == 'rkhunter') {
+		/* this type has no state */
+	}
 }
 
- /*
+/*
   * Set the state to the given level (or higher, but not lesser).
   * * If the actual state is critical and you call the method with ok,
   *   then the state is critical.
   *
   * * If the actual state is critical and you call the method with error,
   *   then the state is error.
-  */
-function _setState($oldState, $newState)
-{
-   /*
+*/
+function _setState($oldState, $newState) {
+	/*
     * Calculate the weight of the old state
-    */
-    switch ($oldState) {
-        case 'no_state': $oldInt = 0;
-            break;
-        case 'ok': $oldInt = 1;
-            break;
-        case 'unknown': $oldInt = 2;
-            break;
-        case 'info': $oldInt = 3;
-            break;
-        case 'warning': $oldInt = 4;
-            break;
-        case 'critical': $oldInt = 5;
-            break;
-        case 'error': $oldInt = 6;
-            break;
-    }
-        /*
+	*/
+	switch ($oldState) {
+		case 'no_state': $oldInt = 0;
+			break;
+		case 'ok': $oldInt = 1;
+			break;
+		case 'unknown': $oldInt = 2;
+			break;
+		case 'info': $oldInt = 3;
+			break;
+		case 'warning': $oldInt = 4;
+			break;
+		case 'critical': $oldInt = 5;
+			break;
+		case 'error': $oldInt = 6;
+			break;
+	}
+	/*
          * Calculate the weight of the new state
-         */
-    switch ($newState) {
-        case 'no_state': $newInt = 0 ;
-            break;
-        case 'ok': $newInt = 1 ;
-            break;
-        case 'unknown': $newInt = 2 ;
-            break;
-        case 'info': $newInt = 3 ;
-            break;
-        case 'warning': $newInt = 4 ;
-            break;
-        case 'critical': $newInt = 5 ;
-            break;
-        case 'error': $newInt = 6 ;
-            break;
-    }
+	*/
+	switch ($newState) {
+		case 'no_state': $newInt = 0 ;
+			break;
+		case 'ok': $newInt = 1 ;
+			break;
+		case 'unknown': $newInt = 2 ;
+			break;
+		case 'info': $newInt = 3 ;
+			break;
+		case 'warning': $newInt = 4 ;
+			break;
+		case 'critical': $newInt = 5 ;
+			break;
+		case 'error': $newInt = 6 ;
+			break;
+	}
 
-   /*
+	/*
     * Set to the higher level
-    */
-    if ($newInt > $oldInt){
-        return $newState;
-    }
-    else
-    {
-        return $oldState;
-    }
+	*/
+	if ($newInt > $oldInt) {
+		return $newState;
+	}
+	else {
+		return $oldState;
+	}
 }
 
 ?>

--
Gitblit v1.9.1