--- a/routeList.php
+++ b/routeList.php
@@ -1,133 +1,168 @@
';
}
-if ($_REQUEST['bysuburb']) {
- include_header("Routes by Suburb", "routeList");
- navbar();
- echo ' ';
- if (!isset($_REQUEST['firstLetter'])) {
- foreach (range('A', 'Z') as $letter) {
- echo "- $letter...
\n";
- }
- }
- else {
- foreach ($suburbs as $suburb) {
- if (startsWith($suburb, $_REQUEST['firstLetter'])) {
- echo '- ' . $suburb . '
';
- }
- }
- }
- echo '
';
+
+function displayRoutes($routes) {
+ global $nearby;
+ echo ' ';
+ $filteredRoutes = Array();
+ foreach ($routes as $route) {
+ foreach (getRouteHeadsigns($route['route_id']) as $headsign) {
+ $start = $headsign['stop_name'];
+ $serviceday = service_period_day($headsign['service_id']);
+ $key = $route['route_short_name'] . "." . $headsign['direction_id'];
+ if (isset($filteredRoutes[$key])) {
+ $filteredRoutes[$key]['route_ids'][] = $route['route_id'];
+ $filteredRoutes[$key]['route_ids'] = array_unique($filteredRoutes[$key]['route_ids']);
+ } else {
+ $filteredRoutes[$key]['route_short_name'] = $route['route_short_name'];
+ $filteredRoutes[$key]['route_long_name'] = "starting at " . $start;
+ $filteredRoutes[$key]['service_id'] = $serviceday;
+ $filteredRoutes[$key]['trip_headsign'] = $headsign['trip_headsign'].(strstr($headsign['trip_headsign'], "bound") ===false ?"bound":"");
+ $filteredRoutes[$key]['direction_id'] = $headsign['direction_id'];
+ if (isset($nearby)) {
+ $filteredRoutes[$key]['distance'] = $route['distance'];
+ }
+ }
+ }
+ }
+ foreach ($filteredRoutes as $key => $route) {
+ echo '-
' . $route['route_short_name'] . "
+
+ " . $route['trip_headsign'].", ". $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")
";
+ if (isset($nearby)) {
+ $time = getRouteAtStop($route['route_id'], $route['stop_id']);
+ echo '' . ($time['arrival_time'] ? $time['arrival_time'] : "No more trips today") . "
" . floor($route['distance']) . 'm away';
+ }
+ echo" \n";
+ }
}
-else if ($_REQUEST['nearby'] || $_REQUEST['suburb']) {
- if ($_REQUEST['suburb']) {
- $suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING);
- $url = $APIurl . "/json/stopzonesearch?q=" . $suburb;
- include_header("Routes by Suburb", "routeList");
- }
- if ($_REQUEST['nearby']) {
- $url = $APIurl . "/json/neareststops?lat={$_SESSION['lat']}&lon={$_SESSION['lon']}&limit=15";
- include_header("Routes Nearby", "routeList");
- }
- $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;
- }
- }
- navbar();
- echo ' ';
- sksort($routes, 1, true);
- foreach ($routes as $row) {
- echo '- ' . $row[1] . ' ' . $row[2] . " (" . ucwords($row[4]) . ")
\n";
- }
-}
-else if ($_REQUEST['bynumber']) {
- include_header("Routes by Number", "routeList");
- navbar();
- echo '