From 9cd0f6e2287a9c91603ca8c594b961b0f7a78a8b Mon Sep 17 00:00:00 2001
From: vogelor <vogelor@ispconfig3>
Date: Tue, 25 Nov 2008 21:23:51 +0000
Subject: [PATCH] some improvement of the monitor output

---
 interface/web/monitor/show_sys_state.php      | 21 +++++++
 .../web/monitor/templates/show_sys_state.htm  |  6 +-
 interface/web/monitor/tools.inc.php           | 60 +++++++++++++++----
 .../default/css/screen/content_ispc.css       | 28 ++++-----
 4 files changed, 85 insertions(+), 30 deletions(-)

diff --git a/interface/web/monitor/show_sys_state.php b/interface/web/monitor/show_sys_state.php
index 2f19fc4556..1cb7652c1f 100644
--- a/interface/web/monitor/show_sys_state.php
+++ b/interface/web/monitor/show_sys_state.php
@@ -55,17 +55,38 @@ if ($_GET['state'] == 'server')
 {
     $output = _getServerState($_SESSION['monitor']['server_id'], $_SESSION['monitor']['server_name'], true);
     $title = "Server State";
+    $stateType = 'server';
 }
 else
 {
     $output = _getSysState();
     $title = "System State";
+    $stateType = 'system';
 }
 
 $app->tpl->setVar("state_data",$output);
+$app->tpl->setVar("state_type",$stateType);
 $app->tpl->setVar("title",$title);
 $app->tpl->setVar("description",$description);
 
+/*
+ Creating the array with the refresh intervals
+ Attention: the core-moule ist triggered every 5 minutes,
+            so reload every 2 minutes is impossible!
+*/
+$refresh = (isset($_GET["refresh"]))?intval($_GET["refresh"]):0;
+
+$refresh_values = array('0' => '- '.$app->lng("No Refresh").' -','5' => '5 '.$app->lng("minutes"),'10' => '10 '.$app->lng("minutes"),'15' => '15 '.$app->lng("minutes"),'30' => '30 '.$app->lng("minutes"),'60' => '60 '.$app->lng("minutes"));
+$tmp = '';
+foreach($refresh_values as $key => $val) {
+	if($key == $refresh) {
+		$tmp .= "<option value='$key' SELECTED>$val</option>";
+	} else {
+		$tmp .= "<option value='$key'>$val</option>";
+	}
+}
+$app->tpl->setVar("refresh",$tmp);
+
 /*
  * doing the output
  */
diff --git a/interface/web/monitor/templates/show_sys_state.htm b/interface/web/monitor/templates/show_sys_state.htm
index 8281f0ba8d..18430a8830 100644
--- a/interface/web/monitor/templates/show_sys_state.htm
+++ b/interface/web/monitor/templates/show_sys_state.htm
@@ -2,13 +2,13 @@
 
 <div class="panel">
 
-  <!--div class="pnl_toolsarea">
+  <div class="pnl_toolsarea">
     <fieldset><legend>Tools</legend>
       <div class="buttons">
-        <select name="refreshinterval" id="refreshinterval" onChange="loadContentRefresh('monitor/show_log.php?log={tmpl_var name="log_id"}')">{tmpl_var name="refresh"}</select>
+        <select name="refreshinterval" id="refreshinterval" onChange="loadContentRefresh('monitor/show_sys_state.php?state={tmpl_var name="state_type"}')">{tmpl_var name="refresh"}</select>
       </div>
     </fieldset>
-  </div-->
+  </div>
 
   <div class="pnl_formarea">
     <fieldset><!-- legend>Sys-State</legend -->
diff --git a/interface/web/monitor/tools.inc.php b/interface/web/monitor/tools.inc.php
index 5780a25b2a..1def6aaedd 100644
--- a/interface/web/monitor/tools.inc.php
+++ b/interface/web/monitor/tools.inc.php
@@ -39,7 +39,9 @@ function showServerLoad(){
         Format the data
         */
         $html =
-        '<table id="system_load">
+           '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '">
+            <div class="systemmonitor-state-' . $record['state'] . '-icon">
+            <table>
             <tr>
             <td>' . $app->lng("Server online since").':</td>
             <td>' . $data['up_days'] . ' days, ' . $data['up_hours'] . ':' . $data['up_minutes'] . ' hours</center></td>
@@ -60,7 +62,9 @@ function showServerLoad(){
             <td>'.$app->lng("System load 15 minutes").':</td>
             <td>' . $data['load_15'] . '</td>
             </tr>
-            </table>';
+            </table>
+            </div>
+            </div>';
     } else {
         $html = '<p>'.$app->lng("no_data_serverload_txt").'</p>';
     }
@@ -80,7 +84,18 @@ function showDiskUsage () {
         /*
         Format the data
         */
-        $html = '<table id="system_disk">';
+        $html =
+           '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '">
+            <div class="systemmonitor-state-' . $record['state'] . '-icon">
+            <table>
+            <tr>
+            <td>Filesystem</td>
+            <td>1K-blocks</td>
+            <td>Used</td>
+            <td>Available</td>
+            <td>Use%</td>
+            <td>Mounted on</td>
+            </tr>';
         foreach($data as $line) {
             $html .= '<tr>';
             foreach ($line as $item) {
@@ -89,6 +104,7 @@ function showDiskUsage () {
             $html .= '</tr>';
         }
         $html .= '</table>';
+        $html .= '</div></div>';
     } else {
         $html = '<p>'.$app->lng("no_data_diskusage_txt").'</p>';
     }
@@ -111,7 +127,10 @@ function showMemUsage ()
         /*
         Format the data
         */
-        $html = '<table id="system_memusage">';
+        $html =
+           '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '">
+            <div class="systemmonitor-state-' . $record['state'] . '-icon">
+            <table>';
 
         foreach($data as $key => $value){
             if ($key != '') {
@@ -122,6 +141,8 @@ function showMemUsage ()
             }
         }
         $html .= '</table>';
+        $html .= '</div></div>';
+
     } else {
         $html = '<p>'.$app->lng("no_data_memusage_txt").'</p>';
     }
@@ -142,7 +163,10 @@ function showCpuInfo ()
         /*
         Format the data
         */
-        $html = '<table id="system_cpu">';
+        $html = 
+           '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '">
+            <div class="systemmonitor-state-' . $record['state'] . '-icon">
+            <table>';
         foreach($data as $key => $value){
             if ($key != '') {
                 $html .= '<tr>
@@ -152,6 +176,7 @@ function showCpuInfo ()
             }
         }
         $html .= '</table>';
+        $html .= '</div></div>';
     } else {
         $html = '<p>'.$app->lng("no_data_cpuinfo_txt").'</p>';
     }
@@ -172,7 +197,10 @@ function showServices ()
         /*
         Format the data
         */
-        $html = '<table id="system_services">';
+        $html =
+           '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '">
+            <div class="systemmonitor-state-' . $record['state'] . '-icon">
+            <table>';
 
         if($data['webserver'] != -1) {
             if($data['webserver'] == 1) {
@@ -260,7 +288,7 @@ function showServices ()
         }
 
 
-        $html .= '</table></div>';
+        $html .= '</table></div></div>';
     } else {
         $html = '<p>'.$app->lng("no_data_services_txt").'</p>';
     }
@@ -277,17 +305,21 @@ function showSystemUpdate()
     $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'system_update' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
 
     if(isset($record['data'])) {
+        $html =
+           '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '">
+            <div class="systemmonitor-state-' . $record['state'] . '-icon">';
         /*
          * First, we have to detect, if there is any monitoring-data.
          * If not (because the destribution is not supported) show this.
          */
         if ($record['state'] == 'no_state'){
-            $html = '<p>' . "Your distribution is not supported for this monitoring" . '</p>';
+            $html .= "Your distribution is not supported for this monitoring";
         }
         else {
             $data = unserialize($record['data']);
-            $html = nl2br($data['output']);
+            $html .= nl2br($data['output']);
         }
+        $html .= '</div></div>';
     } else {
         $html = '<p>' . "No Update-Data available" . '</p>';
     }
@@ -303,17 +335,23 @@ function showRaidState()
     $record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'raid_state' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
 
     if(isset($record['data'])) {
+        $html =
+           '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '">
+            <div class="systemmonitor-state-' . $record['state'] . '-icon">';
+
         /*
          * First, we have to detect, if there is any monitoring-data.
          * If not (because the destribution is not supported) show this.
          */
         if ($record['state'] == 'no_state'){
-            $html = '<p>' . "mdadm ist not installed or your Server has no supported RAID" . '</p>';
+            $html .= '<p>' . "mdadm ist not installed or your Server has no supported RAID" . '</p>';
         }
         else {
             $data = unserialize($record['data']);
-            $html = nl2br($data['output']);
+            $html .= nl2br($data['output']);
         }
+        $html .= '</div></div>';
+
     } else {
         $html = '<p>' . "No RAID-Data available" . '</p>';
     }
diff --git a/interface/web/themes/default/css/screen/content_ispc.css b/interface/web/themes/default/css/screen/content_ispc.css
index 19f911b150..a38188fad6 100644
--- a/interface/web/themes/default/css/screen/content_ispc.css
+++ b/interface/web/themes/default/css/screen/content_ispc.css
@@ -111,6 +111,10 @@
 		font-family: Consolas, "Lucida Console", "Courier New", monospace;
 		font-size: 0.9em;
     }
+    .systemmonitor-state-no_state {
+		border: 1px solid #30302e;
+		background-color: #cecfc5;
+    }
     .systemmonitor-state-unknown {
 		border: 1px solid #30302e;
 		background-color: #cecfc5;
@@ -143,6 +147,11 @@
         background-image:url("../../icons/x64/server.png");
         background-repeat: no-repeat;
         }
+    .systemmonitor-state-no_state-icon {
+		padding:2px 10px 2px 80px;
+        /*ackground-image:url("../../icons/x32/state_unknown.png"); */
+        background-repeat: no-repeat;
+    }
     .systemmonitor-state-unknown-icon {
 		padding:2px 10px 2px 80px;
         background-image:url("../../icons/x32/state_unknown.png");
@@ -175,24 +184,11 @@
     }
 
     .systemmonitor table {
-		border: 1px solid #d3d3d3;
-		width: 80%;
+		border: none;
 		margin-top: 10px;
 	}
-	.systemmonitor table * td {
-		padding: 1px;
-		font-weight: normal;
-		font-family: Consolas, "Lucida Console", "Courier New", monospace;
-		font-size: 0.9em;
-	}
-	
-	.systemmonitor #system_load {
-		width: 40%;
-	}
-	.systemmonitor #system_services {
-		width: 40%;
-	}
-	.online {
+
+    .online {
 		background-color: #c6d880;
 		padding:0px 5px;
 	}
-- 
GitLab