From fc0edb2f00bcdc6baaaa29f9041e82f3003b9b44 Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Sun, 07 Jun 2015 12:16:19 -0400
Subject: [PATCH] Merge branch 'master' into 'master'
---
server/lib/classes/monitor_tools.inc.php | 97 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 87 insertions(+), 10 deletions(-)
diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php
index d754097..ce3d4bb 100644
--- a/server/lib/classes/monitor_tools.inc.php
+++ b/server/lib/classes/monitor_tools.inc.php
@@ -62,6 +62,21 @@
$mainver = array_filter($mainver);
$mainver = current($mainver).'.'.next($mainver);
switch ($mainver){
+ case "15.04":
+ $relname = "(Vivid Vervet)";
+ break;
+ case "14.10":
+ $relname = "(Utopic Unicorn)";
+ break;
+ case "14.04":
+ $relname = "(Trusty Tahr)";
+ break;
+ case "13.10":
+ $relname = "(Saucy Salamander)";
+ break;
+ case "13.04":
+ $relname = "(Raring Ringtail)";
+ break;
case "12.10":
$relname = "(Quantal Quetzal)";
break;
@@ -137,6 +152,11 @@
$distver = 'Wheezy/Sid';
$distid = 'debian60';
$distbaseid = 'debian';
+ } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '8') || substr(trim(file_get_contents('/etc/debian_version')),0,1) == '8') {
+ $distname = 'Debian';
+ $distver = 'Jessie';
+ $distid = 'debian60';
+ $distbaseid = 'debian';
} else {
$distname = 'Debian';
$distver = 'Unknown';
@@ -201,6 +221,16 @@
$distver = '5.3';
$distid = 'centos53';
$distbaseid = 'fedora';
+ } elseif(stristr($content, 'CentOS Linux release 6')) {
+ $distname = 'CentOS';
+ $distver = 'Unknown';
+ $distid = 'centos53';
+ $distbaseid = 'fedora';
+ } elseif(stristr($content, 'CentOS Linux release 7')) {
+ $distname = 'CentOS';
+ $distver = 'Unknown';
+ $distid = 'centos53';
+ $distbaseid = 'fedora';
} else {
$distname = 'Redhat';
$distver = 'Unknown';
@@ -237,7 +267,7 @@
$server_id = intval($conf['server_id']);
/** get the "active" Services of the server from the DB */
- $services = $app->db->queryOneRecord('SELECT * FROM server WHERE server_id = ' . $server_id);
+ $services = $app->db->queryOneRecord('SELECT * FROM server WHERE server_id = ?', $server_id);
/*
* If the DB is down, we have to set the db to "yes".
* If we don't do this, then the monitor will NOT monitor, that the db is down and so the
@@ -636,7 +666,7 @@
// $now = time();
// $old = $now - (4 * 60); // 4 minutes
- $old = 'UNIX_TIMESTAMP() - 240';
+ $old = 240; //seconds
/*
* ATTENTION if i do NOT pay attention of the server id, i delete all data (of the type)
@@ -646,16 +676,63 @@
* even though it is the NEWEST data of this server. To avoid this i HAVE to include
* the server-id!
*/
- $sql = 'DELETE FROM monitor_data ' .
- 'WHERE ' .
- ' type =' . "'" . $app->dbmaster->quote($type) . "' " .
- 'AND ' .
- ' created < ' . $old . ' ' .
- 'AND ' .
- ' server_id = ' . $serverId;
- $app->dbmaster->query($sql);
+ $sql = 'DELETE FROM `monitor_data` WHERE `type` = ? AND `created` < UNIX_TIMESTAMP() - ? AND `server_id` = ?';
+ $app->dbmaster->query($sql, $type, $old, $serverId);
}
+ public function send_notification_email($template, $placeholders, $recipients) {
+ global $conf;
+
+ if(!is_array($recipients) || count($recipients) < 1) return false;
+ if(!is_array($placeholders)) $placeholders = array();
+
+ if(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt')) {
+ $lines = file($conf['rootpath'].'/conf-custom/mail/' . $template . '_'.$conf['language'].'.txt');
+ } elseif(file_exists($conf['rootpath'].'/conf-custom/mail/' . $template . '_en.txt')) {
+ $lines = file($conf['rootpath'].'/conf-custom/mail/' . $template . '_en.txt');
+ } elseif(file_exists($conf['rootpath'].'/conf/mail/' . $template . '_'.$conf['language'].'.txt')) {
+ $lines = file($conf['rootpath'].'/conf/mail/' . $template . '_'.$conf['language'].'.txt');
+ } else {
+ $lines = file($conf['rootpath'].'/conf/mail/' . $template . '_en.txt');
+ }
+
+ //* get mail headers, subject and body
+ $mailHeaders = '';
+ $mailBody = '';
+ $mailSubject = '';
+ $inHeader = true;
+ for($l = 0; $l < count($lines); $l++) {
+ if($lines[$l] == '') {
+ $inHeader = false;
+ continue;
+ }
+ if($inHeader == true) {
+ $parts = explode(':', $lines[$l], 2);
+ if(strtolower($parts[0]) == 'subject') $mailSubject = trim($parts[1]);
+ unset($parts);
+ $mailHeaders .= trim($lines[$l]) . "\n";
+ } else {
+ $mailBody .= trim($lines[$l]) . "\n";
+ }
+ }
+ $mailBody = trim($mailBody);
+
+ //* Replace placeholders
+ $mailHeaders = strtr($mailHeaders, $placeholders);
+ $mailSubject = strtr($mailSubject, $placeholders);
+ $mailBody = strtr($mailBody, $placeholders);
+
+ for($r = 0; $r < count($recipients); $r++) {
+ mail($recipients[$r], $mailSubject, $mailBody, $mailHeaders);
+ }
+
+ unset($mailSubject);
+ unset($mailHeaders);
+ unset($mailBody);
+ unset($lines);
+
+ return true;
+ }
}
--
Gitblit v1.9.1