--- a/trip.php
+++ b/trip.php
@@ -1,84 +1,140 @@
0)) $tripid = $routetrip[0][1];
+if (isset($routeid) && !isset($tripid)) {
+ $trip = getRouteNextTrip($routeid,$directionid);
+
+ if (!($trip)) {
+ $trip = getRouteFirstTrip($routeid,$directionid);
+ }
+ $tripid = $trip['trip_id'];
+} else {
+ $trip = getTrip($tripid);
+ $routeid = $trip['route_id'];
}
-$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("Route " . $trip['route_id'] . ' to ' . $destination['stop_name'], "trip");
+trackEvent("Route/Trip View", "View Route", $trip['route_id'] . ' ' . $destination['stop_name'], $routeid);
+echo '
';
+echo '
View Original Timetable/Map ';
+echo '
View Trip in Google Earth ';
+echo '
View Route in Google Earth';
+echo '
Via:
' . viaPointNames($tripid) . '';
+echo '
Other Trips:
';
+$routeTrips = getRouteTrips($routeid, $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");
-timePlaceSettings();
-echo '
Other Trips: ';
-foreach ($routetrips as $othertrip) {
- echo '' . midnight_seconds_to_time($othertrip[0]) . ' ';
+flush();
+@ob_flush();
+echo '
Other directions/timing periods:
';
+$otherDir = 0;
+
+ foreach (getRouteHeadsigns($routeid) as $headsign) {
+ if ($headsign['direction_id'] != $directionid || strtolower($headsign['service_id']) != $service_period) {
+
+ echo '
Starting at ' . $headsign['stop_name'] . ' (' . $headsign['service_id'] . ') ';
+ $otherDir++;
+ }
+ }
+
+if ($otherDir == 0) {
+ echo "None";
}
-echo ' Other directions/timing periods: ';
+echo '
';
+flush();
+@ob_flush();
+echo "";
echo '
';
-$url = $APIurl . "/json/tripstoptimes?trip=" . $tripid;
-$json = json_decode(getPage($url));
-$stops = $json[0];
-$times = $json[1];
-echo '- ' . midnight_seconds_to_time($times[0]) . '-' . midnight_seconds_to_time($times[sizeof($times) - 1]) . '
';
$stopsGrouped = Array();
-foreach ($stops as $key => $row) {
- if (($stops[$key][1] != $stops[$key + 1][1]) || $key + 1 >= sizeof($stops)) {
- echo '- ';
- if (!startsWith($row[5], "Wj")) echo '';
- if (sizeof($stopsGrouped) > 0) {
- // print and empty grouped stops
- // subsequent duplicates
- $stopsGrouped["stop_ids"][] = $row[0];
- $stopsGrouped["endTime"] = $times[$key];
- echo '';
- echo '
' . midnight_seconds_to_time($stopsGrouped['startTime']) . ' to ' . midnight_seconds_to_time($stopsGrouped['endTime']) . '
';
- echo bracketsMeanNewLine($row[1]);
- echo ' ';
- $stopsGrouped = Array();
- }
- else {
- // just a normal stop
- echo '';
- 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 '- ' . $tripStopTimes[0]['arrival_time'] . ' to ' . $tripStopTimes[sizeof($tripStopTimes) - 1]['arrival_time'] . ' towards ' . $destination['stop_name'] . ' (' . ucwords(strtolower($tripStopTimes[0]['service_id'])) . ')
';
+foreach ($tripStopTimes as $key => $tripStopTime) {
+ if ($key + 1 >= sizeof($tripStopTimes) || stopCompare($tripStopTimes[$key]["stop_name"]) != stopCompare($tripStopTimes[$key + 1]["stop_name"])) {
+ echo '- ';
+
+ if (sizeof($stopsGrouped) > 0) {
+ // print and empty grouped stops
+ // subsequent duplicates
+ $stopsGrouped["stop_ids"][] = $tripStopTime['stop_id'];
+ $stopsGrouped["endTime"] = $tripStopTime['arrival_time'];
+ echo '';
+ 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 '
';
+ echo stopGroupTitle($tripStopTime['stop_name'], $tripStopTime['stop_desc']) . '
' . sizeof($stopsGrouped["stop_ids"]) . ' stops';
+
+ echo ' ';
+ flush();
+ @ob_flush();
+ $stopsGrouped = Array();
+ } else {
+ // just a normal stop
+ echo '';
+ 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 '
';
+ echo $tripStopTime['stop_name'];
+ echo '';
+ flush();
+ @ob_flush();
+ }
+ } else {
+ // this is a duplicated line item
+ if ($key - 1 <= 0 || stopCompare($tripStopTimes[$key]['stop_name']) != stopCompare($tripStopTimes[$key - 1]['stop_name'])) {
+ // first duplicate
+ $stopsGrouped = Array(
+ "startTime" => $tripStopTime['arrival_time'],
+ "stop_ids" => Array(
+ $tripStopTime['stop_id']
+ )
+ );
+ } else {
+ // subsequent duplicates
+ $stopsGrouped["stop_ids"][] = $tripStopTime['stop_id'];
+ $stopsGrouped["endTime"] = $tripStopTime['arrival_time'];
+ }
+ }
}
echo '
';
+echo '
';
include_footer();
?>