'; echo ' '.$sensor_type.''; echo '
'; foreach ($sensors as $sensor) { $state_translation = array(); if (!empty($sensor['state_index_id'])) { $state_translation = dbFetchRows('SELECT * FROM `state_translations` WHERE `state_index_id` = ? AND `state_value` = ? ', array($sensor['state_index_id'], $sensor['sensor_current'])); } if (!isset($sensor['sensor_current'])) { $sensor['sensor_current'] = 'NaN'; } // FIXME - make this "four graphs in popup" a function/include and "small graph" a function. // FIXME - So now we need to clean this up and move it into a function. Isn't it just "print-graphrow"? // FIXME - DUPLICATED IN health/sensors $graph_colour = str_replace('#', '', $row_colour); $graph_array = array(); $graph_array['height'] = '100'; $graph_array['width'] = '210'; $graph_array['to'] = $config['time']['now']; $graph_array['id'] = $sensor['sensor_id']; $graph_array['type'] = $graph_type; $graph_array['from'] = $config['time']['day']; $graph_array['legend'] = 'no'; $link_array = $graph_array; $link_array['page'] = 'graphs'; unset($link_array['height'], $link_array['width'], $link_array['legend']); $link = generate_url($link_array); $overlib_content = '

'.$device['hostname'].' - '.$sensor['sensor_descr'].'

'; 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 .= '
'; $graph_array['width'] = 80; $graph_array['height'] = 20; $graph_array['bg'] = 'ffffff00'; // the 00 at the end makes the area transparent. $graph_array['from'] = $config['time']['day']; $sensor_minigraph = generate_lazy_graph_tag($graph_array); $sensor['sensor_descr'] = truncate($sensor['sensor_descr'], 48, ''); if (!empty($state_translation['0']['state_descr'])) { $state_style=""; switch ($state_translation['0']['state_generic_value']) { case 0: // OK $state_style="class='label label-success'"; break; case 1: // Warning $state_style="class='label label-warning'"; break; case 2: // Critical $state_style="class='label label-danger'"; break; case 3: // Unknown default: $state_style="class='label label-default'"; break; } echo ''; } else { echo ''; } }//end foreach echo '
'.overlib_link($link, shorten_interface_type($sensor['sensor_descr']), $overlib_content, $sensor_class).' '.overlib_link($link, $sensor_minigraph, $overlib_content, $sensor_class).' '.overlib_link($link, ''.$state_translation['0']['state_descr'].'', $overlib_content, $sensor_class).'
'.overlib_link($link, shorten_interface_type($sensor['sensor_descr']), $overlib_content, $sensor_class).' '.overlib_link($link, $sensor_minigraph, $overlib_content, $sensor_class).' '.overlib_link($link, ' $sensor['sensor_limit'] ? "style='color: red'" : '').'>'.$sensor['sensor_current'].$sensor_unit.'', $overlib_content, $sensor_class).'
'; echo '
'; echo '
'; echo '
'; echo ''; }//end if