From 9c9382e6949e1366c6adb502b7aacae2c11023f7 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 08 Sep 2011 09:42:04 -0400
Subject: [PATCH] Fixed: FS#1709 - Wrong message "Your hard-disk space is going full" in the "Monitor -> Show Disk Usage"

---
 server/lib/classes/monitor_tools.inc.php |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index 02ffadd..2fa7a3e 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -407,6 +407,15 @@
 				 * calculate the state
 				 */
 				$usePercent = floatval($data[$i]['percent']);
+				
+				//* get the free memsize
+				if(substr($data[$i]['available'],-1) == 'G') {
+					$freesize = floatval($data[$i]['available'])*1024;
+				} elseif(substr($data[$i]['available'],-1) == 'T') {
+					$freesize = floatval($data[$i]['available'])*1024*1024;
+				} else {
+					$freesize = floatval($data[$i]['available']);
+				}
 
 				//* We don't want to check some filesystem which have no sensible filling levels
 				switch ($data[$i]['type']) {
@@ -418,13 +427,13 @@
 					case 'udev':
 						break;
 					default:
-						if ($usePercent > 75)
+						if ($usePercent > 75 && $freesize < 2000)
 							$state = $this->_setState($state, 'info');
-						if ($usePercent > 80)
+						if ($usePercent > 80 && $freesize < 1000)
 							$state = $this->_setState($state, 'warning');
-						if ($usePercent > 90)
+						if ($usePercent > 90 && $freesize < 500)
 							$state = $this->_setState($state, 'critical');
-						if ($usePercent > 95)
+						if ($usePercent > 95 && $freesize < 100)
 							$state = $this->_setState($state, 'error');
 						break;
 				}

--
Gitblit v1.9.1