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 '
?>