From 0029e9f1610745be83c5fbcfa03a269c04223e4e Mon Sep 17 00:00:00 2001 From: Peca Nesovanovic <59750439+Npeca75@users.noreply.github.com> Date: Sun, 13 Feb 2022 19:20:47 +0100 Subject: [PATCH] [refactor] Eloquent for includes/html/pages/device/health.inc.php (#13777) * [rewrite] includes/html/pages/device/health.inc.php * translate sensor names * ci --- includes/html/pages/device/health.inc.php | 241 +++++----------------- 1 file changed, 49 insertions(+), 192 deletions(-) diff --git a/includes/html/pages/device/health.inc.php b/includes/html/pages/device/health.inc.php index 25348ab6fa..4071127497 100644 --- a/includes/html/pages/device/health.inc.php +++ b/includes/html/pages/device/health.inc.php @@ -1,15 +1,37 @@ . + * + * @link https://www.librenms.org + * + * @copyright 2022 Peca Nesovanovic + * @author Peca Nesovanovic + */ +use App\Models\DiskIo; +use App\Models\Mempool; +use App\Models\Processor; use App\Models\Sensor; - -$storage = dbFetchCell('select count(*) from storage WHERE device_id = ?', [$device['device_id']]); -$diskio = dbFetchRows('SELECT * FROM `ucd_diskio` WHERE device_id = ? ORDER BY diskio_descr', [$device['device_id']]); -$mempools = dbFetchCell('select count(*) from mempools WHERE device_id = ?', [$device['device_id']]); -$processor = dbFetchCell('select count(*) from processors WHERE device_id = ?', [$device['device_id']]); +use App\Models\Storage; /* - * QFP count for cisco devices - */ +# QFP count for cisco devices +*/ + $qfp = 0; if ($device['os_group'] == 'cisco') { $component = new LibreNMS\Component(); @@ -18,40 +40,10 @@ if ($device['os_group'] == 'cisco') { $qfp = count($components); } -$count = dbFetchCell("select count(*) from sensors WHERE sensor_class='count' AND device_id = ?", [$device['device_id']]); -$temperatures = dbFetchCell("select count(*) from sensors WHERE sensor_class='temperature' AND device_id = ?", [$device['device_id']]); -$humidity = dbFetchCell("select count(*) from sensors WHERE sensor_class='humidity' AND device_id = ?", [$device['device_id']]); -$fans = dbFetchCell("select count(*) from sensors WHERE sensor_class='fanspeed' AND device_id = ?", [$device['device_id']]); -$volts = dbFetchCell("select count(*) from sensors WHERE sensor_class='voltage' AND device_id = ?", [$device['device_id']]); -$current = dbFetchCell("select count(*) from sensors WHERE sensor_class='current' AND device_id = ?", [$device['device_id']]); -$freqs = dbFetchCell("select count(*) from sensors WHERE sensor_class='frequency' AND device_id = ?", [$device['device_id']]); -$runtime = dbFetchCell("select count(*) from sensors WHERE sensor_class='runtime' AND device_id = ?", [$device['device_id']]); -$power = dbFetchCell("select count(*) from sensors WHERE sensor_class='power' AND device_id = ?", [$device['device_id']]); -$power_consumed = dbFetchCell("select count(*) from sensors WHERE sensor_class='power_consumed' AND device_id = ?", [$device['device_id']]); -$power_factor = dbFetchCell("select count(*) from sensors WHERE sensor_class='power_factor' AND device_id = ?", [$device['device_id']]); -$dBm = dbFetchCell("select count(*) from sensors WHERE sensor_class='dBm' AND device_id = ?", [$device['device_id']]); -$states = dbFetchCell("select count(*) from sensors WHERE sensor_class='state' AND device_id = ?", [$device['device_id']]); -$charge = dbFetchCell("select count(*) from sensors WHERE sensor_class='charge' AND device_id = ?", [$device['device_id']]); -$load = dbFetchCell("select count(*) from sensors WHERE sensor_class='load' AND device_id = ?", [$device['device_id']]); -$loss = dbFetchCell("select count(*) from sensors WHERE sensor_class='loss' AND device_id = ?", [$device['device_id']]); -$signal = dbFetchCell("select count(*) from sensors WHERE sensor_class='signal' AND device_id = ?", [$device['device_id']]); -$airflow = dbFetchCell("select count(*) from sensors WHERE sensor_class='airflow' AND device_id = ?", [$device['device_id']]); -$snr = dbFetchCell("select count(*) from sensors WHERE sensor_class='snr' AND device_id = ?", [$device['device_id']]); -$pressure = dbFetchCell("select count(*) from sensors WHERE sensor_class='pressure' AND device_id = ?", [$device['device_id']]); -$cooling = dbFetchCell("select count(*) from sensors WHERE sensor_class='cooling' AND device_id = ?", [$device['device_id']]); -$delay = dbFetchCell("select count(*) from sensors WHERE sensor_class='delay' AND device_id = ?", [$device['device_id']]); -$quality_factor = dbFetchCell("select count(*) from sensors WHERE sensor_class='quality_factor' AND device_id = ?", [$device['device_id']]); -$chromatic_dispersion = dbFetchCell("select count(*) from sensors WHERE sensor_class='chromatic_dispersion' AND device_id = ?", [$device['device_id']]); -$ber = dbFetchCell("select count(*) from sensors WHERE sensor_class='ber' AND device_id = ?", [$device['device_id']]); -$eer = dbFetchCell("select count(*) from sensors WHERE sensor_class='eer' AND device_id = ?", [$device['device_id']]); -$waterflow = dbFetchCell("select count(*) from sensors WHERE sensor_class='waterflow' AND device_id = ?", [$device['device_id']]); -$percent = dbFetchCell("select count(*) from sensors WHERE sensor_class='percent' AND device_id = ?", [$device['device_id']]); -$tv_signal = dbFetchCell("select count(*) from sensors WHERE sensor_class='tv_signal' AND device_id = ?", [$device['device_id']]); -$bitrate = Sensor::where('sensor_class', 'bitrate')->where('device_id', $device['device_id'])->count(); - unset($datas); $datas[] = 'overview'; -if ($processor) { + +if (Processor::where('device_id', $device['device_id'])->count()) { $datas[] = 'processor'; } @@ -59,174 +51,39 @@ if ($qfp) { $datas[] = 'qfp'; } -if ($mempools) { +if (Mempool::where('device_id', $device['device_id'])->count()) { $datas[] = 'mempool'; } -if ($storage) { +if (Storage::where('device_id', $device['device_id'])->count()) { $datas[] = 'storage'; } -if ($diskio) { +if (DiskIo::where('device_id', $device['device_id'])->count()) { $datas[] = 'diskio'; } -if ($charge) { - $datas[] = 'charge'; -} +$sensors = [ + 'airflow', 'ber', 'bitrate', 'charge', 'chromatic_dispersion', 'cooling', 'count', 'current', 'dBm', 'delay', 'eer', + 'fanspeed', 'frequency', 'humidity', 'load', 'loss', 'percent', 'power', 'power_consumed', 'power_factor', 'pressure', + 'runtime', 'signal', 'snr', 'state', 'temperature', 'tv_signal', 'voltage', 'waterflow', 'quality_factor', +]; -if ($temperatures) { - $datas[] = 'temperature'; -} - -if ($humidity) { - $datas[] = 'humidity'; -} - -if ($fans) { - $datas[] = 'fanspeed'; -} - -if ($volts) { - $datas[] = 'voltage'; -} - -if ($freqs) { - $datas[] = 'frequency'; -} - -if ($runtime) { - $datas[] = 'runtime'; -} - -if ($current) { - $datas[] = 'current'; -} - -if ($power) { - $datas[] = 'power'; -} - -if ($power_consumed) { - $datas[] = 'power_consumed'; -} - -if ($power_factor) { - $datas[] = 'power_factor'; -} - -if ($dBm) { - $datas[] = 'dbm'; -} - -if ($states) { - $datas[] = 'state'; -} - -if ($count) { - $datas[] = 'count'; -} - -if ($load) { - $datas[] = 'load'; -} - -if ($signal) { - $datas[] = 'signal'; -} - -if ($tv_signal) { - $datas[] = 'tv_signal'; -} - -if ($bitrate) { - $datas[] = 'bitrate'; -} - -if ($airflow) { - $datas[] = 'airflow'; -} - -if ($snr) { - $datas[] = 'snr'; -} - -if ($pressure) { - $datas[] = 'pressure'; -} - -if ($cooling) { - $datas[] = 'cooling'; -} - -if ($delay) { - $datas[] = 'delay'; -} - -if ($quality_factor) { - $datas[] = 'quality_factor'; -} - -if ($chromatic_dispersion) { - $datas[] = 'chromatic_dispersion'; -} - -if ($ber) { - $datas[] = 'ber'; -} - -if ($eer) { - $datas[] = 'eer'; -} - -if ($waterflow) { - $datas[] = 'waterflow'; -} - -if ($loss) { - $datas[] = 'loss'; -} - -if ($percent) { - $datas[] = 'percent'; +foreach ($sensors as $sensor_name) { + if (Sensor::where('sensor_class', $sensor_name)->where('device_id', $device['device_id'])->count()) { + //strtolower because 'dBm - dbm' difference + $lowname = strtolower($sensor_name); + $datas[] = $lowname; + $type_text[$lowname] = trans('sensors.' . $lowname)['short']; + } } $type_text['overview'] = 'Overview'; -$type_text['charge'] = 'Battery Charge'; -$type_text['temperature'] = 'Temperature'; -$type_text['humidity'] = 'Humidity'; +$type_text['qfp'] = 'QFP'; +$type_text['processor'] = 'Processor'; $type_text['mempool'] = 'Memory'; $type_text['storage'] = 'Disk Usage'; $type_text['diskio'] = 'Disk I/O'; -$type_text['processor'] = 'Processor'; -$type_text['voltage'] = 'Voltage'; -$type_text['fanspeed'] = 'Fanspeed'; -$type_text['frequency'] = 'Frequency'; -$type_text['runtime'] = 'Runtime remaining'; -$type_text['current'] = 'Current'; -$type_text['power'] = 'Power'; -$type_text['power_consumed'] = 'Power Consumed'; -$type_text['power_factor'] = 'Power Factor'; -$type_text['dbm'] = 'dBm'; -$type_text['state'] = 'State'; -$type_text['count'] = 'Count'; -$type_text['load'] = 'Load'; -$type_text['signal'] = 'Signal'; -$type_text['tv_signal'] = 'TV signal'; -$type_text['bitrate'] = 'Bitrate'; -$type_text['airflow'] = 'Airflow'; -$type_text['snr'] = 'SNR'; -$type_text['pressure'] = 'Pressure'; -$type_text['cooling'] = 'Cooling'; -$type_text['delay'] = 'Delay'; -$type_text['quality_factor'] = 'Quality factor'; -$type_text['chromatic_dispersion'] = 'Chromatic Dispersion'; -$type_text['ber'] = 'Bit Error Rate'; -$type_text['eer'] = 'Energy Efficiency Ratio'; -$type_text['waterflow'] = 'Water Flow Rate'; -$type_text['loss'] = 'Loss'; -$type_text['qfp'] = 'QFP'; -$type_text['percent'] = 'Percent'; $link_array = [ 'page' => 'device',