0, 'alerted' => 1, 'acknowledged' => 2, 'worse' => 3, 'better' => 4 ); $alert_severities = array( // alert_rules.status is enum('ok','warning','critical') 'ok' => 1, 'warning' => 2, 'critical' => 3 ); //if( defined('show_settings') || empty($widget_settings) ) { if(defined('show_settings')) { $current_acknowledged = isset($widget_settings['acknowledged']) ? $widget_settings['acknowledged'] : ''; $current_severity = isset($widget_settings['severity']) ? $widget_settings['severity'] : ''; $current_state = isset($widget_settings['state']) ? $widget_settings['state'] : ''; $current_group = isset($widget_settings['group']) ? $widget_settings['group'] : ''; $current_proc = isset($widget_settings['proc']) ? $widget_settings['proc'] : ''; $common_output[] = '
'; } else { $device_id = $device['device_id']; $acknowledged = $widget_settings['acknowledged']; $state = $widget_settings['state']; $min_severity = $widget_settings['min_severity']; $group = $widget_settings['group']; $proc = $widget_settings['proc']; $title = "Alerts"; // state can be 0 or '', be sure they are treated differently if (is_numeric($state)) { $state_name = array_search($state, $alert_states); $title = "$title ($state_name)"; } elseif ($state) { $title = "$title ($state)"; } if (is_numeric($acknowledged)) { if ($acknowledged == '0') { $title = "Unacknowledged $title"; } elseif ($acknowledged == '1') { $title = "Acknowledged $title"; } } if (is_numeric($group)) { $group_row = dbFetchRow("SELECT * FROM device_groups WHERE id = ?", array($group)); if ($group_row) { $title = "$title for ".$group_row['name']; } } if ($min_severity) { $sev_name = $min_severity; if (is_numeric($min_severity)) { $sev_name = array_search($min_severity, $alert_severities); $title = "$title >=$sev_name"; } } $widget_settings['title'] = $title; $group = $widget_settings['group']; $common_output[] = '
'; if (is_numeric($proc)) { if ($proc) { $common_output[] = ''; } } else { $common_output[] = ''; } $common_output[] = '
Status Rule   Hostname Timestamp Severity AcknowledgeProcedureProcedure
'; }