beginnings of view calls
[scannr.git] / common.inc.php
blob:a/common.inc.php -> blob:b/common.inc.php
  <?php
  date_default_timezone_set("Australia/Sydney");
  $basePath = "";
   
  /** 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(time) as time, min(value), max(value), avg(value), stddev(value) from sensor_values where sensor_id = ?
  and extract(epoch from time) > ? and extract(epoch from time) < ?
  group by sensor_id, date_trunc(\'hour\', time) 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 time) as year from sensor_values where sensor_id = ? 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
  }
  }