From c75c67d420fdd9c3a3c0b950032edfe8ed97b1c9 Mon Sep 17 00:00:00 2001 From: Haitem Date: Tue, 15 Sep 2020 16:38:11 +0200 Subject: [PATCH] Repair sort and get value wifi connection --- app/models/managers/DeviceManager.php | 7 ++- app/views/Device.php | 22 +++++++++ app/views/templates/device.phtml | 71 ++++++++++++++------------- 3 files changed, 63 insertions(+), 37 deletions(-) diff --git a/app/models/managers/DeviceManager.php b/app/models/managers/DeviceManager.php index 048dc94..415896c 100644 --- a/app/models/managers/DeviceManager.php +++ b/app/models/managers/DeviceManager.php @@ -3,7 +3,8 @@ class DeviceManager{ public static $devices; static function getAllDevices () { - return Db::loadAll ("SELECT * FROM devices WHERE approved != ?", Array(2)); + return Db::loadAll ("SELECT devices.* FROM devices + WHERE approved != ?", Array(2)); } static function getAllDevicesInRoom ($roomId = "") { @@ -27,7 +28,9 @@ class DeviceManager{ } static function getAllDevicesSorted ($sort, $sortType = "ASC") { - return Db::loadAll ("SELECT devices.* FROM devices LEFT JOIN rooms ON devices.room_id = rooms.room_id WHERE devices.approved != ? ORDER BY $sort $sortType", Array(2)); + return Db::loadAll ("SELECT devices.* FROM devices + LEFT JOIN rooms ON (devices.room_id = rooms.room_id) + WHERE devices.approved != ? ORDER BY $sort $sortType", Array(2)); } public static function create ($name, $token) { diff --git a/app/views/Device.php b/app/views/Device.php index 0a88aa7..d2dc4a1 100644 --- a/app/views/Device.php +++ b/app/views/Device.php @@ -6,6 +6,8 @@ class Device extends Template function __construct () { $userManager = new UserManager (); $deviceManager = new DeviceManager (); + $subDeviceManager = new SubDeviceManager (); + $recordManager = new RecordManager (); $roomManager = new RoomManager (); $langMng = new LanguageManager ('en'); @@ -73,6 +75,16 @@ class Device extends Template } foreach ($devices as $key => $device) { + $subdevice = $subDeviceManager->getSubDeviceByMasterAndType ($device['device_id'], "wifi"); + if (!empty ($subdevice['subdevice_id'])) { + $record = $recordManager->getLastRecord($subdevice['subdevice_id']); + if (!empty ($record)) { + $devices[$key]['signal'] = $record['value'] . " " . $subdevice['unit']; + } + } + if (empty ($devices[$key]['signal'])) { + $devices[$key]['signal'] = ""; + } $localBinary = "../updater/" . str_replace (':', '', $device['mac']) . ".bin"; if (file_exists ($localBinary)) { $hash = md5_file ($localBinary); @@ -99,6 +111,16 @@ class Device extends Template return $b['firmware_hash'] <=> $a['firmware_hash']; }); } + } else if (!empty ($_GET['sort']) && !empty ($_GET['sortType']) && $_GET['sort'] == "signal") { + if ($_GET['sortType'] == "DESC") { + usort($devices, function($a, $b) { + return $a['signal'] <=> $b['signal']; + }); + } else if ($_GET['sortType'] == "ASC") { + usort($devices, function($a, $b) { + return $b['signal'] <=> $a['signal']; + }); + } } $rooms = $roomManager->getAllRooms(); diff --git a/app/views/templates/device.phtml b/app/views/templates/device.phtml index c22553a..dbd5aa5 100644 --- a/app/views/templates/device.phtml +++ b/app/views/templates/device.phtml @@ -1,5 +1,6 @@ + <?php echo $TITLE ?> +
@@ -27,7 +29,6 @@ Name Room Signal - Firmware IP Address
@@ -51,53 +52,53 @@ "> - -
- "> - "> + -
+ ?> + + + - +
"> - +

-
- +
+
@@ -121,11 +122,11 @@ //TODO js do main.js ?> - + \ No newline at end of file