--- a/routeList.php +++ b/routeList.php @@ -32,74 +32,76 @@ echo '</ul>'; } else if ($_REQUEST['nearby'] || $_REQUEST['suburb']) { + $routes = Array(); if ($_REQUEST['suburb']) { $suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING); - $url = $APIurl . "/json/stopzonesearch?q=" . $suburb; - include_header("Routes by Suburb", "routeList"); - trackEvent("Route Lists", "Routes By Suburb", $suburb); + include_header($suburb ." - ".ucwords(service_period()), "routeList"); + navbar(); + timePlaceSettings(); + trackEvent("Route Lists", "Routes By Suburb", $suburb); + $routes = getRoutesBySuburb($suburb); + } if ($_REQUEST['nearby']) { - $url = $APIurl . "/json/neareststops?lat={$_SESSION['lat']}&lon={$_SESSION['lon']}&limit=15"; include_header("Routes Nearby", "routeList", true, true); - timePlaceSettings(true); + trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'].",".$_SESSION['lon']); + navbar(); + timePlaceSettings(true); if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") { include_footer(); die(); } + $routes = getRoutesNearby($_SESSION['lat'],$_SESSION['lon']); } - $stops = json_decode(getPage($url)); - $routes = Array(); - foreach ($stops as $stop) { - $url = $APIurl . "/json/stoproutes?stop=" . $stop[0]; - $stoproutes = json_decode(getPage($url)); - foreach ($stoproutes as $route) { - if (!isset($routes[$route[0]])) $routes[$route[0]] = $route; + + echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; + + foreach ($routes as $route) { + echo '<li><a href="trip.php?routeid=' . $route['route_id'] . '"><h3>' . $route['route_short_name'] . "</h3><p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>"; + if ($_REQUEST['nearby']) { + $time = getTimeInterpolatedRouteAtStop($route['route_id'], $route['stop_id']); + echo '<span class="ui-li-count">'.($time['arrival_time']?$time['arrival_time']:"No more trips today")."<br>" .floor($route['distance']) . 'm away</span>'; } - } - navbar(); - echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; - sksort($routes, 1, true); - foreach ($routes as $row) { - echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[4]) . ")</a></li>\n"; + echo "</a></li>\n"; } } else if ($_REQUEST['bynumber'] || $_REQUEST['numberSeries']) { include_header("Routes by Number", "routeList"); navbar(); echo ' <ul data-role="listview" data-inset="true">'; - $url = $APIurl . "/json/routes"; - $contents = json_decode(getPage($url)); - $routeSeries = Array(); - $seriesRange = Array(); - foreach ($contents as $key => $row) { - foreach (explode(" ", $row[1]) as $routeNumber) { - $seriesNum = substr($routeNumber, 0, -1) . "0"; - if ($seriesNum == "0") $seriesNum = $routeNumber; - $finalDigit = substr($routeNumber, sizeof($routeNumber) - 1, 1); - if (isset($seriesRange[$seriesNum])) { - if ($finalDigit < $seriesRange[$seriesNum]['max']) $seriesRange[$seriesNum]['max'] = $routeNumber; - if ($finalDigit > $seriesRange[$seriesNum]['min']) $seriesRange[$seriesNum]['min'] = $routeNumber; + if ($_REQUEST['bynumber']) { + $routes = getRoutesByNumber(); + $routeSeries = Array(); + $seriesRange = Array(); + foreach ($routes as $key => $routeNumber) { + foreach (explode(" ", $routeNumber['route_short_name']) as $routeNumber) { + $seriesNum = substr($routeNumber, 0, -1) . "0"; + if ($seriesNum == "0") $seriesNum = $routeNumber; + $finalDigit = substr($routeNumber, sizeof($routeNumber) - 1, 1); + if (isset($seriesRange[$seriesNum])) { + if ($finalDigit < $seriesRange[$seriesNum]['max']) $seriesRange[$seriesNum]['max'] = $routeNumber; + if ($finalDigit > $seriesRange[$seriesNum]['min']) $seriesRange[$seriesNum]['min'] = $routeNumber; + } + else { + $seriesRange[$seriesNum]['max'] = $routeNumber; + $seriesRange[$seriesNum]['min'] = $routeNumber; + } + $routeSeries[$seriesNum][$seriesNum . "-" . $row[1] . "-" . $row[0]] = $row; } - else { - $seriesRange[$seriesNum]['max'] = $routeNumber; - $seriesRange[$seriesNum]['min'] = $routeNumber; - } - $routeSeries[$seriesNum][$seriesNum . "-" . $row[1] . "-" . $row[0]] = $row; } - } - if ($_REQUEST['bynumber']) { ksort($routeSeries); ksort($seriesRange); foreach ($routeSeries as $series => $routes) { - echo '<li><a href="' . curPageURL() . 'routeList.php?numberSeries=' . $series . '">'; + echo '<li><a href="' . curPageURL() . '/routeList.php?numberSeries=' . $series . '">'; if ($series <= 9) echo $series; else echo "{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}"; echo "</a></li>\n"; } } else if ($_REQUEST['numberSeries']) { - foreach ($routeSeries[$_REQUEST['numberSeries']] as $row) { - echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[3]) . ")</a></li>\n"; + $routes = getRoutesByNumber($_REQUEST['numberSeries']); + foreach ($routes as $route) { + echo '<li> <a href="trip.php?routeid=' . $route['route_id'] . '"><h3>' . $route['route_short_name'] . "</h3><p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p></a></li>\n"; } } } @@ -107,20 +109,14 @@ include_header("Routes by Destination", "routeList"); navbar(); echo ' <ul data-role="listview" data-inset="true">'; - $url = $APIurl . "/json/routes"; - $contents = json_decode(getPage($url)); - // by destination! - foreach ($contents as $row) { - $routeDestinations[$row[2]][] = $row; - } if ($_REQUEST['routeDestination']) { - foreach ($routeDestinations[urldecode($_REQUEST['routeDestination'])] as $row) { - echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[3]) . ")</a></li>\n"; + foreach (getRoutesByDestination(urldecode($_REQUEST['routeDestination'])) as $route) { + echo '<li><a href="trip.php?routeid=' . $route["route_id"] . '"><h3>' . $route["route_short_name"] . '</h3><p>' . $route["route_long_name"] . " (" . ucwords($route['service_id']) . ")</p></a></li>\n"; } } else { - foreach ($routeDestinations as $destination => $routes) { - echo '<li><a href="' . curPageURL() . 'routeList.php?routeDestination=' . urlencode($destination) . '">' . $destination . "... </a></li>\n"; + foreach (getRoutesByDestination() as $destination) { + echo '<li><a href="' . curPageURL() . '/routeList.php?routeDestination=' . urlencode($destination['route_long_name']) . '">' . $destination['route_long_name'] . "... </a></li>\n"; } } }