Merge pull request #3138 from f0o/minor-alerting-addons

Minor alerting addons
This commit is contained in:
Neil Lathwood
2016-03-08 21:00:37 +00:00
3 changed files with 29 additions and 11 deletions

View File

@@ -195,10 +195,12 @@ function RunFollowUp() {
if ($n > $o) {
$ret .= ' Worsens';
$state = 3;
$alert['details']['diff'] = array_diff($chk,$alert['details']['rule']);
}
elseif ($n < $o) {
$ret .= ' Betters';
$state = 4;
$alert['details']['diff'] = array_diff($alert['details']['rule'],$chk);
}
if ($state > 0 && $n > 0) {
@@ -370,7 +372,7 @@ function FormatAlertTpl($obj) {
$s = strlen($msg);
$x = $pos = -1;
$buff = '';
$if = $for = false;
$if = $for = $calc = false;
while (++$x < $s) {
if ($msg[$x] == '{' && $buff == '') {
$buff .= $msg[$x];
@@ -390,6 +392,10 @@ function FormatAlertTpl($obj) {
$pos = $x;
$for = true;
}
elseif ($buff == '{calc') {
$pos = $x;
$calc = true;
}
if ($pos != -1 && $msg[$x] == '}') {
$orig = $buff;
@@ -411,6 +417,14 @@ function FormatAlertTpl($obj) {
' as $key=>$value) { $ret .= "',
);
}
elseif ($calc) {
$calc = false;
$o = 5;
$native = array(
'"; $ret .= (float) (0+(',
')); $ret .= "',
);
}
else {
continue;
}
@@ -473,6 +487,10 @@ function DescribeAlert($alert) {
}
}
}
$obj['elapsed'] = TimeFormat(time() - strtotime($alert['time_logged']));
if( !empty($extra['diff']) ) {
$obj['diff'] = $extra['diff'];
}
}
elseif ($alert['state'] == 0) {
$id = dbFetchRow('SELECT alert_log.id,alert_log.time_logged,alert_log.details FROM alert_log WHERE alert_log.state != 2 && alert_log.state != 0 && alert_log.rule_id = ? && alert_log.device_id = ? && alert_log.id < ? ORDER BY id DESC LIMIT 1', array($alert['rule_id'], $alert['device_id'], $alert['id']));

View File

@@ -21,4 +21,4 @@
* @subpackage Alerts
*/
return send_mail($obj['contacts'], $obj['title'], $obj['msg']);
return send_mail($obj['contacts'], $obj['title'], $obj['msg'], $opts['html'] ? true : false );