false, 'count' => -1, 'delay' => 300, 'invert' => false, 'interval' => 300, ); require_once '../includes/alerts.inc.php'; foreach ($default_rules as $add_rule) { $extra = $default_extra; if (isset($add_rule['extra'])) { $extra = array_replace($extra, json_decode($add_rule['extra'], true)); } $insert = array( 'device_id' => -1, 'rule' => $add_rule['rule'], 'query' => GenSQL($add_rule['rule']), 'severity' => 'critical', 'extra' => json_encode($extra), 'disabled' => 0, 'name' => $add_rule['name'] ); dbInsert($insert, 'alert_rules'); } }//end if require_once 'includes/modal/new_alert_rule.inc.php'; require_once 'includes/modal/delete_alert_rule.inc.php'; require_once 'includes/modal/alert_rule_collection.inc.php'; ?>
0) { $results = $_POST['results']; } else { $results = 50; } echo '
'; echo ''; $count_query = 'SELECT COUNT(*)'; $full_query = 'SELECT *'; $sql = ''; $param = array(); if (isset($device['device_id']) && $device['device_id'] > 0) { $sql = 'WHERE (device_id=? OR device_id="-1")'; $param = array($device['device_id']); } $query = " FROM alert_rules $sql"; $count_query = $count_query.$query; $count = dbFetchCell($count_query, $param); if (!isset($_POST['page_number']) && $_POST['page_number'] < 1) { $page_number = 1; } else { $page_number = $_POST['page_number']; } $start = (($page_number - 1) * $results); $full_query = $full_query.$query." ORDER BY id ASC LIMIT $start,$results"; foreach (dbFetchRows($full_query, $param) as $rule) { $sub = dbFetchRows('SELECT * FROM alerts WHERE rule_id = ? ORDER BY `state` DESC, `id` DESC LIMIT 1', array($rule['id'])); $ico = 'check'; $col = 'success'; $extra = ''; if (sizeof($sub) == 1) { $sub = $sub[0]; if ((int) $sub['state'] === 0) { $ico = 'check'; $col = 'success'; } elseif ((int) $sub['state'] === 1 || (int) $sub['state'] === 2) { $ico = 'remove'; $col = 'danger'; $extra = 'danger'; } } $alert_checked = ''; $orig_ico = $ico; $orig_col = $col; $orig_class = $extra; if ($rule['disabled']) { $ico = 'pause'; $col = ''; $extra = 'active'; } else { $alert_checked = 'checked'; } $rule_extra = json_decode($rule['extra'], true); if ($rule['device_id'] == ':-1' || $rule['device_id'] == '-1') { $popover_msg = 'Global alert rule'; } else { $popover_msg = 'Device specific rule'; } echo ""; echo ''; echo ''; echo "'; echo ''; echo ""; } echo ''; echo ''; echo ''; echo "\r\n"; }//end foreach if (($count % $results) > 0) { echo ' '; } echo '
# Name Rule Severity Status Extra Enabled Action
'; if ($_SESSION['userlevel'] >= '10') { echo ''; echo ' - OR - '; echo ''; } echo '
#'.((int) $rule['id']).''.$rule['name'].'"; if ($rule_extra['invert'] === true) { echo 'Inverted '; } echo ''.htmlentities($rule['rule']).''.$rule['severity'].' "; if ($rule_extra['mute'] === true) { echo "Max: '.$rule_extra['count'].'
Delay: '.$rule_extra['delay'].'
Interval: '.$rule_extra['interval'].'
'; if ($_SESSION['userlevel'] >= '10') { echo ""; } echo ''; if ($_SESSION['userlevel'] >= '10') { echo "
"; echo " "; echo ""; } echo '
'.generate_pagination($count, $results, $page_number).'
'; if ($count < 1) { if ($_SESSION['userlevel'] >= '10') { echo '

'; } } ?>