2020-08-31 19:23:23 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<?php
|
|
|
|
$partial = new Partial('head');
|
|
|
|
$partial->prepare('baseDir', $BASEDIR);
|
|
|
|
$partial->render();
|
|
|
|
?>
|
|
|
|
<title><?php echo $TITLE ?></title>
|
|
|
|
</head>
|
|
|
|
<body class="no-transitions">
|
|
|
|
<div class="row no-gutters main">
|
|
|
|
<div class="col-md-3 d-sm-none"></div>
|
|
|
|
<div class="col-md-3 nav-container">
|
|
|
|
<?php
|
|
|
|
$partial = new Partial('menu');
|
|
|
|
$partial->prepare('item', 'device');
|
2020-09-02 17:44:40 +00:00
|
|
|
$partial->prepare('langMng', $LANGMNG);
|
|
|
|
$partial->prepare('debugMod', $DEBUGMOD);
|
2020-08-31 19:23:23 +00:00
|
|
|
$partial->render();
|
|
|
|
?>
|
|
|
|
</div>
|
|
|
|
<div class="col-md-9 main-body">
|
2020-08-31 20:45:05 +00:00
|
|
|
<table class="table is-fluid">
|
2020-09-09 18:24:10 +00:00
|
|
|
<tr>
|
|
|
|
<th><a href="device">#</a></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=firmware&sortType=<?php echo $SORTTYPE; ?>">Firmware</a><i class="fa"><?php echo (!empty($SORTICON['firmware']) ? $SORTICON['firmware'] : ""); ?></i></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=mac&sortType=<?php echo $SORTTYPE; ?>">(Mac)</a><i class="fa"><?php echo (!empty($SORTICON['mac']) ? $SORTICON['mac'] : ""); ?></i><br>
|
|
|
|
<a href="device?sort=token&sortType=<?php echo $SORTTYPE; ?>">Token</a><i class="fa"><?php echo (!empty($SORTICON['token']) ? $SORTICON['token'] : ""); ?></i>
|
|
|
|
</th>
|
|
|
|
<th>Action
|
|
|
|
<form method="post" action="">
|
|
|
|
<button class="fa custom-file-input" type="submit" name="deviceCommand" value="reset" title="Reset All"><b></b></button>
|
|
|
|
<div style="float: clear;"></div>
|
|
|
|
</form>
|
|
|
|
</th>
|
|
|
|
</tr>
|
|
|
|
<?php if (!empty($DEVICES)) : ?>
|
|
|
|
<?php foreach ($DEVICES as $device) : ?>
|
|
|
|
<tr>
|
|
|
|
<td><i class="fa">&#x<?php echo (!empty($device['icon']) ? $device['icon'] : ""); ?></i></td>
|
|
|
|
<td>
|
2020-09-08 16:47:58 +00:00
|
|
|
<form method="post" action="">
|
2020-09-08 16:00:44 +00:00
|
|
|
<input type="hidden" name="deviceId" value="<?php echo (!empty($device['device_id']) ? $device['device_id'] : ""); ?>">
|
2020-09-09 18:24:10 +00:00
|
|
|
<input class="input" type="text" onchange="this.form.submit();" name="deviceName" value="<?php echo (!empty($device['name']) ? $device['name'] : ""); ?>">
|
|
|
|
</form>
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<form method="post" action="">
|
|
|
|
<input type="hidden" name="deviceId" value="<?php echo (!empty($device['device_id']) ? $device['device_id'] : ""); ?>">
|
|
|
|
<select class="input" name="deviceRoomId" onchange="this.form.submit();">
|
|
|
|
<?php
|
|
|
|
if (!empty ($ROOMS)) {
|
|
|
|
foreach ($ROOMS as $key => $room) {
|
|
|
|
echo '<option value="' . $room['room_id'] . '" ' . ($device['room_id'] == $room['room_id'] ? 'selected' : '') . '>' . $room['name'] . '</option>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
</select>
|
|
|
|
</form>
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<?php if (!empty($device['mac'])) : ?>
|
2020-09-08 16:00:44 +00:00
|
|
|
<?php
|
2020-09-09 18:24:10 +00:00
|
|
|
$icon = "fa-circle";
|
|
|
|
$color = "yellow";
|
|
|
|
if (!empty($device['firmware_hash'])) {
|
|
|
|
if ($device['firmware_hash'] == "true") {
|
|
|
|
$icon = "fa-check-circle";
|
|
|
|
$color = "green";
|
|
|
|
} else if ($device['firmware_hash'] == "need") {
|
|
|
|
$icon = "fa-arrow-circle-up";
|
|
|
|
$color = "#6495ED";
|
|
|
|
} else {
|
|
|
|
$icon = "fa-times-circle";
|
|
|
|
$color = "red";
|
2020-09-08 16:00:44 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
|
2020-09-09 18:24:10 +00:00
|
|
|
<i class="fa <?php echo $icon; ?>" style="color: <?php echo $color; ?>;"></i>
|
|
|
|
<?php echo $device['firmware_hash'] ?>
|
|
|
|
<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">
|
|
|
|
<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="">
|
|
|
|
</form>
|
|
|
|
<?php endif; ?>
|
|
|
|
<div type="float: clear;"></div>
|
|
|
|
</td>
|
|
|
|
<td><?php echo (!empty($device['mac']) ? $device['mac'] : ""); ?><br>
|
|
|
|
<?php echo (!empty($device['ip_address']) ? $device['ip_address'] : ""); ?><br>
|
|
|
|
<?php echo (!empty($device['token']) ? $device['token'] : ""); ?></td>
|
|
|
|
<td>
|
|
|
|
<?php if (!empty($device['mac'])) : ?>
|
|
|
|
<form method="post" action="">
|
|
|
|
<input type="hidden" name="deviceId" value="<?php echo (!empty($device['device_id']) ? $device['device_id'] : ""); ?>">
|
|
|
|
<button class="fa custom-file-input" <?php echo (!empty($device['command']) && $device['command'] == "reset" ? "style=\"color:red;\"" : ""); ?> type="submit" name="deviceCommand" value="reset" title="Reset"></button>
|
|
|
|
<button class="fa custom-file-input" <?php echo (!empty($device['command']) && $device['command'] == "config" ? "style=\"color:red;\"" : ""); ?> type="submit" name="deviceCommand" value="config" title="Config"></button>
|
|
|
|
<div style="float: clear;"></div>
|
|
|
|
</form>
|
|
|
|
<?php endif; ?>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<?php endforeach; ?>
|
|
|
|
<?php endif; ?>
|
2020-08-31 19:23:23 +00:00
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
|
2020-09-02 17:44:40 +00:00
|
|
|
<?php
|
|
|
|
$partial = new Partial('footer');
|
|
|
|
$partial->prepare('baseDir', BASEDIR);
|
|
|
|
$partial->render();
|
|
|
|
//TODO js do main.js
|
|
|
|
?>
|
2020-09-09 18:24:10 +00:00
|
|
|
<script>
|
|
|
|
$( function() {
|
|
|
|
$( "#sortable" ).sortable();
|
|
|
|
$( "#sortable" ).disableSelection();
|
|
|
|
} );
|
|
|
|
</script>
|
2020-09-02 17:44:40 +00:00
|
|
|
</body>
|
|
|
|
|
2020-08-31 19:23:23 +00:00
|
|
|
</html>
|