From c27941663bf568a0b49662a38e43a4e972bad47f Mon Sep 17 00:00:00 2001
From: cfoe <cfoe@ispconfig3>
Date: Tue, 07 Aug 2012 02:29:14 -0400
Subject: [PATCH] added support for extended generatePassword function
---
interface/web/monitor/show_sys_state.php | 166 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 103 insertions(+), 63 deletions(-)
diff --git a/interface/web/monitor/show_sys_state.php b/interface/web/monitor/show_sys_state.php
index e089304..43a9cc5 100644
--- a/interface/web/monitor/show_sys_state.php
+++ b/interface/web/monitor/show_sys_state.php
@@ -69,7 +69,7 @@
$app->tpl->setVar("state_data",$output);
$app->tpl->setVar("state_type",$stateType);
$app->tpl->setVar("list_head_txt",$title);
-$app->tpl->setVar("list_desc_txt",$description);
+$app->tpl->setVar("list_desc_txt",(isset($description) ? $description : ''));
$app->tpl->setVar("monTransRefreshsq", $monTransRefreshsq);
/*
@@ -138,7 +138,7 @@
}
}
}
-
+
/*
* 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...
@@ -149,14 +149,16 @@
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);
+ if(is_array($veInfo)) {
+ 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);
+ }
}
}
}
@@ -191,12 +193,20 @@
$records = $app->db->queryAllRecords("SELECT DISTINCT type, data FROM monitor_data WHERE server_id = " . $serverId);
$osData = null;
$veInfo = null;
+ $ispcData = null;
foreach($records as $record) {
/* get the state from the db-data */
- _processDbState($record['type'], $serverId, &$serverState, &$messages);
+ $tmp = _processDbState($record['type'], $serverId, $serverState, $messages);
+ $serverState = $tmp['serverState'];
+ $messages = $tmp['messages'];
+
/* if we have the os-info, get it */
if ($record['type'] == 'os_info') {
$osData = unserialize($record['data']);
+ }
+ /* if we have the ISPConfig-info, get it */
+ if ($record['type'] == 'ispc_info') {
+ $ispcData = unserialize($record['data']);
}
/* if we have the ve-info, get it */
if ($record['type'] == 'openvz_veinfo') {
@@ -212,46 +222,64 @@
/*
* 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>';
+ $html_ve = '<div class="systemmonitor-ve state-' . $serverState . '-ve os-' . $osData['name'] . '">';
+ if ($osData != null) {
+ $html_ve .= '<div class="icoDevice"><p class="status"></p></div>';
+ }
+ else {
+ $html_ve .= '<div class="icoDevice"><p class="status"></p></div>';
+ }
+ $html_ve .= '<div class="statusDevice"><p>' . $serverName;
if ($osData != null) {
- $html_ve .= $osData['name'] . ' ' . $osData['version'] . '<br>';
+ $html_ve .= ' (' . $osData['name'] . ' ' . $osData['version'] . ') ';
}
- $html_ve .= $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . '<br>';
+ if ($ispcData != null) {
+ $html_ve .= $ispcData['name'] . ' ' . $ispcData['version'] . '</p>';
+ }
+ else {
+ $html_ve .= '</p>';
+ }
+ $html_ve .= '<p>' . $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . '</p>';
/*
* 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;
+ $html_server = '<div class="systemmonitor-server state-' . $serverState . ' os-' . $osData['name'] . '">';
if ($osData != null) {
- $html_server .= ' (' . $osData['name'] . ' ' . $osData['version'] . ')';
+ $html_server .= '<div class="icoDevice"><p class="status"></p></div>';
+ }
+ else {
+ $html_server .= '<div class="icoDevice"><p class="status"></p></div>';
+ }
+ $html_server .= '<div class="statusDevice"><p>' . $app->lng("monitor_serverstate_server_txt") . ': ' . $serverName;
+ if ($osData != null) {
+ $html_server .= ' (' . $osData['name'] . ' ' . $osData['version'] . ') ';
}
+ if ($ispcData != null) {
+ $html_server .= $ispcData['name'] . ' ' . $ispcData['version'] . '</p>';
+ }
+ else {
+ $html_server .= '</p>';
+ }
- $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 />';
+ $html_server .= '<p>' . $app->lng("monitor_serverstate_state_txt") . ': ' . $serverState . ' (';
+ $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listunknown_txt")]) ? $messages[$app->lng("monitor_serverstate_listunknown_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_unknown_txt") . ', ';
+ $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listinfo_txt")]) ? $messages[$app->lng("monitor_serverstate_listinfo_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_info_txt") . ', ';
+ $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listwarning_txt")]) ? $messages[$app->lng("monitor_serverstate_listwarning_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_warning_txt") . ', ';
+ $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listcritical_txt")]) ? $messages[$app->lng("monitor_serverstate_listcritical_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_critical_txt") . ', ';
+ $html_server .= sizeof((isset($messages[$app->lng("monitor_serverstate_listerror_txt")]) ? $messages[$app->lng("monitor_serverstate_listerror_txt")] : array())) . ' ' . $app->lng("monitor_serverstate_error_txt") . '';
+ $html_server .= ')</p>';
/*
* 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 />';
+ foreach($messages as $key => $state) {
+ $html_verbose .= $key . ':<br />';
+ foreach ($state as $msg) {
+ $html_verbose .= $msg . '<br />';
}
+ $html_verbose .= '<br />';
}
/*
@@ -280,7 +308,7 @@
}
/*
- * gets the state from the db and process it
+* gets the state from the db and process it
*/
function _processDbState($type, $serverId, $serverState, $messages) {
global $app;
@@ -289,10 +317,17 @@
* Always the NEWEST record of each monitoring is responsible for the
* state
*/
-// get the State from the DB
+ // 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']);
+
+ // change the new state to the highest state
+ /*
+ * Monitoring the user_beancounter of a VE is not as easy as i thought, so for now ignore
+ * this state (if we have a better solution)
+ */
+ if ($type != 'openvz_beancounter') {
+ $serverState = _setState($serverState, $record['state']);
+ }
/*
* The message depands on the type and the state
@@ -430,32 +465,35 @@
}
}
- 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;
- }
- }
+ /*
+ * ignore, until we find a better solution
+ */
+// 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') {
@@ -547,6 +585,8 @@
if ($type == 'rkhunter') {
/* this type has no state */
}
+
+ return array('serverState' => $serverState,'messages' => $messages);
}
/*
--
Gitblit v1.9.1