From 89e4329a8068e3631d3f64f6896fa3907c687cf5 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Thu, 08 Jan 2015 09:08:50 -0500 Subject: [PATCH] Layout fix: tab toggle and monitor tables --- interface/lib/classes/tools_monitor.inc.php | 113 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 97 insertions(+), 16 deletions(-) diff --git a/interface/lib/classes/tools_monitor.inc.php b/interface/lib/classes/tools_monitor.inc.php index 52888e8..d8a09f4 100644 --- a/interface/lib/classes/tools_monitor.inc.php +++ b/interface/lib/classes/tools_monitor.inc.php @@ -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,13 +110,55 @@ } $html .= '</tr>'; } - $html .= '</table>'; + $html .= '</tbody></table>'; $html .= '</div></div>'; } else { $html = '<p>'.$app->lng("no_data_diskusage_txt").'</p>'; } + 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 = " . $_SESSION['monitor']['server_id'] . " order by created desc"); + 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 + $line['client']=$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']."'")['username']; + + //* get the domain + $line['domain']=$app->db->queryOneRecord("SELECT domain FROM web_domain WHERE domain_id=(SELECT parent_domain_id FROM web_database WHERE database_name='".$line['database_name']."')")['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; } @@ -133,7 +177,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 +188,7 @@ </tr>'; } } - $html .= '</table>'; + $html .= '</tbody></table>'; $html .= '</div></div>'; } else { @@ -168,7 +213,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 +223,7 @@ </tr>'; } } - $html .= '</table>'; + $html .= '</tbody></table>'; $html .= '</div></div>'; } else { $html = '<p>'.$app->lng("no_data_cpuinfo_txt").'</p>'; @@ -201,7 +247,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 +336,7 @@ } - $html .= '</table></div></div>'; + $html .= '</tbody></table></div></div>'; } else { $html = '<p>'.$app->lng("no_data_services_txt").'</p>'; } @@ -455,6 +502,40 @@ 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 = " . $_SESSION['monitor']['server_id'] . " order by created desc"); + + 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 at 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 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"); -- Gitblit v1.9.1