From 37b29231e47a0c4458dc1c15d98588f16f07e1e2 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Thu, 06 Aug 2015 03:18:44 -0400
Subject: [PATCH] - don't set password via remoting if field is empty

---
 interface/lib/classes/tools_monitor.inc.php |  142 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 112 insertions(+), 30 deletions(-)

diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php
index 52888e8..bd1a969 100644
--- a/interface/lib/classes/tools_monitor.inc.php
+++ b/interface/lib/classes/tools_monitor.inc.php
@@ -33,7 +33,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'server_load' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'server_load' AND server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$data = unserialize($record['data']);
@@ -80,7 +80,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'disk_usage' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'disk_usage' AND server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$data = unserialize($record['data']);
@@ -91,16 +91,18 @@
 			$html =
 				'<div class="systemmonitor-state state-'.$record['state'].'">
                 <div class="systemmonitor-content icons32 ico-'.$record['state'].'">
-                <table>
+                <table class="table">
+                <thead class="dark">
                 <tr>
-                <td>'.$app->lng("monitor_diskusage_filesystem_txt").'</td>
-            <td>'.$app->lng("monitor_diskusage_type_txt").'</td>
-                <td>'.$app->lng("monitor_diskusage_size_txt").'</td>
-                <td>'.$app->lng("monitor_diskusage_used_txt").'</td>
-                <td>'.$app->lng("monitor_diskusage_available_txt").'</td>
-                <td>'.$app->lng("monitor_diskusage_usage_txt").'</td>
-                <td>'.$app->lng("monitor_diskusage_mounted_txt").'</td>
-                </tr>';
+                <th>'.$app->lng("monitor_diskusage_filesystem_txt").'</th>
+            <th class="small-col">'.$app->lng("monitor_diskusage_type_txt").'</th>
+                <th class="tiny-col">'.$app->lng("monitor_diskusage_size_txt").'</th>
+                <th class="tiny-col">'.$app->lng("monitor_diskusage_used_txt").'</th>
+                <th class="tiny-col">'.$app->lng("monitor_diskusage_available_txt").'</th>
+                <th class="tiny-col">'.$app->lng("monitor_diskusage_usage_txt").'</th>
+                <th>'.$app->lng("monitor_diskusage_mounted_txt").'</th>
+                </tr></thead>
+                <tbody>';
 			foreach($data as $line) {
 				$html .= '<tr>';
 				foreach ($line as $item) {
@@ -108,7 +110,7 @@
 				}
 				$html .= '</tr>';
 			}
-			$html .= '</table>';
+			$html .= '</tbody></table>';
 			$html .= '</div></div>';
 		} else {
 			$html = '<p>'.$app->lng("no_data_diskusage_txt").'</p>';
@@ -118,11 +120,55 @@
 		return $html;
 	}
 
+	function showDatabaseSize () {
+		global $app;
+		/* fetch the Data from the DB */
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'database_size' AND server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
+		if(isset($record['data'])) {
+			$data = unserialize($record['data']);
+			//* format the data
+			$html =
+				'<div class="systemmonitor-state state-'.$record['state'].'">
+	                <div class="systemmonitor-content icons32 ico-'.$record['state'].'">
+                	<table class="table"><thead class="dark"><tr>
+                	<th>'.$app->lng("monitor_database_name_txt").'</th>
+	                <th class="tiny-col">'.$app->lng("monitor_database_size_txt").'</th>
+        	        <th>'.$app->lng("monitor_database_client_txt").'</th>
+					<th>'.$app->lng("monitor_database_domain_txt").'</th>
+                	</tr></thead>
+                	<tbody>';
+			foreach($data as $line) {
+				$html .= '<tr>';
+				if ($line['size'] > 0) $line['size'] = $app->functions->formatBytes($line['size']);
+
+				//* get the client
+				$tmp = $app->db->queryOneRecord("SELECT client.username FROM web_database, sys_group, client WHERE web_database.sys_groupid = sys_group.groupid AND sys_group.client_id = client.client_id AND web_database.database_name=?", $line['database_name']);
+				$line['client'] = $tmp['username'];
+
+				//* get the domain
+				$tmp = $app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id=(SELECT parent_domain_id FROM web_database WHERE database_name=?", $line['database_name']);
+				$line['domain'] = $tmp['domain'];
+
+				//* remove the sys_groupid from output
+				unset($line['sys_groupid']);
+
+				foreach ($line as $item) {
+					$html .= '<td>' . $item . '</td>';
+				}
+				$html .= '</tr>';
+			}
+			$html .= '</tbody></table></div></div>';
+		} else {
+			$html = '<p>'.$app->lng("no_data_database_size_txt").'</p>';
+		}
+		return $html;
+	}
+
 	function showMemUsage () {
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mem_usage' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mem_usage' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$data = unserialize($record['data']);
@@ -133,7 +179,8 @@
 			$html =
 				'<div class="systemmonitor-state state-'.$record['state'].'">
                 <div class="systemmonitor-content icons32 ico-'.$record['state'].'">
-                <table>';
+                <table class="table">
+                <tbody>';
 
 			foreach($data as $key => $value) {
 				if ($key != '') {
@@ -143,7 +190,7 @@
                         </tr>';
 				}
 			}
-			$html .= '</table>';
+			$html .= '</tbody></table>';
 			$html .= '</div></div>';
 
 		} else {
@@ -157,7 +204,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'cpu_info' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'cpu_info' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$data = unserialize($record['data']);
@@ -168,7 +215,8 @@
 			$html =
 				'<div class="systemmonitor-state state-'.$record['state'].'">
                 <div class="systemmonitor-content icons32 ico-'.$record['state'].'">
-                <table>';
+                <table class="table">
+                <tbody>';
 			foreach($data as $key => $value) {
 				if ($key != '') {
 					$html .= '<tr>
@@ -177,7 +225,7 @@
                         </tr>';
 				}
 			}
-			$html .= '</table>';
+			$html .= '</tbody></table>';
 			$html .= '</div></div>';
 		} else {
 			$html = '<p>'.$app->lng("no_data_cpuinfo_txt").'</p>';
@@ -190,7 +238,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'services' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'services' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$data = unserialize($record['data']);
@@ -201,7 +249,8 @@
 			$html =
 				'<div class="systemmonitor-state state-'.$record['state'].'">
                 <div class="systemmonitor-content icons32 ico-'.$record['state'].'">
-                <table>';
+                <table class="table">
+                <tbody>';
 
 			if($data['webserver'] != -1) {
 				if($data['webserver'] == 1) {
@@ -289,7 +338,7 @@
 			}
 
 
-			$html .= '</table></div></div>';
+			$html .= '</tbody></table></div></div>';
 		} else {
 			$html = '<p>'.$app->lng("no_data_services_txt").'</p>';
 		}
@@ -302,7 +351,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$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");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'system_update' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$html =
@@ -332,7 +381,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'openvz_beancounter' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'openvz_beancounter' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$html =
@@ -361,7 +410,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$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");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'raid_state' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$html =
@@ -394,7 +443,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'rkhunter' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'rkhunter' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$html =
@@ -425,7 +474,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_fail2ban' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_fail2ban' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$html =
@@ -439,8 +488,41 @@
 			$data = unserialize($record['data']);
 			if ($data == '') {
 				$html .= '<p>'.
-					'fail2ban is not installed at this server.<br />' .
+					'fail2ban is not installed on this server.<br />' .
 					'See more (for debian) <a href="http://www.howtoforge.com/fail2ban_debian_etch" target="htf">here...</a>'.
+					'</p>';
+			}
+			else {
+				$html .= nl2br($data);
+			}
+			$html .= '</div></div>';
+
+		} else {
+			$html = '<p>There is no data available at the moment.</p>';
+		}
+
+		return $html;
+	}
+
+	function showMongoDB() {
+		global $app;
+
+		/* fetch the Data from the DB */
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'log_mongodb' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
+
+		if(isset($record['data'])) {
+			$html =
+				'<div class="systemmonitor-state state-'.$record['state'].'">
+                <div class="systemmonitor-content icons32 ico-'.$record['state'].'">';
+
+			/*
+             * First, we have to detect, if there is any monitoring-data.
+             * If not (because mongodb is not installed) show this.
+            */
+			$data = unserialize($record['data']);
+			if ($data == '') {
+				$html .= '<p>'.
+					'MongoDB is not installed on this server.<br />' .
 					'</p>';
 			}
 			else {
@@ -457,7 +539,7 @@
 
 	function showIPTables() {
 		global $app;
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'iptables_rules' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'iptables_rules' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 		if(isset($record['data'])) {
 			$html =
 				'<div class="systemmonitor-state state-'.$record['state'].'">
@@ -481,7 +563,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mailq' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT data, state FROM monitor_data WHERE type = 'mailq' and server_id = ? ORDER BY created DESC", $_SESSION['monitor']['server_id']);
 
 		if(isset($record['data'])) {
 			$data = unserialize($record['data']);
@@ -497,7 +579,7 @@
 		global $app;
 
 		/* fetch the Data from the DB */
-		$record = $app->db->queryOneRecord("SELECT created FROM monitor_data WHERE type = '" . $type . "' and server_id = " . $_SESSION['monitor']['server_id'] . " order by created desc");
+		$record = $app->db->queryOneRecord("SELECT created FROM monitor_data WHERE type = ? and server_id = ? ORDER BY created DESC", $type, $_SESSION['monitor']['server_id']);
 
 		/* TODO: datetimeformat should be set somewhat other way */
 		$dateTimeFormat = $app->lng("monitor_settings_datetimeformat_txt");

--
Gitblit v1.9.1