From 286d1bf1b746b49e43fd674bbc47afd25adfbedb Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Sun, 31 Jan 2010 12:33:18 -0500 Subject: [PATCH] Fixed: FS#1053 - Syntax Error in form_list.php --- server/mods-available/monitor_core_module.inc.php | 70 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 2 deletions(-) diff --git a/server/mods-available/monitor_core_module.inc.php b/server/mods-available/monitor_core_module.inc.php index 044f079..0e3e6df 100644 --- a/server/mods-available/monitor_core_module.inc.php +++ b/server/mods-available/monitor_core_module.inc.php @@ -148,12 +148,20 @@ $tmp = explode(",", $data['uptime'], 4); $tmpUser = explode(" ", trim($tmp[2])); $data['user_online'] = intval($tmpUser[0]); - + + /* Old Load Average Code $loadTmp = explode(":" , trim($tmp[3])); $load = explode(",", $loadTmp[1]); $data['load_1'] = floatval(trim($load[0])); $data['load_5'] = floatval(trim($load[1])); - $data['load_15'] = floatval(trim($load[2])); + $data['load_15'] = floatval(trim($load[2])); */ + + //* New Load Average code to fix "always zero" bug in non-english distros. NEEDS TESTING + $loadTmp = shell_exec("cat /proc/loadavg | cut -f1-3 -d' '"); + $load = explode(" ", $loadTmp); + $data['load_1'] = floatval(str_replace(',', '.', $load[0])); + $data['load_5'] = floatval(str_replace(',', '.', $load[1])); + $data['load_15'] = floatval(str_replace(',', '.', $load[2])); /** The state of the server-load. */ $state = 'ok'; @@ -519,6 +527,54 @@ * Fetch the output */ $data['output'] = shell_exec('apt-get -s -q dist-upgrade'); + } + elseif (file_exists("/etc/gentoo-release")) { + + /* + * first update the portage tree + */ + + // In keeping with gentoo's rsync policy, don't update to frequently (every four hours - taken from http://www.gentoo.org/doc/en/source_mirrors.xml) + $do_update = true; + if (file_exists('/usr/portage/metadata/timestamp.chk')) + { + $datetime = file_get_contents('/usr/portage/metadata/timestamp.chk'); + $datetime = trim($datetime); + + $dstamp = strtotime($datetime); + if ($dstamp) + { + $checkat = $dstamp + 14400; // + 4hours + if (mktime() < $checkat) { + $do_update = false; + } + } + } + + if ($do_update) { + shell_exec('emerge --sync --quiet'); + } + + /* + * Then test the upgrade. + * if there is any output, then there is a needed update + */ + $emergeData = shell_exec('emerge -puDNt --color n --nospinner --quiet world'); + if ($emergeData == '') + { + /* There is nothing to update! */ + $state = 'ok'; + } + else + { + /* There is something to update! */ + $state = 'warning'; + } + + /* + * Fetch the output + */ + $data['output'] = shell_exec('emerge -pvuDNt --color n --nospinner world'); } else { /* @@ -1187,52 +1243,62 @@ if(@is_file('/etc/debian_version')) $dist = 'debian'; if(@is_file('/etc/redhat-release')) $dist = 'redhat'; if(@is_file('/etc/SuSE-release')) $dist = 'suse'; + if(@is_file('/etc/gentoo-release')) $dist = 'gentoo'; switch($log) { case 'log_mail': if($dist == 'debian') $logfile = '/var/log/mail.log'; if($dist == 'redhat') $logfile = '/var/log/maillog'; if($dist == 'suse') $logfile = '/var/log/mail.info'; + if($dist == 'gentoo') $logfile = '/var/log/maillog'; break; case 'log_mail_warn': if($dist == 'debian') $logfile = '/var/log/mail.warn'; if($dist == 'redhat') $logfile = '/var/log/maillog'; if($dist == 'suse') $logfile = '/var/log/mail.warn'; + if($dist == 'gentoo') $logfile = '/var/log/maillog'; break; case 'log_mail_err': if($dist == 'debian') $logfile = '/var/log/mail.err'; if($dist == 'redhat') $logfile = '/var/log/maillog'; if($dist == 'suse') $logfile = '/var/log/mail.err'; + if($dist == 'gentoo') $logfile = '/var/log/maillog'; break; case 'log_messages': if($dist == 'debian') $logfile = '/var/log/messages'; if($dist == 'redhat') $logfile = '/var/log/messages'; if($dist == 'suse') $logfile = '/var/log/messages'; + if($dist == 'gentoo') $logfile = '/var/log/messages'; break; case 'log_ispc_cron': if($dist == 'debian') $logfile = '/var/log/ispconfig/cron.log'; if($dist == 'redhat') $logfile = '/var/log/ispconfig/cron.log'; if($dist == 'suse') $logfile = '/var/log/ispconfig/cron.log'; + if($dist == 'gentoo') $logfile = '/var/log/cron'; break; case 'log_freshclam': if($dist == 'debian') $logfile = '/var/log/clamav/freshclam.log'; if($dist == 'redhat') $logfile = (is_file('/var/log/clamav/freshclam.log') ? '/var/log/clamav/freshclam.log' : '/var/log/freshclam.log'); if($dist == 'suse') $logfile = ''; + if($dist == 'gentoo') $logfile = '/var/log/clamav/freshclam.log'; break; case 'log_clamav': if($dist == 'debian') $logfile = '/var/log/clamav/clamav.log'; if($dist == 'redhat') $logfile = (is_file('/var/log/clamav/clamd.log') ? '/var/log/clamav/clamd.log' : '/var/log/maillog'); if($dist == 'suse') $logfile = ''; + if($dist == 'gentoo') $logfile = '/var/log/clamav/clamd.log'; break; case 'log_fail2ban': if($dist == 'debian') $logfile = '/var/log/fail2ban.log'; if($dist == 'redhat') $logfile = '/var/log/fail2ban.log'; if($dist == 'suse') $logfile = '/var/log/fail2ban.log'; + if($dist == 'gentoo') $logfile = '/var/log/fail2ban.log'; break; case 'log_ispconfig': if($dist == 'debian') $logfile = '/var/log/ispconfig/ispconfig.log'; if($dist == 'redhat') $logfile = '/var/log/ispconfig/ispconfig.log'; if($dist == 'suse') $logfile = '/var/log/ispconfig/ispconfig.log'; + if($dist == 'gentoo') $logfile = '/var/log/ispconfig/ispconfig.log'; break; default: $logfile = ''; -- Gitblit v1.9.1