Merge branch 'master' of ssh://apples.lambdacomplex.org/git/bus
[bus.git] / busui / routeList.php
blob:a/busui/routeList.php -> blob:b/busui/routeList.php
<?php <?php
include('common.inc.php'); include('common.inc.php');
include_header("Routes"); include_header("Routes");
echo' echo'
<div data-role="navbar"> <div data-role="navbar">
<ul> <ul>
<li><a href="routeList.php">By Final Destination...</a></li> <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?bynumber=yes">By Number... </a></li>
<!--<li><a href="routeList.php?bysuburb=yes">By Suburb... </a></li>--> <li><a href="routeList.php?bysuburb=yes">By Suburb... </a></li>
  <li><a href="routeList.php?nearby=yes">Nearby... </a></li>
</ul> </ul>
</div> </div>
'; ';
echo ' <ul data-role="listview" data-inset="true">'; echo ' <ul data-role="listview" data-inset="true">';
$url = $APIurl."/json/routes"; $url = $APIurl."/json/routes";
$contents = json_decode(getPage($url)); $contents = json_decode(getPage($url));
debug(print_r($contents,true)); debug(print_r($contents,true));
   
function printRoutes($routes){ function printRoutes($routes){
foreach($routes as $row) { 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[3]).")</a></li>\n";
} }
} }
   
if ($_REQUEST['bynumber']) { if ($_REQUEST['bynumber']) {
$routeSeries = Array(); $routeSeries = Array();
$seriesRange = Array(); $seriesRange = Array();
foreach ($contents as $key => $row) { foreach ($contents as $key => $row) {
foreach (explode(" ",$row[1]) as $routeNumber ) { foreach (explode(" ",$row[1]) as $routeNumber ) {
$seriesNum = substr($routeNumber, 0, -1)."0"; $seriesNum = substr($routeNumber, 0, -1)."0";
if ($seriesNum == "0") $seriesNum = $routeNumber; if ($seriesNum == "0") $seriesNum = $routeNumber;
$finalDigit = substr($routeNumber, sizeof($routeNumber)-1, 1); $finalDigit = substr($routeNumber, sizeof($routeNumber)-1, 1);
if (isset($seriesRange[$seriesNum])) { if (isset($seriesRange[$seriesNum])) {
if ($finalDigit < $seriesRange[$seriesNum]['max']) if ($finalDigit < $seriesRange[$seriesNum]['max'])
$seriesRange[$seriesNum]['max'] = $routeNumber; $seriesRange[$seriesNum]['max'] = $routeNumber;
if ($finalDigit > $seriesRange[$seriesNum]['min']) if ($finalDigit > $seriesRange[$seriesNum]['min'])
$seriesRange[$seriesNum]['min'] = $routeNumber; $seriesRange[$seriesNum]['min'] = $routeNumber;
} else { } else {
$seriesRange[$seriesNum]['max'] = $routeNumber; $seriesRange[$seriesNum]['max'] = $routeNumber;
$seriesRange[$seriesNum]['min'] = $routeNumber; $seriesRange[$seriesNum]['min'] = $routeNumber;
} }
$routeSeries[$seriesNum][$seriesNum."-".$row[1]."-".$row[0]] = $row; $routeSeries[$seriesNum][$seriesNum."-".$row[1]."-".$row[0]] = $row;
} }
} }
ksort($routeSeries); ksort($routeSeries);
ksort($seriesRange); ksort($seriesRange);
echo '<div class="noscriptnav"> Go to route numbers: '; echo '<div class="noscriptnav"> Go to route numbers: ';
foreach ($seriesRange as $series => $range) foreach ($seriesRange as $series => $range)
{ {
if ($range['min'] == $range['max']) echo "<a href=\"#$series\">$series</a>&nbsp;"; if ($range['min'] == $range['max']) echo "<a href=\"#$series\">$series</a>&nbsp;";
else echo "<a href=\"#$series\">{$range['min']}-{$range['max']}</a>&nbsp;"; else echo "<a href=\"#$series\">{$range['min']}-{$range['max']}</a>&nbsp;";
} }
echo "</div> echo "</div>
<script> <script>
$('.noscriptnav').hide(); $('.noscriptnav').hide();
</script>"; </script>";
foreach ($routeSeries as $series => $routes) foreach ($routeSeries as $series => $routes)
{ {
echo '<a name="'.$series.'"></a>'; echo '<a name="'.$series.'"></a>';
if ($series <= 9) echo '<li>'.$series."<ul>\n"; if ($series <= 9) echo '<li>'.$series."<ul>\n";
else echo "<li>{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}<ul>\n"; else echo "<li>{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}<ul>\n";
printRoutes($routes); printRoutes($routes);
echo "</ul></li>\n"; echo "</ul></li>\n";
} }
} else { } else {
foreach ($contents as $key => $row) { foreach ($contents as $key => $row) {
$routeDestinations[$row[2]][] = $row; $routeDestinations[$row[2]][] = $row;
} }
echo '<div class="noscriptnav"> Go to Destination: '; echo '<div class="noscriptnav"> Go to Destination: ';
foreach(ksort($routeDestinations) as $destination => $routes) foreach(ksort($routeDestinations) as $destination => $routes)
{ {
echo "<a href=\"#$destination\">$destination</a>&nbsp;"; echo "<a href=\"#$destination\">$destination</a>&nbsp;";
} }
echo "</div> echo "</div>
<script> <script>
$('.noscriptnav').hide(); $('.noscriptnav').hide();
</script>"; </script>";
foreach ($routeDestinations as $destination => $routes) foreach ($routeDestinations as $destination => $routes)
{ {
echo '<a name="'.$destination.'"></a>'; echo '<a name="'.$destination.'"></a>';
echo '<li>'.$destination."... <ul>\n"; echo '<li>'.$destination."... <ul>\n";
printRoutes($routes); printRoutes($routes);
echo "</ul></li>\n"; echo "</ul></li>\n";
} }
} }
echo "</ul>\n"; echo "</ul>\n";
   
   
include_footer(); include_footer();
?> ?>