Add support for geopo based nearest stop lookup
[busui.git] / common.inc.php
blob:a/common.inc.php -> blob:b/common.inc.php
--- a/common.inc.php
+++ b/common.inc.php
@@ -9,7 +9,8 @@
 $debugOkay = Array(
 	"session",
 	"json",
-	"phperror"
+	"phperror",
+	"other"
 );
 if (isDebug("phperror")) error_reporting(E_ALL ^ E_NOTICE);
 include_once ("common-geo.inc.php");
@@ -25,13 +26,22 @@
 	$_SESSION['time'] = filter_var($_REQUEST['time'], FILTER_SANITIZE_STRING);
 }
 if (isset($_REQUEST['geolocate'])) {
+   
 	$geocoded = false;
 	if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) {
-		$_SESSION['lat'] = filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
-		$_SESSION['lon'] = filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
+		$_SESSION['lat'] = trim(filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
+		$_SESSION['lon'] = trim(filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
 	}
 	else {
-		$contents = geocode(filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL) , true);
+	 $geolocate = filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL);
+	 echo $_REQUEST['geolocate'];
+   	 if (startsWith($geolocate, "-")) {
+		  $locateparts = explode(",",$geolocate);
+		  $_SESSION['lat'] = $locateparts[0];
+			$_SESSION['lon'] =$locateparts[1];
+		} else {
+		$contents = geocode($geolocate, true);
+		print_r($contents);
 		if (isset($contents[0]->centroid)) {
 			$geocoded = true;
 			$_SESSION['lat'] = $contents[0]->centroid->coordinates[0];
@@ -40,6 +50,7 @@
 		else {
 			$_SESSION['lat'] = "";
 			$_SESSION['lon'] = "";
+		}
 		}
 	}
 	if ($_SESSION['lat'] != "" && isMetricsOn()) {