148 lines
5.2 KiB
PHP
148 lines
5.2 KiB
PHP
<?php
|
|
// -------------------------------------------
|
|
// outdoor lights control -- server
|
|
// copyright: Jannik Beyerstedt | https://jannikbeyerstedt.de
|
|
// license: http://www.gnu.org/licenses/gpl-3.0.txt GPLv3 License
|
|
// -------------------------------------------
|
|
|
|
include "functions.php";
|
|
|
|
$light = new LightStatus();
|
|
$light->update();
|
|
|
|
$error_string = "";
|
|
|
|
$lastSeenTimeStr = date("H:i:s, Y-m-d",($light->getClientLastSeen()));
|
|
$lastSeenTimeDiff = (time()-$light->getClientLastSeen());
|
|
|
|
// route actions
|
|
if (isset($_GET['action'])) {
|
|
if ($_GET['action'] == 'enlighten') {
|
|
// set off time to now + 15 minutes
|
|
$light->times['instant-on'] = time() + (15*60);
|
|
if ($light->saveTimes() === true) {
|
|
header('Location: index.php?success=true');
|
|
} else {
|
|
$error_string = "Error saving config file";
|
|
}
|
|
|
|
} else if ($_GET['action'] == 'update') {
|
|
if (isset($_POST) && !empty($_POST)) {
|
|
// parse form data
|
|
$parse_state = checkTimesInput($_POST);
|
|
if ($parse_state === true) {
|
|
// change values of $times arrays
|
|
$light->times['time1']['on'] = $_POST['time1-start'];
|
|
$light->times['time1']['off'] = $_POST['time1-stop'];
|
|
$light->times['time2']['on'] = $_POST['time2-start'];
|
|
$light->times['time2']['off'] = $_POST['time2-stop'];
|
|
$light->times['time3']['on'] = $_POST['time3-start'];
|
|
$light->times['time3']['off'] = $_POST['time3-stop'];
|
|
|
|
// save new $times array
|
|
$light->saveTimes();
|
|
|
|
header('Location: index.php?success=true');
|
|
|
|
} else {
|
|
$error_string = $parse_state;
|
|
}
|
|
|
|
} else {
|
|
$error_string = "ERROR: no form data received";
|
|
}
|
|
|
|
} else {
|
|
echo "invalid action\n";
|
|
}
|
|
}
|
|
|
|
?>
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
<meta name="format-detection" content="telephone=no">
|
|
<title>Lightscontrol Control Interface</title>
|
|
<meta name="robots" content="noindex, nofollow">
|
|
|
|
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
|
|
<link rel="stylesheet" href="style.css?v1.1">
|
|
|
|
</head>
|
|
<body class="container <?php echo ($light->isNight) ? 'dark' : 'light' ?>">
|
|
<h1>Garagenlicht</h1>
|
|
|
|
<?php if ($error_string != '') : ?>
|
|
<div class="alert alert-danger" role="alert"><?php echo $error_string ?></div>
|
|
<?php endif; ?>
|
|
|
|
<table class="big">
|
|
<tr>
|
|
<td>Licht:</td>
|
|
<td><?php echo ($light->state) ? '<span class="label label-success">EINGESCHALTET</span>'
|
|
: '<span class="label label-default">AUSGESCHALTET</span>';?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Änderung in:</td>
|
|
<td><span class="label label-primary"><?php echo ($light->changeTime === 1) ? $light->changeTime." Minute" : $light->changeTime." Minuten" ?></span></td>
|
|
</tr>
|
|
</table>
|
|
<a class="btn btn-primary" href="index.php?action=enlighten">Licht temporär an (15 Min)</a>
|
|
|
|
<h5>weitere Informationen:</h5>
|
|
<table>
|
|
<tr>
|
|
<td>Sonnenaufgang:</td><td><?php echo $light->sunrise ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Sonnenuntergang:</td><td><?php echo $light->sunset ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Aktuelle Zeit:</td><td><?php echo date("H:i, Y-m-d",time()) ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Nacht (ja/nein):</td><td><?php echo ($light->isNight) ? "ja" : "nein" ?></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Client Last Seen:</td><td><?php echo $lastSeenTimeStr ?>;
|
|
vor <?php echo (int)($lastSeenTimeDiff/60).':'.($lastSeenTimeDiff - (int)($lastSeenTimeDiff/60) * 60) ?> Min:Sek</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h2>Einstellungen</h2>
|
|
<form class="form-horizontal" action="index.php?action=update" method="post">
|
|
<div class="form-group">
|
|
<label for="time1-start" class="col-xs-3 col-sm-2 control-label">Zeit 1</label>
|
|
<div class="col-xs-9 col-sm-10">
|
|
<input type="time" class="form-control" name="time1-start" value="<?php echo $light->times['time1']['on'] ?>">
|
|
<input type="time" class="form-control" name="time1-stop" value="<?php echo $light->times['time1']['off'] ?>">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="time2-start" class="col-xs-3 col-sm-2 control-label">Zeit 2</label>
|
|
<div class="col-xs-9 col-sm-10">
|
|
<input type="time" class="form-control" name="time2-start" value="<?php echo $light->times['time2']['on'] ?>">
|
|
<input type="time" class="form-control" name="time2-stop" value="<?php echo $light->times['time2']['off'] ?>">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="time3-start" class="col-xs-3 col-sm-2 control-label">Zeit 3</label>
|
|
<div class="col-xs-9 col-sm-10">
|
|
<input type="time" class="form-control" name="time3-start" value="<?php echo $light->times['time3']['on'] ?>">
|
|
<input type="time" class="form-control" name="time3-stop" value="<?php echo $light->times['time3']['off'] ?>">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-9 col-xs-push-3 col-sm-10 col-sm-push-2"><button type="submit" class="btn btn-primary">Zeiten ändern</button></div>
|
|
</div>
|
|
</form>
|
|
|
|
</body>
|
|
</html>
|
|
|
|
<script src="bootstrap/jquery-2.2.4.min.js"></script>
|
|
<script src="bootstrap/js/bootstrap.min.js"></script>
|