--- a/busui/common.inc.php
+++ b/busui/common.inc.php
@@ -1,14 +1,33 @@
centroid)) {
+ $session['lat'] = $contents[0]->centroid->coordinates[0];
+ $session['lon'] = $contents[0]->centroid->coordinates[1];
+ }
+ else {
+ $session['lat'] = "";
+ $session['lon'] = "";
+ }
+ }
+//print_r ($_SESSION);
function isDebug()
{
- return $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME'];
+ return $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME'];
}
function debug($msg) {
@@ -19,25 +38,40 @@
}
function include_header($pageTitle, $opendiv = true, $geolocate = false) {
- // this starts the session
- session_start();
-
- // if (isDebug()) // set php error level high
echo '
- bus.lambdacomplex.org - '.$pageTitle.'
+ busness time - '.$pageTitle.'
';
- if (isDebug()) echo '
- ';
- else echo '
- ';
+ if (isDebug()) echo '
+
+ ';
+ else echo '
+
+ ';
echo '
+
+
+
+
@@ -47,35 +81,12 @@
if ($geolocate) {
echo "";
+ }
+ echo '';
}
$service_periods = Array ('sunday','saturday','weekday');
@@ -128,7 +147,7 @@
{
// from http://www.perturb.org/display/Perlfunc__Seconds_Since_Midnight.html
if (isset($_SESSION['time'])) {
- $time = mkdate($_SESSION['time']);
+ $time = strtotime($_SESSION['time']);
return (date("G",$time) * 3600) + (date("i",$time) * 60) + date("s",$time);
}
return (date("G") * 3600) + (date("i") * 60) + date("s");
@@ -136,15 +155,22 @@
function midnight_seconds_to_time($seconds)
{
+if ($seconds > 0) {
$midnight = mktime (0, 0, 0, date("n"), date("j"), date("Y"));
return date("h:ia",$midnight+$seconds);
+} else {
+return "";
+}
}
function getPage($url)
{
+ debug($url);
$ch = curl_init($url);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_HEADER, 0 );
+ curl_setopt($ch,CURLOPT_TIMEOUT,30);
$page = curl_exec($ch);
+ if(curl_errno($ch)) echo " Database temporarily unavailable: ".curl_errno($ch)." ".curl_error($ch)." ";
curl_close($ch);
return $page;
}
@@ -202,8 +228,11 @@
}
$center = $totalLat/sizeof($mapPoints).",".$totalLon/sizeof($mapPoints);
}
-
- return ' ';
+ $output = "";
+ $output .= 'Open Map... ';
+ $output .= '
';
+ $output .= '
';
+ return $output;
}
function distance($lat1, $lng1, $lat2, $lng2)
@@ -309,7 +338,8 @@
}
function geocode($query, $giveOptions) {
- $url = "http://geocoding.cloudmade.com/daa03470bb8740298d4b10e3f03d63e6/geocoding/v2/find.js?query=".$query."&bbox=-35.5,149.00,-35.15,149.1930&return_location=true&bbox_only=true";
+ 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";
$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];
@@ -317,7 +347,8 @@
}
function reverseGeocode($lat,$lng) {
- $url = "http://geocoding.cloudmade.com/daa03470bb8740298d4b10e3f03d63e6/geocoding/v2/find.js?around=".$lat.",".$lng."&distance=closest&object_type=road";
+ global $cloudmadeAPIkey;
+ $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?around=".$lat.",".$lng."&distance=closest&object_type=road";
$contents = json_decode(getPage($url));
return $contents->features[0]->properties->name;
}
@@ -331,6 +362,79 @@
if($case){return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);}
return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)),$needle)===0);
}
+function bracketsMeanNewLine($input) {
+ return str_replace(")","",str_replace("(","",$input));
+}
+
+function viaPoints($tripid,$stopid, $timingPointsOnly = false) {
+ global $APIurl;
+ $url = $APIurl."/json/tripstoptimes?trip=".$tripid;
+
+$json = json_decode(getPage($url));
+debug(print_r($json,true));
+$stops = $json[0];
+$times = $json[1];
+$foundStop = false;
+$viaPoints = Array();
+foreach ($stops as $key => $row)
+{
+ if ($foundStop) {
+ if (!$timingPointsOnly || !startsWith($row[5],"Wj") ) {
+ $viaPoints[] = Array("id" => $row[0], "name" => $row[1], "time" => $times[$key]);
+ }
+ } else {
+ if ($row[0] == $stopid) $foundStop = true;
+ }
+}
+ return $viaPoints;
+}
+
+function viaPointNames($tripid,$stopid) {
+ $points = viaPoints($tripid,$stopid,true);
+ $pointNames = Array();
+ foreach ($points as $point) {
+ $pointNames[] = $point['name'];
+ }
+ return implode(", ",$pointNames);
+}
+
+function timePlaceSettings($geolocate = false) {
+ global $service_periods;
+ $geoerror = false;
+ if ($geolocate == true) {
+ $geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat'])
+ || $_SESSION['lat'] == "" || $_SESSION['lon'] == "";
+ }
+ if ($geoerror) {
+ echo ' Sorry, but your location could not currently be detected.
+ Please allow location permission, wait for your location to be detected,
+ or enter an address/co-ordinates in the box below.
';
+ }
+ echo '';
+}
?>
-
-