From cdda6b98d785f103d9be6643a99a882c0d65b64c Mon Sep 17 00:00:00 2001
From: fantu <fantu@ispconfig3>
Date: Sun, 21 Dec 2008 04:51:07 -0500
Subject: [PATCH] fix parse error

---
 server/mods-available/monitor_core_module.inc.php |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php
index 1ff82b1..cbd2417 100644
--- a/server/mods-available/monitor_core_module.inc.php
+++ b/server/mods-available/monitor_core_module.inc.php
@@ -120,6 +120,7 @@
         $this->monitorMailQueue();
         $this->monitorRaid();
         $this->monitorRkHunter();
+        $this->monitorSysLog();
     }
 
     function monitorServer(){
@@ -635,6 +636,22 @@
                     /* both Disk are not working */
                     $state = $this->_setState($state, 'error');
                 }
+                if (strpos($line, '[UU]') !== false)
+                {
+                    /* The disks are OK.
+                     * if the next line starts with "[>" or "[=" then
+                     * recovery (resync) is in state and the state is
+                     * information instead of ok
+                     */
+                    $nextLine = $tmp[$i+1];
+                    if ((strpos($nextLine, '[>') === false) && (strpos($nextLine, '[=') === false)) {
+                        $state = $this->_setState($state, 'ok');
+                    }
+                    else
+                    {
+                        $state = $this->_setState($state, 'info');
+                    }
+                }
             }
 
         }
@@ -729,7 +746,49 @@
         $this->_delOldRecords($type, 0, 2);
     }
 
-    function monitorMailLog()
+    function monitorSysLog(){
+        global $app;
+        global $conf;
+
+        /* the id of the server as int */
+        $server_id = intval($conf["server_id"]);
+
+        /** The type of the data */
+        $type = 'sys_log';
+
+	/*
+	 * is there any warning or error for this server?
+	 */
+	$state = 'ok';
+        $dbData = $app->dbmaster->queryAllRecords("SELECT loglevel FROM sys_log WHERE server_id = " . $server_id . " AND loglevel > 0");
+	if (is_array($dbData)) {
+	    foreach($dbData as $item){
+		if ($item['loglevel'] == 1) $state = $this->_setState($state, 'warning');
+		if ($item['loglevel'] == 2) $state = $this->_setState($state, 'error');
+	    }
+	}
+
+	/** There is no monitor-data because the data is in the sys_log table */
+        $data['output']= '';
+
+        /*
+         * Insert the data into the database
+         */
+        $sql = "INSERT INTO monitor_data (server_id, type, created, data, state) " .
+            "VALUES (".
+        $server_id . ", " .
+            "'" . $app->dbmaster->quote($type) . "', " .
+        time() . ", " .
+            "'" . $app->dbmaster->quote(serialize($data)) . "', " .
+            "'" . $state . "'" .
+            ")";
+        $app->dbmaster->query($sql);
+
+        /* The new data is written, now we can delete the old one */
+        $this->_delOldRecords($type, 10);
+    }
+
+function monitorMailLog()
     {
         global $app;
         global $conf;

--
Gitblit v1.9.1