From 4765cebea0eb2f43cda30e5040b5f53bad52fcf0 Mon Sep 17 00:00:00 2001 From: laf Date: Wed, 20 May 2015 21:46:54 +0100 Subject: [PATCH] Added support for interval for alerting --- html/forms/create-alert-item.inc.php | 4 +++- html/includes/modal/new_alert_rule.inc.php | 16 +++++++++++++++- html/includes/print-alert-rules.php | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/html/forms/create-alert-item.inc.php b/html/forms/create-alert-item.inc.php index e11c56124..91907e26f 100644 --- a/html/forms/create-alert-item.inc.php +++ b/html/forms/create-alert-item.inc.php @@ -22,6 +22,7 @@ $rule = rtrim($rule,'||'); $alert_id = $_POST['alert_id']; $count = mres($_POST['count']); $delay = mres($_POST['delay']); +$interval = mres($_POST['interval']); $mute = mres($_POST['mute']); $invert = mres($_POST['invert']); $name = mres($_POST['name']); @@ -34,6 +35,7 @@ if(empty($rule)) { $count='-1'; } $delay_sec = convert_delay($delay); + $interval_sec = convert_delay($interval); if($mute == 'on') { $mute = true; } else { @@ -44,7 +46,7 @@ if(empty($rule)) { } else { $invert = false; } - $extra = array('mute'=>$mute,'count'=>$count,'delay'=>$delay_sec,'invert'=>$invert); + $extra = array('mute'=>$mute,'count'=>$count,'delay'=>$delay_sec,'invert'=>$invert,'interval'=>$interval_sec); $extra_json = json_encode($extra); if(is_numeric($alert_id) && $alert_id > 0) { if(dbUpdate(array('rule' => $rule,'severity'=>mres($_POST['severity']),'extra'=>$extra_json,'name'=>$name), 'alert_rules', 'id=?',array($alert_id)) >= 0) { diff --git a/html/includes/modal/new_alert_rule.inc.php b/html/includes/modal/new_alert_rule.inc.php index 59f464e3b..3d952ea95 100644 --- a/html/includes/modal/new_alert_rule.inc.php +++ b/html/includes/modal/new_alert_rule.inc.php @@ -87,10 +87,14 @@ if(is_admin() !== false) {
- +
+ +
+ +
@@ -196,6 +200,16 @@ $('#create-alert').on('show.bs.modal', function (event) { var delay = extra['delay']; } $('#delay').val(delay); + if((extra['interval'] / 86400) >= 1) { + var interval = extra['interval'] / 86400 + ' d'; + } else if((extra['interval'] / 3600) >= 1) { + var interval = extra['interval'] / 3600 + ' h'; + } else if((extra['interval'] / 60) >= 1) { + var interval = extra['interval'] / 60 + ' m'; + } else { + var interval = extra['interval']; + } + $('#interval').val(interval); $("[name='mute']").bootstrapSwitch('state',extra['mute']); $("[name='invert']").bootstrapSwitch('state',extra['invert']); $('#name').val(output['name']); diff --git a/html/includes/print-alert-rules.php b/html/includes/print-alert-rules.php index 03b6707c4..08753ca61 100644 --- a/html/includes/print-alert-rules.php +++ b/html/includes/print-alert-rules.php @@ -122,7 +122,7 @@ foreach( dbFetchRows($full_query, $param) as $rule ) { echo ""; echo "#".((int) $rulei++).""; echo "".$rule['name'].""; - echo ""; + echo ""; if($rule_extra['invert'] === true) { echo "Inverted "; } @@ -132,7 +132,7 @@ foreach( dbFetchRows($full_query, $param) as $rule ) { if($rule_extra['mute'] === true) { echo ""; } - echo "Max: ".$rule_extra['count']."
Delay: ".$rule_extra['delay']."
"; + echo "Max: ".$rule_extra['count']."
Delay: ".$rule_extra['delay']."
Interval: ".$rule_extra['interval']."
"; echo ""; if ($_SESSION['userlevel'] >= '10') { echo "";