<?php |
<?php |
date_default_timezone_set("Australia/Sydney"); |
date_default_timezone_set("Australia/Sydney"); |
$basePath = ""; |
$basePath = ""; |
|
$DATA_DIR = "./data"; |
|
|
/** Returns the offset from the origin timezone to the remote timezone, in seconds. |
/** Returns the offset from the origin timezone to the remote timezone, in seconds. |
* @param $remote_tz; |
* @param $remote_tz; |
* @param $origin_tz; If null the servers current timezone is used as the origin. |
* @param $origin_tz; If null the servers current timezone is used as the origin. |
* @return int; |
* @return int; |
*/ |
*/ |
function get_timezone_offset($remote_tz, $origin_tz = null) { |
function get_timezone_offset($remote_tz, $origin_tz = null) { |
if ($origin_tz === null) { |
if ($origin_tz === null) { |
if (!is_string($origin_tz = date_default_timezone_get())) { |
if (!is_string($origin_tz = date_default_timezone_get())) { |
return false; // A UTC timestamp was returned -- bail out! |
return false; // A UTC timestamp was returned -- bail out! |
} |
} |
} |
} |
$origin_dtz = new DateTimeZone($origin_tz); |
$origin_dtz = new DateTimeZone($origin_tz); |
$remote_dtz = new DateTimeZone($remote_tz); |
$remote_dtz = new DateTimeZone($remote_tz); |
$origin_dt = new DateTime("now", $origin_dtz); |
$origin_dt = new DateTime("now", $origin_dtz); |
$remote_dt = new DateTime("now", $remote_dtz); |
$remote_dt = new DateTime("now", $remote_dtz); |
$offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt); |
$offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt); |
return $offset; |
return $offset; |
} |
} |
|
|
function getSensorValuesByHour($sensorID, $timeFrom, $timeTo) { |
function getSensorValuesByHour($sensorID, $timeFrom, $timeTo) { |
$sql = 'select min(time) as time, min(value), max(value), avg(value), stddev(value) from sensor_values where sensor_id = ? |
$sql = 'select min(call_timestamp) as time, count(*), min(length), max(length), avg(length), stddev(length) from recordings |
and extract(epoch from time) > ? and extract(epoch from time) < ? |
group by tgid, date_trunc(\'hour\', call_timestamp) order by time'; |
group by sensor_id, date_trunc(\'hour\', time) order by time'; |
|
|
|
$query = $this->db->query($sql, Array($sensorID, $timeFrom, $timeTo)); |
$query = $this->db->query($sql, Array($sensorID, $timeFrom, $timeTo)); |
return $query->result_array(); |
return $query->result_array(); |
} |
} |
|
|
function getSensorValuesByDay($sensorID, $dayFrom, $dayTo) { |
function getSensorValuesByDay($sensorID, $dayFrom, $dayTo) { |
$sql = 'select min(time) as time, min(value), max(value), avg(value), stddev(value) from sensor_values where sensor_id = ? |
$sql = 'select min(time) as time, min(value), max(value), avg(value), stddev(value) from sensor_values where sensor_id = ? |
group by sensor_id, date_trunc(\'day\', time) order by time'; |
group by sensor_id, date_trunc(\'day\', time) order by time'; |
|
|
$query = $this->db->query($sql, Array($sensorID)); |
$query = $this->db->query($sql, Array($sensorID)); |
return $query->result_array(); |
return $query->result_array(); |
} |
} |
|
|
function getSensorDataYears($sensorID, $timeFrom, $timeTo) { |
function getSensorDataYears($sensorID, $timeFrom, $timeTo) { |
$sql = "select distinct extract('year' from time) as year from sensor_values where sensor_id = ? order by year"; |
$sql = "select distinct extract('year' from call_timestamp) as year from recordings where tgid = ? order by year"; |
|
|
$query = $this->db->query($sql, Array($sensorID)); |
$query = $this->db->query($sql, Array($sensorID)); |
return $query->result_array(); |
return $query->result_array(); |
} |
} |
|
|
function getSensorDataMonths($sensorID, $timeFrom, $timeTo) { |
function getSensorDataMonths($sensorID, $timeFrom, $timeTo) { |
$sql = "select distinct extract('month' from time) as month, extract('year' from time) as year from sensor_values where sensor_id = ? order by year, month"; |
$sql = "select distinct extract('month' from time) as month, extract('year' from time) as year from sensor_values where sensor_id = ? order by year, month"; |
|
|
$query = $this->db->query($sql, Array($sensorID)); |
$query = $this->db->query($sql, Array($sensorID)); |
return $query->result_array(); |
return $query->result_array(); |
} |
} |
|
|
function getSensorDataDays($sensorID, $timeFrom, $timeTo) { |
function getSensorDataDays($sensorID, $timeFrom, $timeTo) { |
$sql = "select distinct extract('day' from time) as day, extract('month' from time) as month, extract('year' from time) as year from sensor_values where sensor_id = ? order by year,month,day"; |
$sql = "select distinct extract('day' from time) as day, extract('month' from time) as month, extract('year' from time) as year from sensor_values where sensor_id = ? order by year,month,day"; |
|
|
$query = $this->db->query($sql, Array($sensorID)); |
$query = $this->db->query($sql, Array($sensorID)); |
return $query->result_array(); |
return $query->result_array(); |
} |
} |
|
|
function include_header($title) { |
function include_header($title) { |
global $basePath; |
global $basePath; |
?> |
?> |
<!DOCTYPE html> |
<!DOCTYPE html> |
|
|
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> |
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> |
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> |
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> |
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> |
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> |
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> |
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> |
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]--> |
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]--> |
<head> |
<head> |
<meta charset="utf-8" /> |
<meta charset="utf-8" /> |
|
|
<!-- Set the viewport width to device width for mobile --> |
<!-- Set the viewport width to device width for mobile --> |
<meta name="viewport" content="width=device-width" /> |
<meta name="viewport" content="width=device-width" /> |
|
|
<title><?php echo $title; ?> - Scannr</title> |
<title><?php echo $title; ?> - Scannr</title> |
|
|
<!-- Included CSS Files --> |
<!-- Included CSS Files --> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/foundation.css"> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/foundation.css"> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/app.css"> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/app.css"> |
|
|
<!--[if lt IE 9]> |
<!--[if lt IE 9]> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/ie.css"> |
<link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/ie.css"> |
<![endif]--> |
<![endif]--> |
|
|
|
|
<!-- IE Fix for HTML5 Tags --> |
<!-- IE Fix for HTML5 Tags --> |
<!--[if lt IE 9]> |
<!--[if lt IE 9]> |
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> |
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> |
<![endif]--> |
<![endif]--> |
|
|
</head> |
</head> |
<body xmlns:schema="http://schema.org/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> |
<body xmlns:schema="http://schema.org/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> |
|
|
<!-- navBar --> |
<!-- navBar --> |
<div id="navbar" class="container"> |
<div id="navbar" class="container"> |
<div class="row"> |
<div class="row"> |
<div class="four columns"> |
<div class="four columns"> |
<h1><a href="/">Disclosr</a></h1> |
<h1><a href="/">Disclosr</a></h1> |
</div> |
</div> |
<div class="eight columns hide-on-phones"> |
<div class="eight columns hide-on-phones"> |
<strong class="right"> |
<strong class="right"> |
<a href="getAgency.php">Agencies</a> |
<a href="getAgency.php">Agencies</a> |
<a href="about.php">About/FAQ</a> |
<a href="about.php">About/FAQ</a> |
</strong> |
</strong> |
</div> |
</div> |
</div> |
</div> |
</div> |
</div> |
<!-- /navBar --> |
<!-- /navBar --> |
|
|
<!-- container --> |
<!-- container --> |
<div class="container"> |
<div class="container"> |
<?php |
<?php |
} |
} |
|
|
function include_footer() { |
function include_footer() { |
global $basePath; |
global $basePath; |
?> |
?> |
|
|
</div> |
</div> |
<!-- container --> |
<!-- container --> |
|
|
|
|
|
|
|
|
<!-- Included JS Files --> |
<!-- Included JS Files --> |
<script src="<?php echo $basePath; ?>js/foundation.js"></script> |
<script src="<?php echo $basePath; ?>js/foundation.js"></script> |
<script src="<?php echo $basePath; ?>js/app.js"></script> |
<script src="<?php echo $basePath; ?>js/app.js"></script> |
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> |
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> |
<script>window.jQuery || document.write('<script src="js/jquery-1.8.2.min.js"><\/script>')</script> |
<script>window.jQuery || document.write('<script src="js/jquery-1.8.2.min.js"><\/script>')</script> |
|
|
<script type="text/javascript" src="<?php echo $basePath ?>js/flotr2/flotr2.js"></script> |
<script type="text/javascript" src="<?php echo $basePath ?>js/flotr2/flotr2.js"></script> |
<?php |
<?php |
if (strpos($_SERVER['SERVER_NAME'], ".gs")) { |
if (strpos($_SERVER['SERVER_NAME'], ".gs")) { |
?> |
?> |
<script type="text/javascript"> |
<script type="text/javascript"> |
|
|
var _gaq = _gaq || []; |
var _gaq = _gaq || []; |
_gaq.push(['_setAccount', 'UA-12341040-2']); |
_gaq.push(['_setAccount', 'UA-12341040-2']); |
_gaq.push(['_trackPageview']); |
_gaq.push(['_trackPageview']); |
|
|
(function() { |
(function() { |
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; |
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; |
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; |
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; |
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); |
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); |
})(); |
})(); |
|
|
</script> |
</script> |
|
|
</body> |
</body> |
</html> |
</html> |
|
|
<?php |
<?php |
} |
} |
} |
} |
|
|
|
|