--- a/tripPlanner.php +++ b/tripPlanner.php @@ -1,8 +1,8 @@ <?php include ('include/common.inc.php'); include_header("Trip Planner", "tripPlanner", true, true, true); -$from = (isset($_REQUEST['from']) ? filter_var($_REQUEST['from'], FILTER_SANITIZE_STRING) : "Brigalow"); -$to = (isset($_REQUEST['to']) ? filter_var($_REQUEST['to'], FILTER_SANITIZE_STRING) : "Barry"); +$from = (isset($_REQUEST['from']) ? filter_var($_REQUEST['from'], FILTER_SANITIZE_STRING) : ""); +$to = (isset($_REQUEST['to']) ? filter_var($_REQUEST['to'], FILTER_SANITIZE_STRING) : ""); $date = (isset($_REQUEST['date']) ? filter_var($_REQUEST['date'], FILTER_SANITIZE_STRING) : date("m/d/Y")); $time = (isset($_REQUEST['time']) ? filter_var($_REQUEST['time'], FILTER_SANITIZE_STRING) : date("H:i")); function formatTime($timeString) { @@ -11,6 +11,7 @@ } function tripPlanForm($errorMessage = "") { + global $date, $time, $from, $to; echo "<font color=red>$errorMessage</font>"; echo '<form action="tripPlanner.php" method="post"> @@ -61,6 +62,7 @@ echo '<li>'; processLeg($legNumber, $leg); echo "</li>"; + flush(); @ob_flush(); } echo "</ul>"; } @@ -92,7 +94,17 @@ } echo "" . staticmap($walkStepMarkers, 0, "icong", false) . "<br>\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<br>\n"; + echo "Walking step " . ($stepNumber + 1) . ": "; + if ($step->relativeDirection == "CONTINUE") { + echo "Continue, "; + } else if ($step->relativeDirection) echo "Turn ".ucwords(strtolower(str_replace("_"," ",$step->relativeDirection))).", "; + echo "Go ".ucwords(strtolower($step->absoluteDirection))." on "; + if (strpos($step->streetName,"from") !== false && strpos($step->streetName,"way") !== false) { + echo "footpath"; + } else { + echo $step->streetName; + } + echo " for " . floor($step->distance) . " meters<br>\n"; } } } @@ -101,26 +113,36 @@ $fromPlace = (startsWith($from, "-") ? $from : geocode($from, false)); if ($toPlace == "" || $fromPlace == "") { $errorMessage = ""; - if ($toPlace === "") $errorMessage.= urlencode($to) . " not found.<br>\n"; - if ($fromPlace === "") $errorMessage.= urlencode($from) . " not found.<br>\n"; + if ($toPlace === "") { + $errorMessage.= urlencode($to) . " not found.<br>\n"; + trackEvent("Trip Planner","Geocoder Failed", $to); + } + if ($fromPlace === "") { + $errorMessage.= urlencode($from) . " not found.<br>\n"; + trackEvent("Trip Planner","Geocoder Failed", $from); + } 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); + debug($url); + $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); + curl_setopt($ch, CURLOPT_TIMEOUT, 10); $page = curl_exec($ch); - if (curl_errno($ch)) { - tripPlanForm("Trip planner temporarily unavailable: " . curl_errno($ch) . " " . curl_error($ch)); - } + if (curl_errno($ch) || curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200) { + tripPlanForm("Trip planner temporarily unavailable: " . curl_errno($ch) . " " . curl_error($ch) . " ". curl_getinfo($ch, CURLINFO_HTTP_CODE) .(isDebug() ? "<br>".$url : "")); + trackEvent("Trip Planner","Trip Planner Failed", $url); + } else { + trackEvent("Trip Planner","Plan Trip From", $from); + trackEvent("Trip Planner","Plan Trip To", $to); $tripplan = json_decode($page); - debug(print_r($triplan, true)); + debug(print_r($tripplan, true)); echo "<h1> From: {$tripplan->plan->from->name} To: {$tripplan->plan->to->name} </h1>"; echo "<h1> At: ".formatTime($tripplan->plan->date)." </h1>"; if (is_array($tripplan->plan->itineraries->itinerary)) {