From 7bc0f15d860f669c5e84a04a643cb11f0fb5c7dd Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Tue, 26 Jan 2010 10:25:39 -0500 Subject: [PATCH] Fixed: FS#879 - Reseller cannot create database for himself, only for "c0" or subclients. --- interface/web/monitor/tools.inc.php | 196 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 137 insertions(+), 59 deletions(-) diff --git a/interface/web/monitor/tools.inc.php b/interface/web/monitor/tools.inc.php index 1def6aa..8bee86c 100644 --- a/interface/web/monitor/tools.inc.php +++ b/interface/web/monitor/tools.inc.php @@ -38,9 +38,10 @@ /* Format the data */ + if (strlen($data['up_minutes']) == "1") $data['up_minutes'] = "0".$data['up_minutes']; $html = - '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '"> - <div class="systemmonitor-state-' . $record['state'] . '-icon"> + '<div class="systemmonitor-state state-'.$record['state'].'"> + <div class="systemmonitor-content icons32 ico-'.$record['state'].'"> <table> <tr> <td>' . $app->lng("Server online since").':</td> @@ -85,16 +86,17 @@ Format the data */ $html = - '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '"> - <div class="systemmonitor-state-' . $record['state'] . '-icon"> + '<div class="systemmonitor-state state-'.$record['state'].'"> + <div class="systemmonitor-content icons32 ico-'.$record['state'].'"> <table> <tr> - <td>Filesystem</td> - <td>1K-blocks</td> - <td>Used</td> - <td>Available</td> - <td>Use%</td> - <td>Mounted on</td> + <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>'; foreach($data as $line) { $html .= '<tr>'; @@ -113,9 +115,7 @@ return $html; } - -function showMemUsage () -{ +function showMemUsage () { global $app; /* fetch the Data from the DB */ @@ -128,8 +128,8 @@ Format the data */ $html = - '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '"> - <div class="systemmonitor-state-' . $record['state'] . '-icon"> + '<div class="systemmonitor-state state-'.$record['state'].'"> + <div class="systemmonitor-content icons32 ico-'.$record['state'].'"> <table>'; foreach($data as $key => $value){ @@ -150,8 +150,7 @@ return $html; } -function showCpuInfo () -{ +function showCpuInfo () { global $app; /* fetch the Data from the DB */ @@ -164,8 +163,8 @@ Format the data */ $html = - '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '"> - <div class="systemmonitor-state-' . $record['state'] . '-icon"> + '<div class="systemmonitor-state state-'.$record['state'].'"> + <div class="systemmonitor-content icons32 ico-'.$record['state'].'"> <table>'; foreach($data as $key => $value){ if ($key != '') { @@ -184,8 +183,7 @@ return $html; } -function showServices () -{ +function showServices () { global $app; /* fetch the Data from the DB */ @@ -198,18 +196,18 @@ Format the data */ $html = - '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '"> - <div class="systemmonitor-state-' . $record['state'] . '-icon"> + '<div class="systemmonitor-state state-'.$record['state'].'"> + <div class="systemmonitor-content icons32 ico-'.$record['state'].'"> <table>'; if($data['webserver'] != -1) { if($data['webserver'] == 1) { - $status = '<span class="online">Online</span>'; + $status = '<span class="online">'.$app->lng("monitor_services_online_txt").'</span>'; } else { - $status = '<span class="offline">Offline</span>'; + $status = '<span class="offline">'.$app->lng("monitor_services_offline_txt").'</span>'; } $html .= '<tr> - <td>Web-Server:</td> + <td>'.$app->lng("monitor_services_web_txt").'</td> <td>'.$status.'</td> </tr>'; } @@ -217,72 +215,72 @@ if($data['ftpserver'] != -1) { if($data['ftpserver'] == 1) { - $status = '<span class="online">Online</span>'; + $status = '<span class="online">'.$app->lng("monitor_services_online_txt").'</span>'; } else { - $status = '<span class="offline">Offline</span>'; + $status = '<span class="offline">'.$app->lng("monitor_services_offline_txt").'</span>'; } $html .= '<tr> - <td>FTP-Server:</td> + <td>'.$app->lng("monitor_services_ftp_txt").'</td> <td>'.$status.'</td> </tr>'; } if($data['smtpserver'] != -1) { if($data['smtpserver'] == 1) { - $status = '<span class="online">Online</span>'; + $status = '<span class="online">'.$app->lng("monitor_services_online_txt").'</span>'; } else { - $status = '<span class="offline">Offline</span>'; + $status = '<span class="offline">'.$app->lng("monitor_services_offline_txt").'</span>'; } $html .= '<tr> - <td>SMTP-Server:</td> + <td>'.$app->lng("monitor_services_smtp_txt").'</td> <td>'.$status.'</td> </tr>'; } if($data['pop3server'] != -1) { if($data['pop3server'] == 1) { - $status = '<span class="online">Online</span>'; + $status = '<span class="online">'.$app->lng("monitor_services_online_txt").'</span>'; } else { - $status = '<span class="offline">Offline</span>'; + $status = '<span class="offline">'.$app->lng("monitor_services_offline_txt").'</span>'; } $html .= '<tr> - <td>POP3-Server:</td> + <td>'.$app->lng("monitor_services_pop_txt").'</td> <td>'.$status.'</td> </tr>'; } if($data['imapserver'] != -1) { if($data['imapserver'] == 1) { - $status = '<span class="online">Online</span>'; + $status = '<span class="online">'.$app->lng("monitor_services_online_txt").'</span>'; } else { - $status = '<span class="offline">Offline</span>'; + $status = '<span class="offline">'.$app->lng("monitor_services_offline_txt").'</span>'; } $html .= '<tr> - <td>IMAP-Server:</td> + <td>'.$app->lng("monitor_services_imap_txt").'</td> <td>'.$status.'</td> </tr>'; } if($data['bindserver'] != -1) { if($data['bindserver'] == 1) { - $status = '<span class="online">Online</span>'; + $status = '<span class="online">'.$app->lng("monitor_services_online_txt").'</span>'; } else { - $status = '<span class="offline">Offline</span>'; + $status = '<span class="offline">'.$app->lng("monitor_services_offline_txt").'</span>'; } $html .= '<tr> - <td>DNS-Server:</td> + <td>'.$app->lng("monitor_services_mydns_txt").'</td> <td>'.$status.'</td> </tr>'; } if($data['mysqlserver'] != -1) { if($data['mysqlserver'] == 1) { - $status = '<span class="online">Online</span>'; + $status = '<span class="online">'.$app->lng("monitor_services_online_txt").'</span>'; } else { - $status = '<span class="offline">Offline</span>'; + $status = '<span class="offline">'.$app->lng("monitor_services_offline_txt").'</span>'; } $html .= '<tr> - <td>mySQL-Server:</td> + <td>'.$app->lng("monitor_services_mysql_txt").'</td> <td>'.$status.'</td> </tr>'; } @@ -297,8 +295,7 @@ return $html; } -function showSystemUpdate() -{ +function showSystemUpdate() { global $app; /* fetch the Data from the DB */ @@ -306,14 +303,14 @@ if(isset($record['data'])) { $html = - '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '"> - <div class="systemmonitor-state-' . $record['state'] . '-icon">'; + '<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 the destribution is not supported) show this. */ if ($record['state'] == 'no_state'){ - $html .= "Your distribution is not supported for this monitoring"; + $html .= '<p>'.$app->lng("monitor_updates_nosupport_txt").'</p>'; } else { $data = unserialize($record['data']); @@ -321,14 +318,13 @@ } $html .= '</div></div>'; } else { - $html = '<p>' . "No Update-Data available" . '</p>'; + $html = '<p>'.$app->lng("no_data_updates_txt").'</p>'; } return $html; } -function showRaidState() -{ +function showRaidState() { global $app; /* fetch the Data from the DB */ @@ -336,15 +332,15 @@ if(isset($record['data'])) { $html = - '<div class="systemmonitor-state systemmonitor-state-' . $record['state'] . '"> - <div class="systemmonitor-state-' . $record['state'] . '-icon">'; + '<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 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>'.$app->lng("monitor_nomdadm_txt").'</p>'; } else { $data = unserialize($record['data']); @@ -353,14 +349,78 @@ $html .= '</div></div>'; } else { - $html = '<p>' . "No RAID-Data available" . '</p>'; + $html = '<p>'.$app->lng("no_data_raid_txt").'</p>'; } return $html; } -function showMailq() -{ +function showRKHunter() { + 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"); + + 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 rkhunter is not installed) show this. + */ + $data = unserialize($record['data']); + if ($data['output'] == ''){ + $html .= '<p>'.$app->lng("monitor_norkhunter_txt").'</p>'; + } + else { + $html .= nl2br($data['output']); + } + $html .= '</div></div>'; + + } else { + $html = '<p>'.$app->lng("no_data_rkhunter_txt").'</p>'; + } + + return $html; +} + +function showFail2ban() { + 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"); + + 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 fail2ban is not installed) show this. + */ + $data = unserialize($record['data']); + if ($data == ''){ + $html .= '<p>'. + 'fail2ban 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 showMailq() { global $app; /* fetch the Data from the DB */ @@ -370,9 +430,27 @@ $data = unserialize($record['data']); $html = nl2br($data['output']); } else { - $html = '<p>' . "No Mailq-Data available" . '</p>'; + $html = '<p>'.$app->lng("no_data_mailq_txt").'</p>'; } return $html; } + +function getDataTime($type) { + 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"); + + /* TODO: datetimeformat should be set somewhat other way */ + $dateTimeFormat = $app->lng("monitor_settings_datetimeformat_txt"); + + if(isset($record['created'])) { +// $res = date('Y-m-d H:i', $record['created']); + $res = date($dateTimeFormat, $record['created']); + } else { + $res = '????-??-?? ??:??'; + } + return $res; +} ?> -- Gitblit v1.9.1