diff --git a/html/forms/ack-alert.inc.php b/html/forms/ack-alert.inc.php index 3f395c4151..3da5474d1d 100644 --- a/html/forms/ack-alert.inc.php +++ b/html/forms/ack-alert.inc.php @@ -13,12 +13,21 @@ */ $alert_id = mres($_POST['alert_id']); +$state = mres($_POST['state']); if(!is_numeric($alert_id)) { echo('ERROR: No alert selected'); exit; +} elseif(!is_numeric($state)) { + echo('ERROR: No state passed'); + exit; } else { - if(dbUpdate(array('state' => '2'), 'alerts', 'id=?',array($alert_id))) { - echo('Alert has been acknowledged.'); + if($state == 2) { + $state = 1; + } elseif($state == 1) { + $state = 2; + } + if(dbUpdate(array('state' => $state), 'alerts', 'id=?',array($alert_id)) >= 0) { + echo('Alert acknowledged status changed.'); exit; } else { echo('ERROR: Alert has not been acknowledged.'); diff --git a/html/includes/print-alerts.php b/html/includes/print-alerts.php index 89be0cfea5..360da928e4 100644 --- a/html/includes/print-alerts.php +++ b/html/includes/print-alerts.php @@ -23,11 +23,10 @@ echo '
Hostname Timestamp Severity - Status Acknowledge '; -echo (''); +echo (''); if ($_SESSION['userlevel'] == '10') { echo(''); } @@ -52,7 +51,7 @@ if(isset($device['device_id']) && $device['device_id'] > 0) { $sql = 'AND `alerts`.`device_id`=?'; $param = array($device['device_id']); } -$query = " FROM `alerts` LEFT JOIN `devices` ON `alerts`.`device_id`=`devices`.`device_id` RIGHT JOIN alert_rules ON alerts.rule_id=alert_rules.id WHERE `state`= 1 $sql ORDER BY `alerts`.`timestamp` DESC"; +$query = " FROM `alerts` LEFT JOIN `devices` ON `alerts`.`device_id`=`devices`.`device_id` RIGHT JOIN alert_rules ON alerts.rule_id=alert_rules.id WHERE `state` IN (1,2) $sql ORDER BY `alerts`.`timestamp` DESC"; $count_query = $count_query . $query; $count = dbFetchCell($count_query,$param); if(!isset($_POST['page_number']) && $_POST['page_number'] < 1) { @@ -72,11 +71,11 @@ foreach( dbFetchRows($full_query, $param) as $alert ) { $ico = "ok"; $col = "green"; } elseif( (int) $alert['state'] === 1 ) { - $ico = "remove"; + $ico = "volume-up"; $col = "red"; $extra = "danger"; } elseif( (int) $alert['state'] === 2 ) { - $ico = "time"; + $ico = "volume-off"; $col = "#800080"; $extra = "warning"; } @@ -90,17 +89,22 @@ foreach( dbFetchRows($full_query, $param) as $alert ) { echo "".$alert['hostname'].""; echo "".($alert['timestamp'] ? $alert['timestamp'] : "N/A").""; echo "".$rule['severity'].""; - echo " "; echo ""; if ($_SESSION['userlevel'] == '10') { - echo ""; + $ack_ico = 'volume-up'; + $ack_col = 'success'; + if($alert['state'] == 2) { + $ack_ico = 'volume-off'; + $ack_col = 'danger'; + } + echo ""; } echo ""; echo "\r\n"; } if($count % $results > 0) { echo(' - '. generate_pagination($count,$results,$page_number) .' + '. generate_pagination($count,$results,$page_number) .' '); } echo ' @@ -111,13 +115,14 @@ echo ' ?>