--- a/trip.php
+++ b/trip.php
@@ -1,97 +1,162 @@
midnight_seconds()) {
- $tripid = $trip[1];
- break;
- }
- }
- if ($tripid == 0) $tripid = $routetrips[0][1];
+if (isset($routeids) && !isset($tripid)) {
+ foreach ($routeids as $routeid) {
+ $possibleTrip = getRouteNextTrip($routeid);
+ if (!isset($trip) || strtotime($possibleTrip['departure_time']) < strtotime($trip['departure_time'])) {
+ $trip = getRouteNextTrip($routeid);
+ }
+ }
+ $tripid = $trip['trip_id'];
+} else {
+ $trip = getTrip($tripid);
+ $similarRoutes = getRoutesByNumber($trip['route_short_name'], $trip['direction_id'], strtolower($trip["service_id"]));
+ $routeids = Array();
+ foreach ($similarRoutes as $similarRoute) {
+ $routeids[] = $similarRoute['route_id'];
+ }
+ $routeids = array_unique($routeids);
}
-$url = $APIurl . "/json/triprows?trip=" . $tripid;
-$trips = array_flatten(json_decode(getPage($url)));
-if (sizeof($routetrips) == 0) {
- $routeid = $trips[1]->route_id;
- $url = $APIurl . "/json/routetrips?route_id=" . $trips[1]->route_id;
- $routetrips = json_decode(getPage($url));
+$directionid = $trip['direction_id'];
+$service_period = strtolower($trip["service_id"]);
+$destination = getTripDestination($trip['trip_id']);
+include_header("Stops on " . $trip['route_short_name'] . ' ' . $destination['stop_name'], "trip");
+trackEvent("Route/Trip View", "View Route", $trip['route_short_name'] . ' ' . $destination['stop_name'], $routeid);
+echo '';
+echo 'View Original Timetable/Map';
+echo 'Via:
' . viaPointNames($tripid) . '';
+echo 'Other Trips:
';
+echo "getRoutesTrips(".print_r($routeids,true).", {$trip['direction_id']}, $service_period) $tripid";
+$routeTrips = getRoutesTrips($routeids, $trip['direction_id'], $service_period);
+foreach ($routeTrips as $key => $othertrip) {
+ // if ($othertrip['trip_id'] != $tripid) {
+ echo '' . str_replace(" ", ":00", str_replace(":00", " ", $othertrip['arrival_time'])) . ' ';
+ // } else {
+ // skip this trip but look forward/back
+ if ($key - 1 > 0)
+ $prevTrip = $routeTrips[$key - 1]['trip_id'];
+ if ($key + 1 < sizeof($routeTrips))
+ $nextTrip = $routeTrips[$key + 1]['trip_id'];
+ // }
}
-include_header("Stops on " . $trips[1]->route_short_name . ' ' . $trips[1]->route_long_name, "trip");
-trackEvent("Route/Trip View","View Route", $trips[1]->route_short_name . ' ' . $trips[1]->route_long_name, $trips[1]->route_id);
-$url = $APIurl . "/json/tripstoptimes?trip=" . $tripid;
-$json = json_decode(getPage($url));
-$stops = $json[0];
-$times = $json[1];
-$viaPoints = Array();
-foreach ($stops as $stop) {
- if (!startsWith($stop[5], "Wj")) {
- $viaPoints[] = $stop[1];
- }
+flush();
+@ob_flush();
+echo 'Other directions/timing periods:
';
+$otherDir = 0;
+$filteredRoutes = Array();
+foreach (getRoutesByNumber($trip['route_short_name']) as $row) {
+
+ foreach (getRouteHeadsigns($row['route_id']) as $headsign) {
+ if ( $headsign['direction_id'] != $directionid || strtolower($headsign['service_id']) != $service_period) {
+ echo "{$headsign['direction_id']} != $directionid || ".strtolower($headsign['service_id'])." != $service_period
";
+ $start = $headsign['stop_name'];
+
+ $serviceday = strtolower($headsign['service_id']);
+ $key = $row['route_short_name'] . "." . $headsign['direction_id'];
+ if (isset($filteredRoutes[$key])) {
+ $filteredRoutes[$key]['route_ids'][] = $row['route_id'];
+ $filteredRoutes[$key]['route_ids'] = array_unique($filteredRoutes[$key]['route_ids']);
+ } else {
+ $filteredRoutes[$key]['route_short_name'] = $row['route_short_name'];
+ $filteredRoutes[$key]['route_long_name'] = "Starting at " . $start;
+ $filteredRoutes[$key]['service_id'] = $serviceday;
+ $filteredRoutes[$key]['direction_id'] = $headsign['direction_id'];
+ }
+ }
+ }
}
-echo 'Via:
' . implode(", ", $viaPoints) . '
' . midnight_seconds_to_time($stopsGrouped['startTime']) . ' to ' . midnight_seconds_to_time($stopsGrouped['endTime']) . '
'; - echo bracketsMeanNewLine($row[1]); - echo '' . midnight_seconds_to_time($times[$key]) . '
'; - echo bracketsMeanNewLine($row[1]); - echo ''; - } - } - else { - // this is a duplicated line item - if ($key - 1 <= 0 || ($stops[$key][1] != $stops[$key - 1][1])) { - // first duplicate - $stopsGrouped = Array( - "name" => $row[1], - "startTime" => $times[$key], - "stop_ids" => Array( - $row[0] - ) - ); - } - else { - // subsequent duplicates - $stopsGrouped["stop_ids"][] = $row[0]; - $stopsGrouped["endTime"] = $times[$key]; - } - } +$tripStopTimes = getTripStopTimes($tripid); +echo '' . $stopsGrouped['startTime'] . ' to ' . $stopsGrouped['endTime'];
+ if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) {
+ echo '
' . distance($tripStopTime['stop_lat'], $tripStopTime['stop_lon'], $_SESSION['lat'], $_SESSION['lon'], true) . 'm away';
+ }
+ echo '
' . $tripStopTime['arrival_time'];
+ if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) {
+ echo '
' . distance($tripStopTime['stop_lat'], $tripStopTime['stop_lon'], $_SESSION['lat'], $_SESSION['lon'], true) . 'm away';
+ }
+ echo '