From e15a16d68998608c80a46f4f12647a8b1398af5d Mon Sep 17 00:00:00 2001 From: f0o Date: Sat, 31 Jan 2015 11:05:45 +0000 Subject: [PATCH] Ignore queued alerts if device changed to 'ignore' or 'disabled' after alert entered queue. --- alerts.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/alerts.php b/alerts.php index 341d5b1f44..1ea98c7854 100755 --- a/alerts.php +++ b/alerts.php @@ -105,7 +105,7 @@ function RunAlerts() { $noacc = false; $updet = false; $rextra = json_decode($alert['extra'],true); - $chk = dbFetchRow('SELECT alerted FROM alerts WHERE device_id = ? && rule_id = ?',array($alert['device_id'],$alert['rule_id'])); + $chk = dbFetchRow('SELECT alerts.alerted,devices.ignore,devices.disabled FROM alerts,devices WHERE alerts.device_id = ? && devices.device_id = alerts.device_id && alerts.rule_id = ?',array($alert['device_id'],$alert['rule_id'])); if( $chk['alerted'] == $alert['state'] ) { $noiss = true; } @@ -124,6 +124,11 @@ function RunAlerts() { $updet = true; $noiss = false; } + if( $chk['ignore'] == 1 || $chk['disabled'] == 1 ) { + $noiss = true; + $updet = false; + $noacc = false; + } if( $updet ) { dbUpdate(array('details' => gzcompress(json_encode($alert['details']),9)),'alert_log','id = ?',array($alert['id'])); }