diff --git a/util/daily-report.php b/util/daily-report.php new file mode 100644 index 00000000..eb755e9c --- /dev/null +++ b/util/daily-report.php @@ -0,0 +1,103 @@ +load->model('user/user'); +$loader->load->model('health/health'); +$loader->load->model('stat/counter'); +$loader->load->model('mail/mail'); + +$language = new Language(); +Registry::set('language', $language); + +extract($language->data); + +Registry::set('admin_user', 1); + + +Registry::set('health_smtp_servers', $health_smtp_servers); +Registry::set('partitions_to_monitor', $partitions_to_monitor); + + +$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, DB_PREFIX); +Registry::set('DB_DATABASE', DB_DATABASE); + +Registry::set('db', $db); + +Registry::set('DB_DRIVER', DB_DRIVER); + +$date = date(AUDIT_DATE_FORMAT, NOW); + +$fp = fopen(LOCK_FILE, "r"); +if(!$fp) { die("cannot open: " . LOCK_FILE . "\n"); } +if(!flock($fp, LOCK_EX | LOCK_NB)) { fclose($fp); die("cannot get a lock on " . LOCK_FILE . "\n"); } + + +$health = new ModelHealthHealth(); +$counter = new ModelStatCounter(); +$mail = new ModelMailMail(); + + + foreach (Registry::get('health_smtp_servers') as $smtp) { + $_health[] = $health->checksmtp($smtp, $text_error); + } + + $processed_emails = $health->count_processed_emails(); + + list ($uptime, $cpuload) = $health->uptime(); + + $cpuinfo = 100 - (int)file_get_contents(CPUSTAT); + + + list($totalmem, $meminfo, $totalswap, $swapinfo) = $health->meminfo(); + $shortdiskinfo = $health->diskinfo(); + + list($archive_size, $counters) = $counter->getCounters(); + + $sysinfo = $health->sysinfo(); + + $options = $health->get_options(); + + + $msg = "From: " . SMTP_FROMADDR . EOL; + $msg .= "To: " . ADMIN_EMAIL . EOL; + $msg .= "Subject: =?UTF-8?Q?" . preg_replace("/\n/", "", my_qp_encode($text_daily_piler_report)) . "?=" . EOL; + $msg .= "MIME-Version: 1.0" . EOL; + $msg .= "Content-Type: text/html; charset=\"utf-8\"" . EOL; + $msg .= EOL . EOL; + + ob_start(); + + include($webuidir . "/view/theme/default/templates/health/daily-report.tpl"); + + $msg .= ob_get_contents(); + + ob_end_clean(); + + $rcpt = array(ADMIN_EMAIL); + + $x = $mail->send_smtp_email(LOCALHOST, SMARTHOST_PORT, SMTP_DOMAIN, SMTP_FROMADDR, $rcpt, $msg); + + + +if($fp) { + flock($fp, LOCK_UN); + fclose($fp); +} + + +?> diff --git a/webui/config.php b/webui/config.php index 3f020105..334bb733 100644 --- a/webui/config.php +++ b/webui/config.php @@ -35,6 +35,7 @@ define('SMARTHOST', '127.0.0.1'); define('SMARTHOST_PORT', 10026); define('SMTP_DOMAIN', 'mailpiler.org'); define('SMTP_FROMADDR', 'no-reply@mailpiler.org'); +define('ADMIN_EMAIL', 'admin@mailpiler.org'); define('EOL', "\n"); diff --git a/webui/language/en/messages.php b/webui/language/en/messages.php index f51c22ac..221c169b 100644 --- a/webui/language/en/messages.php +++ b/webui/language/en/messages.php @@ -44,6 +44,7 @@ $_['text_cpu_usage'] = "CPU usage"; $_['text_daily_quarantine_report'] = "Daily quarantine report"; $_['text_daily_quarantine_report_status'] = "Daily quarantine report status"; $_['text_daily_report'] = "Daily report"; +$_['text_daily_piler_report'] = "Daily piler report"; $_['text_database_emails'] = "email addresses in piler database"; $_['text_date'] = "Date"; $_['text_date_from'] = "Date from"; diff --git a/webui/language/hu/messages.iso-8859-2.php b/webui/language/hu/messages.iso-8859-2.php index 4a543de8..073f08ca 100644 --- a/webui/language/hu/messages.iso-8859-2.php +++ b/webui/language/hu/messages.iso-8859-2.php @@ -44,6 +44,7 @@ $_['text_cpu_usage'] = "CPU haszn $_['text_daily_quarantine_report'] = "Napi karantén riport"; $_['text_daily_quarantine_report_status'] = "Napi karantén értesítés"; $_['text_daily_report'] = "Napi jelentés"; +$_['text_daily_piler_report'] = "Napi piler jelentés"; $_['text_database_emails'] = "email cím a piler adatbázisban"; $_['text_date'] = "Dátum"; $_['text_date_from'] = "Dátumtól"; diff --git a/webui/language/hu/messages.php b/webui/language/hu/messages.php index de6ffdff..9430e661 100644 --- a/webui/language/hu/messages.php +++ b/webui/language/hu/messages.php @@ -44,6 +44,7 @@ $_['text_cpu_usage'] = "CPU használat"; $_['text_daily_quarantine_report'] = "Napi karantén riport"; $_['text_daily_quarantine_report_status'] = "Napi karantén értesÃtés"; $_['text_daily_report'] = "Napi jelentés"; +$_['text_daily_piler_report'] = "Napi piler jelentés"; $_['text_database_emails'] = "email cÃm a piler adatbázisban"; $_['text_date'] = "Dátum"; $_['text_date_from'] = "Dátumtól"; diff --git a/webui/view/theme/default/templates/health/daily-report.tpl b/webui/view/theme/default/templates/health/daily-report.tpl new file mode 100644 index 00000000..29dc9912 --- /dev/null +++ b/webui/view/theme/default/templates/health/daily-report.tpl @@ -0,0 +1,97 @@ + +
+