--- a/routeList.php
+++ b/routeList.php
@@ -1,139 +1,152 @@
';
}
-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) {
+
+ //print_r($route);
+ echo '-
' . $route['route_short_name'] . "
+
+ " . $headsign['trip_headsign'].(strstr($headsign['trip_headsign'], "bound") ===false ?"bound":"").", starting at " . $headsign['stop_name'] . " (" . ucwords($headsign['service_id']) . ")
";
+ if (isset($nearby)) {
+ $time = getRouteAtStop($route['route_id'], $headsign['direction_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");
- trackEvent("Route Lists","Routes By Suburb", $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);
- if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") {
- include_footer();
- die();
+}
+
+if (isset($bysuburbs)) {
+ include_header("Routes by Suburb", "routeList");
+ navbar();
+ echo ' ';
+ if (!isset($firstLetter)) {
+ foreach (range('A', 'Z') as $letter) {
+ echo "- $letter...
\n";
+ }
+ } else {
+ foreach ($suburbs as $suburb) {
+ if (startsWith($suburb, $firstLetter)) {
+ echo '- ' . $suburb . '
';
+ }
+ }
+ }
+ echo '
';
+} else if (isset($suburb)) {
+
+ if ($suburb) {
+ include_header($suburb . " - " . ucwords(service_period()), "routeList");
+ navbar();
+ timeSettings();
+ trackEvent("Route Lists", "Routes By Suburb", $suburb);
+ displayRoutes(getRoutesBySuburb($suburb));
+ }
+} else if (isset($nearby)) {
+ $routes = Array();
+ include_header("Routes Nearby", "routeList", true, true);
+ trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'] . "," . $_SESSION['lon']);
+ navbar();
+ placeSettings();
+ if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") {
+ include_footer();
+ die();
+ }
+ $routes = getRoutesNearby($_SESSION['lat'], $_SESSION['lon']);
+
+
+ if (sizeof($routes) > 0) {
+ displayRoutes($routes);
+ } else {
+ echo ' ';
+ echo "- No routes nearby.
";
+ }
+} else if (isset($bynumber) || isset($numberSeries)) {
+ include_header("Routes by Number", "routeList");
+ navbar();
+ echo ' ';
+ if (isset($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;
}
- }
- $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 '