1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | <?php include('common.inc.php'); include_header("Routes","routeList"); echo' <div data-role="navbar"> <ul> <li><a href="routeList.php">By Final Destination...</a></li> <li><a href="routeList.php?bynumber=yes">By Number... </a></li> <li><a href="routeList.php?bysuburb=yes">By Suburb... </a></li> <li><a href="routeList.php?nearby=yes">Nearby... </a></li> </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){ foreach($routes as $row) { echo '<li>'.$row[1].' <a href="trip.php?routeid='.$row[0].'">'.$row[2]." (".ucwords($row[3]).")</a></li>\n"; } } if ($_REQUEST['bynumber']) { $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; } else { $seriesRange[$seriesNum]['max'] = $routeNumber; $seriesRange[$seriesNum]['min'] = $routeNumber; } $routeSeries[$seriesNum][$seriesNum."-".$row[1]."-".$row[0]] = $row; } } ksort($routeSeries); ksort($seriesRange); echo '<div class="noscriptnav"> Go to route numbers: '; foreach ($seriesRange as $series => $range) { if ($range['min'] == $range['max']) echo "<a href=\"#$series\">$series</a> "; else echo "<a href=\"#$series\">{$range['min']}-{$range['max']}</a> "; } echo "</div> <script> $('.noscriptnav').hide(); </script>"; foreach ($routeSeries as $series => $routes) { 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); echo "</ul></li>\n"; } } else { foreach ($contents as $key => $row) { $routeDestinations[$row[2]][] = $row; } echo '<div class="noscriptnav"> Go to Destination: '; foreach(ksort($routeDestinations) as $destination => $routes) { echo "<a href=\"#$destination\">$destination</a> "; } echo "</div> <script> $('.noscriptnav').hide(); </script>"; foreach ($routeDestinations as $destination => $routes) { echo '<a name="'.$destination.'"></a>'; echo '<li>'.$destination."... <ul>\n"; printRoutes($routes); echo "</ul></li>\n"; } } echo "</ul>\n"; include_footer(); ?> |