1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | <?php date_default_timezone_set("Australia/Sydney"); $basePath = ""; $DATA_DIR = "./data"; /** Returns the offset from the origin timezone to the remote timezone, in seconds. * @param $remote_tz; * @param $origin_tz; If null the servers current timezone is used as the origin. * @return int; */ function get_timezone_offset($remote_tz, $origin_tz = null) { if ($origin_tz === null) { if (!is_string($origin_tz = date_default_timezone_get())) { return false; // A UTC timestamp was returned -- bail out! } } $origin_dtz = new DateTimeZone($origin_tz); $remote_dtz = new DateTimeZone($remote_tz); $origin_dt = new DateTime("now", $origin_dtz); $remote_dt = new DateTime("now", $remote_dtz); $offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt); return $offset; } function getSensorValuesByHour($sensorID, $timeFrom, $timeTo) { $sql = 'select min(call_timestamp) as time, count(*), min(length), max(length), avg(length), stddev(length) from recordings group by tgid, date_trunc(\'hour\', call_timestamp) order by time'; $query = $this->db->query($sql, Array($sensorID, $timeFrom, $timeTo)); return $query->result_array(); } 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 = ? group by sensor_id, date_trunc(\'day\', time) order by time'; $query = $this->db->query($sql, Array($sensorID)); return $query->result_array(); } function getSensorDataYears($sensorID, $timeFrom, $timeTo) { $sql = "select distinct extract('year' from call_timestamp) as year from recordings where tgid = ? order by year"; $query = $this->db->query($sql, Array($sensorID)); return $query->result_array(); } 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"; $query = $this->db->query($sql, Array($sensorID)); return $query->result_array(); } 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"; $query = $this->db->query($sql, Array($sensorID)); return $query->result_array(); } function include_header($title) { global $basePath; ?> <!DOCTYPE html> <!-- 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 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 gt IE 8]><!--> <html lang="en"> <!--<![endif]--> <head> <meta charset="utf-8" /> <!-- Set the viewport width to device width for mobile --> <meta name="viewport" content="width=device-width" /> <title><?php echo $title; ?> - Scannr</title> <!-- Included CSS Files --> <link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/foundation.css"> <link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/app.css"> <!--[if lt IE 9]> <link rel="stylesheet" href="<?php echo $basePath ?>stylesheets/ie.css"> <![endif]--> <!-- IE Fix for HTML5 Tags --> <!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> <body xmlns:schema="http://schema.org/" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <!-- navBar --> <div id="navbar" class="container"> <div class="row"> <div class="four columns"> <h1><a href="/">Disclosr</a></h1> </div> <div class="eight columns hide-on-phones"> <strong class="right"> <a href="getAgency.php">Agencies</a> <a href="about.php">About/FAQ</a> </strong> </div> </div> </div> <!-- /navBar --> <!-- container --> <div class="container"> <?php } function include_footer() { global $basePath; ?> </div> <!-- container --> <!-- Included JS Files --> <script src="<?php echo $basePath; ?>js/foundation.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>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> <?php if (strpos($_SERVER['SERVER_NAME'], ".gs")) { ?> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-12341040-2']); _gaq.push(['_trackPageview']); (function() { 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'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </body> </html> <?php } } |