Try to adapt to new route destination detection
[busui.git] / routeList.php
blob:a/routeList.php -> blob:b/routeList.php
--- a/routeList.php
+++ b/routeList.php
@@ -18,6 +18,7 @@
 include ('include/common.inc.php');
 
 function navbar() {
+
     echo '
 		<div data-role="navbar"> 
 			<ul> 
@@ -28,6 +29,39 @@
 			</ul>
                 </div>
 	';
+}
+
+function displayRoutes($routes) {
+    echo '  <ul data-role="listview" data-filter="true" data-inset="true" >';
+    foreach ($routes as $route) {
+        foreach (getRouteHeadsigns($route['route_id']) as $headsign) {
+
+            //print_r($route);
+            echo '<li> <a href="trip.php?routeid=' . $route['route_id'] . '&directionid=' . $headsign['direction_id'] . '"><h3>' . $route['route_id'] . "</h3>
+                   
+                <p>" . $headsign['trip_headsign'] . (strstr($headsign['trip_headsign'], "bound") === false ? "bound" : "") . ", starting at " . $headsign['stop_name'] . " (" . ucwords($headsign['service_id']) . ")</p>";
+
+            echo"       </a></li>\n";
+        }
+    }
+}
+
+function displayNearbyRoutes($routes) {
+    echo '  <ul data-role="listview" data-filter="true" data-inset="true" >';
+    foreach ($routes as $route) {
+        $time = getRouteAtStop($route['route_id'], $route['direction_id'], $route['stop_id']);
+        $start = getTripStartingPoint($time['trip_id']);
+        $end = getTripDestination($time['trip_id']);
+        //print_r($route);
+        echo '<li> <a href="trip.php?routeid=' . $route['route_id'] . '&directionid=' . $route['direction_id'] . '"><h3>' . $route['route_short_name'] . "</h3>
+                   
+                <p>" . $time['trip_headsign'] . (strstr($time['trip_headsign'], "bound") === false ? "bound" : "") . " from " . $start['stop_name'] . " to " . $end['stop_name'] . " (" . ucwords($time['service_id']) . ")</p>";
+        $stop = getStop($route['stop_id']);
+        echo "<p>Board at " . $stop['stop_name'] . "</p>";
+        echo '<span class="ui-li-count">' . ($time['arrival_time'] ? $time['arrival_time'] : "No more trips today") . "<br>" . floor($route['distance']) . 'm away</span>';
+
+        echo"       </a></li>\n";
+    }
 }
 
 if (isset($bysuburbs)) {
@@ -46,37 +80,33 @@
         }
     }
     echo '</ul>';
-} else if (isset($nearby) || isset($suburb)) {
-    $routes = Array();
+} else if (isset($suburb)) {
+
     if ($suburb) {
         include_header($suburb . " - " . ucwords(service_period()), "routeList");
         navbar();
-        timePlaceSettings();
+        timeSettings();
         trackEvent("Route Lists", "Routes By Suburb", $suburb);
-        $routes = getRoutesBySuburb($suburb);
+        displayRoutes(getRoutesBySuburb($suburb));
     }
-    if (isset($nearby)) {
-        include_header("Routes Nearby", "routeList", true, true);
+} else if (isset($nearby)) {
+    $routes = Array();
+    include_header("Routes Nearby", "routeList", true, true);
+    if (isset($_SESSION['lat']))
         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']);
+    navbar();
+    placeSettings();
+    if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") {
+        include_footer();
+        die();
     }
-    echo '  <ul data-role="listview" data-filter="true" data-inset="true" >';
-    if ($routes) {
-        foreach ($routes as $route) {
-            echo '<li><a href="trip.php?routeid=' . $route['route_id'] . '"><h3>' . $route['route_short_name'] . "</h3><p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>";
-            if (isset($nearby)) {
-                $time = getRouteAtStop($route['route_id'], $route['stop_id']);
-                echo '<span class="ui-li-count">' . ($time['arrival_time'] ? $time['arrival_time'] : "No more trips today") . "<br>" . floor($route['distance']) . 'm away</span>';
-            }
-            echo "</a></li>\n";
-        }
+    $routes = getRoutesNearby($_SESSION['lat'], $_SESSION['lon']);
+
+
+    if (sizeof($routes) > 0) {
+        displayNearbyRoutes($routes);
     } else {
+        echo '  <ul data-role="listview" data-filter="true" data-inset="true" >';
         echo "<li style='text-align: center;'> No routes nearby.</li>";
     }
 } else if (isset($bynumber) || isset($numberSeries)) {
@@ -84,7 +114,7 @@
     navbar();
     echo ' <ul data-role="listview"  data-inset="true">';
     if (isset($bynumber)) {
-        $routes = getRoutesByNumber();
+        $routes = getRoutes();
         $routeSeries = Array();
         $seriesRange = Array();
         foreach ($routes as $key => $routeNumber) {
@@ -103,7 +133,7 @@
                     $seriesRange[$seriesNum]['max'] = $routeNumber;
                     $seriesRange[$seriesNum]['min'] = $routeNumber;
                 }
-                $routeSeries[$seriesNum][$seriesNum . "-" . $row[1] . "-" . $row[0]] = $row;
+                $routeSeries[$seriesNum][] = null;
             }
         }
         ksort($routeSeries);
@@ -118,42 +148,18 @@
         }
     }
     else if ($numberSeries) {
-        $routes = getRoutesByNumberSeries($numberSeries);
-        $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]['direction_id'] = $headsign['direction_id'];
-            }
-            }
-        }
-        foreach ($filteredRoutes as $key => $route) {
-               echo '<li> <a href="trip.php?routeids=' . implode(",",$route['route_ids']) . '&directionid='.$route['direction_id'].'"><h3>' . $route['route_short_name'] . "</h3>
-                   
-                <p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>
-                    </a></li>\n";
-        }
+        displayRoutes(getRoutesByNumberSeries($numberSeries));
     }
 } else {
     include_header("Routes by Destination", "routeList");
     navbar();
     echo ' <ul data-role="listview"  data-inset="true">';
     if (isset($routeDestination)) {
-        foreach (getRoutesByDestination($routeDestination) as $route) {
-            echo '<li><a href="trip.php?routeid=' . $route["route_id"] . '"><h3>' . $route["route_short_name"] . '</h3><p>' . $route["route_long_name"] . " (" . ucwords($route['service_id']) . ")</p></a></li>\n";
-        }
+        displayRoutes(getRoutesByDestination($routeDestination));
     } else {
         foreach (getRoutesByDestination() as $destination) {
-            echo '<li><a href="' . curPageURL() . '/routeList.php?routeDestination=' . urlencode($destination['route_long_name']) . '">' . $destination['route_long_name'] . "... </a></li>\n";
+            echo '<li><a href="' . curPageURL() . '/routeList.php?routeDestination='
+            . urlencode($destination['stop_name']) . '">' . $destination['stop_name'] . "... </a></li>\n";
         }
     }
 }