Add device menu
This commit is contained in:
		
							
								
								
									
										42
									
								
								app/views/Device.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								app/views/Device.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Device extends Template
 | 
			
		||||
{
 | 
			
		||||
	function __construct () {
 | 
			
		||||
		$userManager = new UserManager ();
 | 
			
		||||
		$deviceManager = new DeviceManager ();
 | 
			
		||||
		$langMng = new LanguageManager ('en');
 | 
			
		||||
 | 
			
		||||
		if (!$userManager->isLogin ()) {
 | 
			
		||||
			header ('Location: ' . BASEURL . 'device');
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$template = new Template ('device');
 | 
			
		||||
		$template->prepare ('title', $langMng->get ("m_devices"));
 | 
			
		||||
 | 
			
		||||
		$devices = $deviceManager->getAllDevices ();
 | 
			
		||||
 | 
			
		||||
		foreach ($devices as $key => $device) {
 | 
			
		||||
			$localBinary = "../updater/" . str_replace (':', '', $device['mac']) . ".bin";
 | 
			
		||||
			if (file_exists ($localBinary)) {
 | 
			
		||||
				$hash = md5_file ($localBinary);
 | 
			
		||||
				if ($hash == $device['firmware_hash']) {
 | 
			
		||||
					$devices[$key]['firmware_hash'] = "true";
 | 
			
		||||
				} else {
 | 
			
		||||
					$devices[$key]['firmware_hash'] = "need";
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				$devices[$key]['firmware_hash'] = "false";
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$template->prepare ('baseDir', BASEDIR);
 | 
			
		||||
		$template->prepare ('debugMod', DEBUGMOD);
 | 
			
		||||
		$template->prepare ('logToLiveTime', LOGTIMOUT);
 | 
			
		||||
		$template->prepare ('devices', $devices);
 | 
			
		||||
		$template->prepare ('langMng', $langMng);
 | 
			
		||||
 | 
			
		||||
		$template->render ();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										79
									
								
								app/views/templates/device.phtml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								app/views/templates/device.phtml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,79 @@
 | 
			
		||||
<!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');
 | 
			
		||||
			$partial->prepare('langMng',$LANGMNG);
 | 
			
		||||
			$partial->prepare('debugMod',$DEBUGMOD);
 | 
			
		||||
			$partial->render();
 | 
			
		||||
			?>
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="col-md-9 main-body">
 | 
			
		||||
			<table>
 | 
			
		||||
				<thead>
 | 
			
		||||
					<tr>
 | 
			
		||||
						<th>Icon</th>
 | 
			
		||||
						<th>Name</th>
 | 
			
		||||
						<th>Firmware</th>
 | 
			
		||||
						<th>Mac</th>
 | 
			
		||||
						<th>IP Address</th>
 | 
			
		||||
						<th>Action</th>
 | 
			
		||||
					</tr>
 | 
			
		||||
				</thead>
 | 
			
		||||
				<tbody>
 | 
			
		||||
					<?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><?php echo (!empty ($device['name']) ? $device['name'] : ""); ?></td>
 | 
			
		||||
								<td>
 | 
			
		||||
									<?php if (!empty ($device['mac'])): ?>
 | 
			
		||||
										<i
 | 
			
		||||
											class="fa <?php echo (!empty ($device['firmware_hash']) ? ($device['firmware_hash'] != "need" ? "fa-check-circle" : "fa-circle") : "fa-times-circle"); ?>"
 | 
			
		||||
											style="float: center; <?php echo (!empty ($device['firmware_hash']) ? ($device['firmware_hash'] != "need" ? "color: green;" : "color: yellow;") : "color: red;"); ?>"
 | 
			
		||||
										></i>
 | 
			
		||||
										<button class="fa custom-file-input" type="button" onclick="document.getElementById('deviceFirmware').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" value="">
 | 
			
		||||
										</form>
 | 
			
		||||
									<?php endif; ?>
 | 
			
		||||
									<div type="float: clear;"></div>
 | 
			
		||||
								</td>
 | 
			
		||||
								<td><?php echo (!empty ($device['mac']) ? $device['mac'] : ""); ?></td>
 | 
			
		||||
								<td><?php echo (!empty ($device['ip_address']) ? $device['ip_address'] : ""); ?></td>
 | 
			
		||||
								<td>
 | 
			
		||||
									<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" type="submit" name="deviceCommand" value="reset" title="Reset"></button>
 | 
			
		||||
										<button class="fa custom-file-input" type="submit" name="deviceCommand" value="config" title="Config"></button>
 | 
			
		||||
										<div style="float: clear;"></div>
 | 
			
		||||
									</form>
 | 
			
		||||
								</td>
 | 
			
		||||
							</tr>
 | 
			
		||||
						<?php endforeach; ?>
 | 
			
		||||
					<?php endif; ?>
 | 
			
		||||
				<tbody>
 | 
			
		||||
			</table>
 | 
			
		||||
		</div>
 | 
			
		||||
 | 
			
		||||
			<?php
 | 
			
		||||
			$partial = new Partial('footer');
 | 
			
		||||
			$partial->prepare('baseDir', BASEDIR);
 | 
			
		||||
			$partial->render();
 | 
			
		||||
			//TODO js do main.js
 | 
			
		||||
			?>
 | 
			
		||||
	</body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -1,6 +1,11 @@
 | 
			
		||||
<div class="nav">
 | 
			
		||||
    <?php
 | 
			
		||||
    $menuItems = [
 | 
			
		||||
		 'fa-podcast' => [
 | 
			
		||||
			  'slug' => 'device',
 | 
			
		||||
			  'lngKey' => 'devices',
 | 
			
		||||
			  'path' => 'device',
 | 
			
		||||
		 ],
 | 
			
		||||
        'fa-wrench' => [
 | 
			
		||||
            'slug' => 'setting',
 | 
			
		||||
            'lngKey' => 'settings',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user