Repair sort and get value wifi connection
This commit is contained in:
		@@ -3,7 +3,8 @@ class DeviceManager{
 | 
				
			|||||||
	public static $devices;
 | 
						public static $devices;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	static function getAllDevices () {
 | 
						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 = "") {
 | 
						static function getAllDevicesInRoom ($roomId = "") {
 | 
				
			||||||
@@ -27,7 +28,9 @@ class DeviceManager{
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	static function getAllDevicesSorted ($sort, $sortType = "ASC") {
 | 
						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) {
 | 
						public static function create ($name, $token) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,8 @@ class Device extends Template
 | 
				
			|||||||
	function __construct () {
 | 
						function __construct () {
 | 
				
			||||||
		$userManager = new UserManager ();
 | 
							$userManager = new UserManager ();
 | 
				
			||||||
		$deviceManager = new DeviceManager ();
 | 
							$deviceManager = new DeviceManager ();
 | 
				
			||||||
 | 
							$subDeviceManager = new SubDeviceManager ();
 | 
				
			||||||
 | 
							$recordManager = new RecordManager ();
 | 
				
			||||||
		$roomManager = new RoomManager ();
 | 
							$roomManager = new RoomManager ();
 | 
				
			||||||
		$langMng = new LanguageManager ('en');
 | 
							$langMng = new LanguageManager ('en');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -73,6 +75,16 @@ class Device extends Template
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		foreach ($devices as $key => $device) {
 | 
							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";
 | 
								$localBinary = "../updater/" . str_replace (':', '', $device['mac']) . ".bin";
 | 
				
			||||||
			if (file_exists ($localBinary)) {
 | 
								if (file_exists ($localBinary)) {
 | 
				
			||||||
				$hash = md5_file ($localBinary);
 | 
									$hash = md5_file ($localBinary);
 | 
				
			||||||
@@ -99,6 +111,16 @@ class Device extends Template
 | 
				
			|||||||
					return $b['firmware_hash'] <=> $a['firmware_hash'];
 | 
										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();
 | 
							$rooms = $roomManager->getAllRooms();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
<!DOCTYPE html>
 | 
					<!DOCTYPE html>
 | 
				
			||||||
<html lang="en">
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<head>
 | 
					<head>
 | 
				
			||||||
	<?php
 | 
						<?php
 | 
				
			||||||
	$partial = new Partial('head');
 | 
						$partial = new Partial('head');
 | 
				
			||||||
@@ -8,6 +9,7 @@
 | 
				
			|||||||
	?>
 | 
						?>
 | 
				
			||||||
	<title><?php echo $TITLE ?></title>
 | 
						<title><?php echo $TITLE ?></title>
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<body class="no-transitions">
 | 
					<body class="no-transitions">
 | 
				
			||||||
	<div class="row no-gutters main">
 | 
						<div class="row no-gutters main">
 | 
				
			||||||
		<div class="col-md-3 d-sm-none"></div>
 | 
							<div class="col-md-3 d-sm-none"></div>
 | 
				
			||||||
@@ -27,7 +29,6 @@
 | 
				
			|||||||
					<th><a href="device?sort=name&sortType=<?php echo $SORTTYPE; ?>">Name</a><i class="fa"><?php echo (!empty($SORTICON['name']) ? $SORTICON['name'] : ""); ?></i></th>
 | 
										<th><a href="device?sort=name&sortType=<?php echo $SORTTYPE; ?>">Name</a><i class="fa"><?php echo (!empty($SORTICON['name']) ? $SORTICON['name'] : ""); ?></i></th>
 | 
				
			||||||
					<th><a href="device?sort=room&sortType=<?php echo $SORTTYPE; ?>">Room</a><i class="fa"><?php echo (!empty($SORTICON['room']) ? $SORTICON['room'] : ""); ?></i></th>
 | 
										<th><a href="device?sort=room&sortType=<?php echo $SORTTYPE; ?>">Room</a><i class="fa"><?php echo (!empty($SORTICON['room']) ? $SORTICON['room'] : ""); ?></i></th>
 | 
				
			||||||
					<th><a href="device?sort=signal&sortType=<?php echo $SORTTYPE; ?>">Signal</a><i class="fa"><?php echo (!empty($SORTICON['signal']) ? $SORTICON['signal'] : ""); ?></i></th>
 | 
										<th><a href="device?sort=signal&sortType=<?php echo $SORTTYPE; ?>">Signal</a><i class="fa"><?php echo (!empty($SORTICON['signal']) ? $SORTICON['signal'] : ""); ?></i></th>
 | 
				
			||||||
					
 | 
					 | 
				
			||||||
					<th><a href="device?sort=firmware&sortType=<?php echo $SORTTYPE; ?>">Firmware</a><i class="fa"><?php echo (!empty($SORTICON['firmware']) ? $SORTICON['firmware'] : ""); ?></i></th>
 | 
										<th><a href="device?sort=firmware&sortType=<?php echo $SORTTYPE; ?>">Firmware</a><i class="fa"><?php echo (!empty($SORTICON['firmware']) ? $SORTICON['firmware'] : ""); ?></i></th>
 | 
				
			||||||
					<th>
 | 
										<th>
 | 
				
			||||||
						<a href="device?sort=ip&sortType=<?php echo $SORTTYPE; ?>">IP Address</a><i class="fa"><?php echo (!empty($SORTICON['ip']) ? $SORTICON['ip'] : ""); ?></i><br>
 | 
											<a href="device?sort=ip&sortType=<?php echo $SORTTYPE; ?>">IP Address</a><i class="fa"><?php echo (!empty($SORTICON['ip']) ? $SORTICON['ip'] : ""); ?></i><br>
 | 
				
			||||||
@@ -51,53 +52,53 @@
 | 
				
			|||||||
									<input class="input" type="text" onchange="this.form.submit();" name="deviceName" value="<?php echo (!empty($device['name']) ? $device['name'] : ""); ?>">
 | 
														<input class="input" type="text" onchange="this.form.submit();" name="deviceName" value="<?php echo (!empty($device['name']) ? $device['name'] : ""); ?>">
 | 
				
			||||||
								</form>
 | 
													</form>
 | 
				
			||||||
							</td>
 | 
												</td>
 | 
				
			||||||
							<td><?php echo (!empty($device['signal']) ? $device['signal'] : ""); ?></td>
 | 
					 | 
				
			||||||
							<td>
 | 
												<td>
 | 
				
			||||||
							<form method="post" action="">
 | 
													<form method="post" action="">
 | 
				
			||||||
								<input type="hidden" name="deviceId" value="<?php echo (!empty($device['device_id']) ? $device['device_id'] : ""); ?>">
 | 
														<input type="hidden" name="deviceId" value="<?php echo (!empty($device['device_id']) ? $device['device_id'] : ""); ?>">
 | 
				
			||||||
								<select class="input" name="deviceRoomId" onchange="this.form.submit();">
 | 
														<select class="input" name="deviceRoomId" onchange="this.form.submit();">
 | 
				
			||||||
								<?php
 | 
															<?php
 | 
				
			||||||
									if (!empty ($ROOMS)) {
 | 
															if (!empty($ROOMS)) {
 | 
				
			||||||
										foreach ($ROOMS as $key => $room) {
 | 
																foreach ($ROOMS as $key => $room) {
 | 
				
			||||||
											echo '<option value="' . $room['room_id'] . '" ' . ($device['room_id'] == $room['room_id'] ? 'selected' : '') . '>' . $room['name'] . '</option>';
 | 
																	echo '<option value="' . $room['room_id'] . '" ' . ($device['room_id'] == $room['room_id'] ? 'selected' : '') . '>' . $room['name'] . '</option>';
 | 
				
			||||||
 | 
																}
 | 
				
			||||||
										}
 | 
															}
 | 
				
			||||||
									}
 | 
															?>
 | 
				
			||||||
								?>
 | 
														</select>
 | 
				
			||||||
								</select>
 | 
													</form>
 | 
				
			||||||
							</form>
 | 
					 | 
				
			||||||
							</td>
 | 
												</td>
 | 
				
			||||||
 | 
												<td><?php echo (!empty($device['signal']) ? $device['signal'] : ""); ?></td>
 | 
				
			||||||
							<td>
 | 
												<td>
 | 
				
			||||||
								<?php if (!empty($device['mac'])) : ?>
 | 
													<?php if (!empty($device['mac'])) : ?>
 | 
				
			||||||
									<?php
 | 
														<?php
 | 
				
			||||||
										$icon = "fa-circle";
 | 
														$icon = "fa-circle";
 | 
				
			||||||
										$color = "yellow";
 | 
														$color = "yellow";
 | 
				
			||||||
										if (!empty($device['firmware_hash'])) {
 | 
														if (!empty($device['firmware_hash'])) {
 | 
				
			||||||
											if ($device['firmware_hash'] == "true") {
 | 
															if ($device['firmware_hash'] == "true") {
 | 
				
			||||||
												$icon = "fa-check-circle";
 | 
																$icon = "fa-check-circle";
 | 
				
			||||||
												$color = "green";
 | 
																$color = "green";
 | 
				
			||||||
											} else if ($device['firmware_hash'] == "need") {
 | 
															} else if ($device['firmware_hash'] == "need") {
 | 
				
			||||||
												$icon = "fa-arrow-circle-up";
 | 
																$icon = "fa-arrow-circle-up";
 | 
				
			||||||
												$color = "#6495ED";
 | 
																$color = "#6495ED";
 | 
				
			||||||
											} else {
 | 
															} else {
 | 
				
			||||||
												$icon = "fa-times-circle";
 | 
																$icon = "fa-times-circle";
 | 
				
			||||||
												$color = "red";
 | 
																$color = "red";
 | 
				
			||||||
											}
 | 
					 | 
				
			||||||
										}
 | 
															}
 | 
				
			||||||
 | 
														}
 | 
				
			||||||
									?>
 | 
														?>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
									<i class="fa <?php echo $icon; ?>" style="color: <?php echo $color; ?>;"></i>
 | 
														<i class="fa <?php echo $icon; ?>" style="color: <?php echo $color; ?>;"></i>
 | 
				
			||||||
									<?php echo $device['firmware_hash'] ?>
 | 
														<?php echo $device['firmware_hash'] ?>
 | 
				
			||||||
									<button class="fa custom-file-input" type="button" onclick="document.getElementById('deviceFirmware-<?php echo $device['device_id']?>').click();"></button>
 | 
														<button class="fa custom-file-input" type="button" onclick="document.getElementById('deviceFirmware-<?php echo $device['device_id'] ?>').click();"></button>
 | 
				
			||||||
									<form style="display: none;" method="post" action="" enctype="multipart/form-data">
 | 
														<form style="display: none;" method="post" action="" enctype="multipart/form-data">
 | 
				
			||||||
										<input type="hidden" name="deviceId" value="<?php echo (!empty($device['device_id']) ? $device['device_id'] : ""); ?>">
 | 
															<input type="hidden" name="deviceId" value="<?php echo (!empty($device['device_id']) ? $device['device_id'] : ""); ?>">
 | 
				
			||||||
										<input type="file" onchange="this.form.submit();" name="deviceFirmware" id="deviceFirmware-<?php echo $device['device_id']?>" value="">
 | 
															<input type="file" onchange="this.form.submit();" name="deviceFirmware" id="deviceFirmware-<?php echo $device['device_id'] ?>" value="">
 | 
				
			||||||
									</form>
 | 
														</form>
 | 
				
			||||||
								<?php endif; ?>
 | 
													<?php endif; ?>
 | 
				
			||||||
								<div type="float: clear;"></div>
 | 
													<div type="float: clear;"></div>
 | 
				
			||||||
							</td>
 | 
												</td>
 | 
				
			||||||
							<td><?php echo (!empty($device['mac']) ? $device['mac'] : ""); ?><br>
 | 
												<td><?php echo (!empty($device['mac']) ? $device['mac'] : ""); ?><br>
 | 
				
			||||||
							<?php echo (!empty($device['ip_address']) ? $device['ip_address'] : ""); ?><br>
 | 
													<?php echo (!empty($device['ip_address']) ? $device['ip_address'] : ""); ?><br>
 | 
				
			||||||
							<?php echo (!empty($device['token']) ? $device['token'] : ""); ?></td>
 | 
													<?php echo (!empty($device['token']) ? $device['token'] : ""); ?></td>
 | 
				
			||||||
							<td>
 | 
												<td>
 | 
				
			||||||
								<?php if (!empty($device['mac'])) : ?>
 | 
													<?php if (!empty($device['mac'])) : ?>
 | 
				
			||||||
									<form method="post" action="">
 | 
														<form method="post" action="">
 | 
				
			||||||
@@ -121,10 +122,10 @@
 | 
				
			|||||||
		//TODO js do main.js
 | 
							//TODO js do main.js
 | 
				
			||||||
		?>
 | 
							?>
 | 
				
			||||||
		<script>
 | 
							<script>
 | 
				
			||||||
			$( function() {
 | 
								$(function() {
 | 
				
			||||||
			    $( "#sortable" ).sortable();
 | 
									$("#sortable").sortable();
 | 
				
			||||||
			    $( "#sortable" ).disableSelection();
 | 
									$("#sortable").disableSelection();
 | 
				
			||||||
			  } );
 | 
								});
 | 
				
			||||||
		</script>
 | 
							</script>
 | 
				
			||||||
</body>
 | 
					</body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user