AWS fixes
[busui.git] / common.inc.php
blob:a/common.inc.php -> blob:b/common.inc.php
--- a/common.inc.php
+++ b/common.inc.php
@@ -4,6 +4,7 @@
 $cloudmadeAPIkey="daa03470bb8740298d4b10e3f03d63e6";
 $googleMapsAPIkey="ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q";
 $otpAPIurl = 'http://localhost:8080/opentripplanner-api-webapp/';
+$owaSiteID = 'fe5b819fa8c424a99ff0764d955d23f3';
 if (isDebug()) error_reporting(E_ALL ^ E_NOTICE);
 
 // SELECT array_to_string(array(SELECT REPLACE(name_2006, ',', '\,') as name FROM suburbs order by name), ',')
@@ -11,20 +12,47 @@
 
  // you have to open the session to be able to modify or remove it 
 session_start();
- if (isset($_REQUEST['service_period'])) $_SESSION['service_period'] = filter_var($_REQUEST['service_period'],FILTER_SANITIZE_STRING);
- if (isset($_REQUEST['time'])) $_SESSION['time'] = filter_var($_REQUEST['time'],FILTER_SANITIZE_STRING);
+ if (isset($_REQUEST['service_period'])) {
+   $_SESSION['service_period'] = filter_var($_REQUEST['service_period'],FILTER_SANITIZE_STRING);
+ }
+ if (isset($_REQUEST['time'])) {
+   $_SESSION['time'] = filter_var($_REQUEST['time'],FILTER_SANITIZE_STRING);
+ }
  if (isset($_REQUEST['geolocate'])) {
-    $contents = geocode(var_filter($_REQUEST['geolocate'],FILTER_SANITIZE_URL),true);
+   $geocoded = false;
+   if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) {
+      $_SESSION['lat'] = $_REQUEST['lat'];
+        $_SESSION['lon'] = $_REQUEST['lon'];
+   } else {
+    $contents = geocode(filter_var($_REQUEST['geolocate'],FILTER_SANITIZE_URL),true);
     if (isset($contents[0]->centroid)) {
-        $session['lat'] = $contents[0]->centroid->coordinates[0];
-        $session['lon'] = $contents[0]->centroid->coordinates[1];
-    }
-    else {
-        $session['lat'] = "";
-        $session['lon'] = "";
+      $geocoded = true;
+        $_SESSION['lat'] = $contents[0]->centroid->coordinates[0];
+        $_SESSION['lon'] = $contents[0]->centroid->coordinates[1];
+      }
+      else {
+        $_SESSION['lat'] = "";
+        $_SESSION['lon'] = "";
+    }
+   }
+   if ($_SESSION['lat'] != "" && isMetricsOn()) {
+// Create a new Instance of the tracker
+$owa = new owa_php($config);
+// Set the ID of the site being tracked
+$owa->setSiteId($owaSiteID);
+// Create a new event object
+$event = $owa->makeEvent();
+// Set the Event Type, in this case a "video_play"
+$event->setEventType('geolocate');
+// Set a property
+$event->set('lat',$_SESSION['lat']);
+$event->set('lon',$_SESSION['lon']);
+$event->set('geocoded',$geocoded);
+// Track the event
+$owa->trackEvent($event);
     }
  }
-//print_r ($_SESSION);
+debug(print_r($_SESSION,true));
 function isDebug()
 {
     return $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME'];
@@ -32,14 +60,16 @@
 
 function isMetricsOn()
 {
-    return true;
+    return !isDebug();
 }
 
 function debug($msg) {
-    if (isDebug()) echo "<!-- $msg -->";
+    if (isDebug()) echo "\n<!-- ".date(DATE_RFC822)."\n $msg -->\n";
 }
 function isFastDevice() {
+   $ua = $_SERVER['HTTP_USER_AGENT']; 
     $fastDevices = Array("Mozilla/5.0 (X11;", "Mozilla/5.0 (Windows;", "Mozilla/5.0 (iP", "Mozilla/5.0 (Linux; U; Android", "Mozilla/4.0 (compatible; MSIE");
+   
     $slowDevices = Array("J2ME","MIDP","Opera/","Mozilla/2.0 (compatible;","Mozilla/3.0 (compatible;");
     return true;
 }
@@ -96,7 +126,7 @@
 
 function success(position) {
 $('#geolocate').val(position.coords.latitude+','+position.coords.longitude);
-// setCookie('geolocate',position.coords.latitude+','+position.coords.longitude,1);
+$.ajax({ url: \"common.inc.php?geolocate=yes&lat=\"+position.coords.latitude+\"&lon=\"+position.coords.longitude });
 $('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;});
 $('#here').show();
 }
@@ -117,7 +147,8 @@
     require_once('owa/owa_env.php');
     require_once(OWA_DIR.'owa_php.php');
     $owa = new owa_php();
-    $owa->setSiteId('bus.lambdacomplex.org');
+    global $owaSiteID;
+    $owa->setSiteId($owaSiteID);
     $owa->setPageTitle($pageTitle);
     $owa->setPageType($pageType);
     $owa->trackPageView();
@@ -199,7 +230,7 @@
 curl_setopt( $ch, CURLOPT_HEADER, 0 );
           curl_setopt($ch,CURLOPT_TIMEOUT,30); 
 $page = curl_exec($ch);
- if(curl_errno($ch)) echo "<font color=red> Database temporarily unavailable: ".curl_errno($ch)." ".curl_error($ch)."</font>";
+ if(curl_errno($ch)) echo "<font color=red> Database temporarily unavailable: ".curl_errno($ch)." ".curl_error($ch)."</font><br>";
 curl_close($ch);
 return $page;
 }
@@ -368,7 +399,7 @@
 
 function geocode($query, $giveOptions) {
     global $cloudmadeAPIkey;
-       $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?query=".$query."&bbox=-35.5,149.00,-35.15,149.1930&return_location=true&bbox_only=true";
+       $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?query=".urlencode($query)."&bbox=-35.5,149.00,-35.15,149.1930&return_location=true&bbox_only=true";
       $contents = json_decode(getPage($url));
       if ($giveOptions) return $contents->features;
       elseif (isset($contents->features[0]->centroid)) return $contents->features[0]->centroid->coordinates[0].",".$contents->features[0]->centroid->coordinates[1];
@@ -445,11 +476,11 @@
         <div class="ui-body"> 
 		<div data-role="fieldcontain">
 	            <label for="geolocate"> Current Location: </label>
-			<input type="text" id="geolocate" name="geolocate" value="Enter co-ordinates or address here"/> <a href="#" style="display:none" name="here" id="here"/>Here?</a>
+			<input type="text" id="geolocate" name="geolocate" value="'. (isset($_SESSION['lat']) && isset($_SESSION['lon']) ? $_SESSION['lat'] .",". $_SESSION['lon'] :"Enter co-ordinates or address here"). '"/> <a href="#" style="display:none" name="here" id="here"/>Here?</a>
 	        </div>
     		<div data-role="fieldcontain">
 		        <label for="time"> Time: </label>
-		    	<input type="time" name="time" id="time" value="'. ($_SESSION['time'] ? $_SESSION['time'] : date("H:m")).'"/> <a href="#" name="currentTime" id="currentTime"/>Current Time?</a>
+		    	<input type="time" name="time" id="time" value="'. (isset($_SESSION['time']) ? $_SESSION['time'] : date("H:i")).'"/> <a href="#" name="currentTime" id="currentTime"/>Current Time?</a>
 	        </div>
 		<div data-role="fieldcontain">
 		    <label for="service_period"> Service Period:  </label>