--- a/routeList.php +++ b/routeList.php @@ -1,7 +1,8 @@ <?php include ('common.inc.php'); -include_header("Routes", "routeList"); -echo ' +function navbar() +{ + echo ' <div data-role="navbar"> <ul> <li><a href="routeList.php">By Final Destination...</a></li> @@ -11,17 +12,55 @@ </ul> </div> '; -echo ' <ul data-role="listview" data-inset="true">'; -$url = $APIurl . "/json/routes"; -$contents = json_decode(getPage($url)); -debug(print_r($contents, true)); -function printRoutes($routes) -{ +} +if ($_REQUEST['bysuburb']) { + include_header("Routes by Suburb", "routeList"); + navbar(); + echo ' <ul data-role="listview" data-filter="true" data-inset="true" >'; + foreach ($suburbs as $suburb) { + if (!isset($_REQUEST['firstLetter'])) { + foreach (range('A', 'Z') as $letter) { + echo "<li><a href=\"routeList.php?firstLetter=$letter&bysuburb=yes\">$letter...</a></li>\n"; + } + } + else if (startsWith($suburb, $_REQUEST['firstLetter'])) { + echo '<li><a href="routeList.php?suburb=' . urlencode($suburb) . '">' . $suburb . '</a></li>'; + } + } + echo '</ul>'; +} +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 ' <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[3]) . ")</a></li>\n"; + echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[4]) . ")</a></li>\n"; } } -if ($_REQUEST['bynumber']) { +else if ($_REQUEST['bynumber']) { + 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) { @@ -55,11 +94,19 @@ echo '<a name="' . $series . '"></a>'; if ($series <= 9) echo '<li>' . $series . "<ul>\n"; else echo "<li>{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}<ul>\n"; - printRoutes($routes); + foreach ($routes as $row) { + echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[3]) . ")</a></li>\n"; + } echo "</ul></li>\n"; } } else { + 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 $key => $row) { $routeDestinations[$row[2]][] = $row; } @@ -74,7 +121,9 @@ foreach ($routeDestinations as $destination => $routes) { echo '<a name="' . $destination . '"></a>'; echo '<li>' . $destination . "... <ul>\n"; - printRoutes($routes); + foreach ($routes as $row) { + echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[3]) . ")</a></li>\n"; + } echo "</ul></li>\n"; } }