fix: alert flags on wireless sensors table (#6556)

* fix: alert flags on wireless sensors table
Also check the low limit.

* Set null when the value is updated to a non-numeric or empty value.
This commit is contained in:
Tony Murray
2017-05-03 16:46:05 -05:00
committed by Neil Lathwood
parent 6b2ae00e27
commit 02d9b36720
5 changed files with 21 additions and 13 deletions

View File

@@ -20,5 +20,14 @@ if (is_admin() === false) {
}
for ($x = 0; $x < count($_POST['sensor_id']); $x++) {
dbUpdate(array('sensor_limit' => $_POST['sensor_limit'][$x], 'sensor_limit_low' => $_POST['sensor_limit_low'][$x], 'sensor_alert' => $_POST['sensor_alert'][$x]), 'sensors', '`sensor_id` = ?', array($_POST['sensor_id'][$x]));
dbUpdate(
array(
'sensor_limit' => set_null($_POST['sensor_limit'][$x], array('NULL')),
'sensor_limit_low' => set_null($_POST['sensor_limit_low'][$x], array('NULL')),
'sensor_alert' => set_null($_POST['sensor_alert'][$x], array('NULL'))
),
'sensors',
'`sensor_id` = ?',
array($_POST['sensor_id'][$x])
);
}

View File

@@ -24,7 +24,7 @@ if (!is_numeric($_POST['device_id']) || !is_numeric($_POST['sensor_id']) || !iss
exit;
} else {
$update = dbUpdate(
array($_POST['value_type'] => $_POST['data'], 'sensor_custom' => 'Yes'),
array($_POST['value_type'] => set_null($_POST['data'], array('NULL')), 'sensor_custom' => 'Yes'),
'sensors',
'`sensor_id` = ? AND `device_id` = ?',
array($_POST['sensor_id'], $_POST['device_id'])

View File

@@ -23,9 +23,9 @@ if (is_admin() === false) {
for ($x = 0; $x < count($_POST['sensor_id']); $x++) {
dbUpdate(
array(
'sensor_limit' => $_POST['sensor_limit'][$x],
'sensor_limit_low' => $_POST['sensor_limit_low'][$x],
'sensor_alert' => $_POST['sensor_alert'][$x]
'sensor_limit' => set_null($_POST['sensor_limit'][$x], array('NULL')),
'sensor_limit_low' => set_null($_POST['sensor_limit_low'][$x], array('NULL')),
'sensor_alert' => set_null($_POST['sensor_alert'][$x], array('NULL'))
),
'wireless_sensors',
'`sensor_id` = ?',

View File

@@ -25,7 +25,7 @@ if (!is_numeric($_POST['device_id']) || !is_numeric($_POST['sensor_id']) || !iss
exit;
} else {
$update = dbUpdate(
array($_POST['value_type'] => $_POST['data'], 'sensor_custom' => 'Yes'),
array($_POST['value_type'] => set_null($_POST['data'], array('NULL')), 'sensor_custom' => 'Yes'),
'wireless_sensors',
'`sensor_id` = ? AND `device_id` = ?',
array($_POST['sensor_id'], $_POST['device_id'])

View File

@@ -47,14 +47,13 @@ if ($rowCount != -1) {
$sql = "SELECT * $sql";
foreach (dbFetchRows($sql, $param) as $sensor) {
$alert = '';
if (!isset($sensor['sensor_current'])) {
$sensor['sensor_current'] = 'NaN';
} else {
if ($sensor['sensor_current'] >= $sensor['sensor_limit']) {
$alert = '<i class="fa fa-flag fa-lg" style="color:red" aria-hidden="true"></i>';
} else {
$alert = '';
}
} elseif ((!is_null($sensor['sensor_limit']) && $sensor['sensor_current'] >= $sensor['sensor_limit']) ||
(!is_null($sensor['sensor_limit_low']) && $sensor['sensor_current'] <= $sensor['sensor_limit_low'])
) {
$alert = '<i class="fa fa-flag fa-lg" style="color:red" aria-hidden="true"></i>';
}
// FIXME - make this "four graphs in popup" a function/include and "small graph" a function.
@@ -81,7 +80,7 @@ foreach (dbFetchRows($sql, $param) as $sensor) {
$overlib_content = '<div style="width: 580px;"><h2>'.$sensor['hostname'].' - '.$sensor['sensor_descr'].'</h1>';
foreach (array('day', 'week', 'month', 'year') as $period) {
$graph_array['from'] = $config['time'][$period];
$overlib_content .= str_replace('"', "\'", generate_graph_tag($graph_array));
$overlib_content .= str_replace('"', "\\'", generate_graph_tag($graph_array));
}
$overlib_content .= '</div>';