--- a/tripPlanner.php
+++ b/tripPlanner.php
@@ -1,17 +1,16 @@
$errorMessage";
- echo '
';
- echo "";
- }
-
- function processItinerary($itineraryNumber, $itinerary)
- {
- echo ' 0 ? 'data-collapsed="true"' : "") . '>
Option #' . ($itineraryNumber + 1) . ": " . floor($itinerary->duration / 60000) . " minutes ({$itinerary->startTime} to {$itinerary->endTime})
";
- echo "Walking time: " . floor($itinerary->walkTime / 60000) . " minutes (" . floor($itinerary->walkDistance) . " meters)
\n";
- echo "Transit time: " . floor($itinerary->transitTime / 60000) . " minutes
\n";
- echo "Waiting time: " . floor($itinerary->waitingTime / 60000) . " minutes
\n";
-
-
-
- if (is_array($itinerary->legs->leg)) {
- $legMarkers = array();
- foreach ($itinerary->legs->leg as $legNumber => $leg) {
- $legMarkers[] = array($leg->from->lat, $leg->from->lon);
- }
- echo '' . staticmap($legMarkers, 0,"iconb", false) . "
\n";
- echo '
';
- foreach ($itinerary->legs->leg as $legNumber => $leg) {
- echo '- ';
- processLeg($legNumber, $leg);
- echo "
";
- }
- echo "
";
- } else {
- echo '' . staticmap(array(array($itinerary->legs->leg->from->lat, $itinerary->legs->leg->from->lon)), 0,"iconb", false) . "
\n";
- processLeg(0, $itinerary->legs->leg);
- }
-
- echo "
";
- }
-
- function processLeg($legNumber, $leg) {
- $legArray = object2array($leg);
- echo 'Leg #' . ($legNumber + 1) . " ( {$legArray['@mode']} from: {$leg->from->name} to {$leg->to->name}, " . floor($leg->duration / 60000) . " minutes)
\n";
- if ($legArray["@mode"] === "BUS") {
- echo "Take bus {$legArray['@route']} " . str_replace("To", "towards", $legArray['@headsign']) . "
";
- } else {
- $walkStepMarkers = array();
- foreach ($leg->steps->walkSteps as $stepNumber => $step) {
- $walkStepMarkers[] = array($step->lat, $step->lon);
- }
- echo "" . staticmap($walkStepMarkers, 0,"icong", false) . "
\n";
- foreach ($leg->steps->walkSteps as $stepNumber => $step) {
- echo "Walking step " . ($stepNumber + 1) . " $step->absoluteDirection / $step->relativeDirection on $step->streetName for " . floor($step->distance) . " meters
\n";
- }
- }
- }
-
- if ($_REQUEST['time']) {
- $toPlace = (startsWith($to, "-") ? $to : geocode($to, false));
- $fromPlace = (startsWith($from, "-") ? $from : geocode($from, false));
- if ($toPlace == "" || $fromPlace == "") {
- $errorMessage = "";
- if ($toPlace === "")
- $errorMessage .= urlencode($to) . " not found.
\n";
- if ($fromPlace === "")
- $errorMessage .= urlencode($from) . " not found.
\n";
- tripPlanForm($errorMessage);
- } else {
- if (isMetricsOn()) {
-// Create a new Instance of the tracker
-$owa = new owa_php();
-// 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('view_trip_plan');
-// Set a property
-$event->set('from',$from);
-$event->set('to',$to);
-$event->set('time',$time);
-$event->set('date',$date);
-// Track the event
-$owa->trackEvent($event);
- }
- $url = $otpAPIurl."ws/plan?date=" . urlencode($_REQUEST['date']) . "&time=" . urlencode($_REQUEST['time']) . "&mode=TRANSIT%2CWALK&optimize=QUICK&maxWalkDistance=840&wheelchair=false&toPlace=$toPlace&fromPlace=$fromPlace&intermediatePlaces=";
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept: application/json"));
- curl_setopt($ch,CURLOPT_TIMEOUT,5);
- $page = curl_exec($ch);
-
- if(curl_errno($ch)) { tripPlanForm("Trip planner temporarily unavailable: ".curl_errno($ch)." ".curl_error($ch));}
- else {
- $tripplan = json_decode($page);
- debug(print_r($triplan,true));
- echo " From: {$tripplan->plan->from->name} To: {$tripplan->plan->to->name}
";
- echo " At: {$tripplan->plan->date}
";
-
- if (is_array($tripplan->plan->itineraries->itinerary)) {
- echo '';
- foreach ($tripplan->plan->itineraries->itinerary as $itineraryNumber => $itinerary) {
- processItinerary($itineraryNumber, $itinerary);
- }
- echo "
";
- } else {
- processItinerary(0, $tripplan->plan->itineraries->itinerary);
- }
- }
- curl_close($ch);
- }
- } else {
- tripPlanForm();
- }
- include_footer();
+}
+function processItinerary($itineraryNumber, $itinerary)
+{
+ echo ' 0 ? 'data-collapsed="true"' : "") . '>
Option #' . ($itineraryNumber + 1) . ": " . floor($itinerary->duration / 60000) . " minutes ({$itinerary->startTime} to {$itinerary->endTime})
";
+ echo "Walking time: " . floor($itinerary->walkTime / 60000) . " minutes (" . floor($itinerary->walkDistance) . " meters)
\n";
+ echo "Transit time: " . floor($itinerary->transitTime / 60000) . " minutes
\n";
+ echo "Waiting time: " . floor($itinerary->waitingTime / 60000) . " minutes
\n";
+ if (is_array($itinerary->legs->leg)) {
+ $legMarkers = array();
+ foreach ($itinerary->legs->leg as $legNumber => $leg) {
+ $legMarkers[] = array(
+ $leg->from->lat,
+ $leg->from->lon
+ );
+ }
+ echo '' . staticmap($legMarkers, 0, "iconb", false) . "
\n";
+ echo '
';
+ foreach ($itinerary->legs->leg as $legNumber => $leg) {
+ echo '- ';
+ processLeg($legNumber, $leg);
+ echo "
";
+ }
+ echo "
";
+ }
+ else {
+ echo '' . staticmap(array(
+ array(
+ $itinerary->legs->leg->from->lat,
+ $itinerary->legs->leg->from->lon
+ )
+ ) , 0, "iconb", false) . "
\n";
+ processLeg(0, $itinerary->legs->leg);
+ }
+ echo "
";
+}
+function processLeg($legNumber, $leg)
+{
+ $legArray = object2array($leg);
+ echo 'Leg #' . ($legNumber + 1) . " ( {$legArray['@mode']} from: {$leg->from->name} to {$leg->to->name}, " . floor($leg->duration / 60000) . " minutes)
\n";
+ if ($legArray["@mode"] === "BUS") {
+ echo "Take bus {$legArray['@route']} " . str_replace("To", "towards", $legArray['@headsign']) . "
";
+ }
+ else {
+ $walkStepMarkers = array();
+ foreach ($leg->steps->walkSteps as $stepNumber => $step) {
+ $walkStepMarkers[] = array(
+ $step->lat,
+ $step->lon
+ );
+ }
+ echo "" . staticmap($walkStepMarkers, 0, "icong", false) . "
\n";
+ foreach ($leg->steps->walkSteps as $stepNumber => $step) {
+ echo "Walking step " . ($stepNumber + 1) . " $step->absoluteDirection / $step->relativeDirection on $step->streetName for " . floor($step->distance) . " meters
\n";
+ }
+ }
+}
+if ($_REQUEST['time']) {
+ $toPlace = (startsWith($to, "-") ? $to : geocode($to, false));
+ $fromPlace = (startsWith($from, "-") ? $from : geocode($from, false));
+ if ($toPlace == "" || $fromPlace == "") {
+ $errorMessage = "";
+ if ($toPlace === "") $errorMessage.= urlencode($to) . " not found.
\n";
+ if ($fromPlace === "") $errorMessage.= urlencode($from) . " not found.
\n";
+ tripPlanForm($errorMessage);
+ }
+ else {
+ $url = $otpAPIurl . "ws/plan?date=" . urlencode($_REQUEST['date']) . "&time=" . urlencode($_REQUEST['time']) . "&mode=TRANSIT%2CWALK&optimize=QUICK&maxWalkDistance=840&wheelchair=false&toPlace=$toPlace&fromPlace=$fromPlace&intermediatePlaces=";
+ $ch = curl_init($url);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_HEADER, 0);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array(
+ "Accept: application/json"
+ ));
+ curl_setopt($ch, CURLOPT_TIMEOUT, 5);
+ $page = curl_exec($ch);
+ if (curl_errno($ch)) {
+ tripPlanForm("Trip planner temporarily unavailable: " . curl_errno($ch) . " " . curl_error($ch));
+ }
+ else {
+ $tripplan = json_decode($page);
+ debug(print_r($triplan, true));
+ echo " From: {$tripplan->plan->from->name} To: {$tripplan->plan->to->name}
";
+ echo " At: {$tripplan->plan->date}
";
+ if (is_array($tripplan->plan->itineraries->itinerary)) {
+ echo '';
+ foreach ($tripplan->plan->itineraries->itinerary as $itineraryNumber => $itinerary) {
+ processItinerary($itineraryNumber, $itinerary);
+ }
+ echo "
";
+ }
+ else {
+ processItinerary(0, $tripplan->plan->itineraries->itinerary);
+ }
+ }
+ curl_close($ch);
+ }
+}
+else {
+ tripPlanForm();
+}
+include_footer();
?>