Jnf.me/www/where/index.php

81 lines
3.8 KiB
PHP

<?php
if (isset($_GET["data"])):
$options = array(
'http' => array(
'method' => 'GET',
'header' => 'x-ha-access: nXa7LiR1PG'
)
);
$context = stream_context_create($options);
$data = json_decode(file_get_contents("http://192.168.0.25:8123/api/states", false, $context), true);
foreach($data as $item) {
$output[$item["entity_id"]] = $item;
}
header('Content-Type: application/json');
echo json_encode($output['device_tracker.jasonsphone_jason']);
exit();
else:
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link href="//fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<style type="text/css">
* {box-sizing: border-box; margin: 0; border: 0; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 400; text-align: center;}
html, body {height: 100%; min-height: 100%;}
body {background-color: #333333;}
p {font-size: 5vh; color: #FFFFFF; opacity: 0.5;}
h1 {font-size: 13.9vh; color: #FFFFFF;}
#map {width: 100; height: 100%;}
#container {position: absolute; top: 0; width: 100%; height: 100%; border: 1.5vw solid #333333; background: linear-gradient(135deg, rgba(139,51,175,0.8) 0%, rgba(0,131,214,0.8) 100%);}
#centered {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=&AIzaSyCo79O07nOpWmdxKBUdgslJRrBwYSykDxwv=3.exp"></script>
<script>
var map;
$(function() {
var locConnaught = new google.maps.LatLng(51.0426695, -114.0898373);
var mapOptions = {
zoom: 15,
center: locConnaught,
disableDefaultUI: true,
styles: [{"featureType":"poi","elementType":"all","stylers":[{"hue":"#000000"},{"saturation":-100},{"lightness":-100},{"visibility":"off"}]},{"featureType":"poi","elementType":"all","stylers":[{"hue":"#000000"},{"saturation":-100},{"lightness":-100},{"visibility":"off"}]},{"featureType":"administrative","elementType":"all","stylers":[{"hue":"#000000"},{"saturation":0},{"lightness":-100},{"visibility":"off"}]},{"featureType":"road","elementType":"labels","stylers":[{"hue":"#ffffff"},{"saturation":-100},{"lightness":100},{"visibility":"off"}]},{"featureType":"water","elementType":"labels","stylers":[{"hue":"#000000"},{"saturation":-100},{"lightness":-100},{"visibility":"off"}]},{"featureType":"road.local","elementType":"all","stylers":[{"hue":"#ffffff"},{"saturation":-100},{"lightness":100},{"visibility":"on"}]},{"featureType":"water","elementType":"geometry","stylers":[{"hue":"#ffffff"},{"saturation":-100},{"lightness":100},{"visibility":"on"}]},{"featureType":"transit","elementType":"labels","stylers":[{"hue":"#000000"},{"saturation":0},{"lightness":-100},{"visibility":"off"}]},{"featureType":"landscape","elementType":"labels","stylers":[{"hue":"#000000"},{"saturation":-100},{"lightness":-100},{"visibility":"off"}]},{"featureType":"road","elementType":"geometry","stylers":[{"hue":"#bbbbbb"},{"saturation":-100},{"lightness":26},{"visibility":"on"}]},{"featureType":"landscape","elementType":"geometry","stylers":[{"hue":"#dddddd"},{"saturation":-100},{"lightness":-3},{"visibility":"on"}]}]
}
map = new google.maps.Map(document.getElementById('map'), mapOptions);
updateLocation();
setInterval(function() {
updateLocation();
}, 60000);
});
function updateLocation() {
$.getJSON('?data', function(data) {
$('h1').html((data.state == 'away') ? 'Nobody Knows' : 'At ' + data.state.replace(/^\w/, c => c.toUpperCase()));
var locLive = new google.maps.LatLng(data.attributes.latitude, data.attributes.longitude);
map.setCenter(locLive);
})
}
</script>
<body>
<div id="map"></div>
<div id="container">
<div id="centered">
<p>Where tf is Jason?</p>
<h1>Nobody Knows</h1>
</div>
</div>
</body>
</html>
<? endif; ?>