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, 'ok only' => 4, 'warning only' => 5, 'critical only' => 6, ); //if( defined('SHOW_SETTINGS') || empty($widget_settings) ) { if (defined('SHOW_SETTINGS')) { $current_acknowledged = isset($widget_settings['acknowledged']) ? $widget_settings['acknowledged'] : ''; $current_fired = isset($widget_settings['fired']) ? $widget_settings['fired'] : ''; $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'] : ''; $current_sorting = isset($widget_settings['sort']) ? $widget_settings['sort'] : ''; $common_output[] = '
' . csrf_field() . '
'; } else { $device_id = $device['device_id']; $acknowledged = $widget_settings['acknowledged']; $fired = $widget_settings['fired']; $state = $widget_settings['state']; $min_severity = $widget_settings['min_severity']; $group = $widget_settings['group']; $proc = $widget_settings['proc']; $sort = $widget_settings['sort']; $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($fired)) { $title = "Fired $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 " . ($min_severity > 3 ? "" : ">") . "=$sev_name"; } } if (!empty($sort)) { $title = "$title " . "sorted by severity (higher first)"; } $widget_settings['title'] = $title; $group = $widget_settings['group']; $common_output[] = '
'; if ($proc == '1') { $common_output[] = ''; } $common_output[] = '
Timestamp Rule Hostname ACK NotesURL
'; }