--- a/trip.php
+++ b/trip.php
@@ -1,101 +1,95 @@
midnight_seconds()) {
- $tripid = $trip[1];
- break;
- }
- }
- if ($tripid == 0) $tripid = $routetrips[0][1];
+
+if (isset($routeid) && !isset($tripid)) {
+ $trip = getRouteNextTrip($routeid);
+ $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));
-}
-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];
- }
-}
-echo '
Via:
' . implode(", ", $viaPoints) . '';
-echo 'Other Trips:
';
-foreach ($routetrips as $othertrip) {
- echo '' . midnight_seconds_to_time($othertrip[0]) . ' ';
+
+$routetrips = getRouteTrips($routeid);
+
+include_header("Stops on " . $trip['route_short_name'] . ' ' . $trip['route_long_name'], "trip");
+trackEvent("Route/Trip View","View Route", $trip['route_short_name'] . ' ' . $trip['route_long_name'], $routeid);
+
+echo '';
+echo 'Via:
' . viaPointNames($tripid) . '';
+echo 'Other Trips:
';
+foreach (getRouteTrips($routeid) as $othertrip) {
+ echo '' . str_replace(" ",":00",str_replace(":00"," ",$othertrip['arrival_time'])). ' ';
}
flush(); @ob_flush();
-echo 'Other directions/timing periods:
';
-$url = $APIurl . "/json/routesearch?routeshortname=" . rawurlencode($trips[1]->route_short_name);
-$json = json_decode(getPage($url));
-foreach ($json as $row) {
- if ($row[0] != $routeid) echo '' . $row[2] . ' (' . ucwords($row[3]) . ') ';
+echo 'Other directions/timing periods:
';
+foreach (getRoutesByNumber($trip['route_short_name']) as $row) {
+ if ($row['route_id'] != $routeid) echo '' . $row['route_long_name'] . ' (' . ucwords($row['service_id']) . ') ';
}
+echo '';
flush(); @ob_flush();
echo ' ';
-echo '- ' . midnight_seconds_to_time($times[0]) . '-' . midnight_seconds_to_time($times[sizeof($times) - 1]) . ' ' . $trips[1]->route_long_name . '
';
$stopsGrouped = Array();
-foreach ($stops as $key => $row) {
- if (($stops[$key][1] != $stops[$key + 1][1]) || $key + 1 >= sizeof($stops)) {
+$tripStopTimes = getTimeInterpolatedTrip($tripid);
+echo '- ' . $tripStopTimes[0]['arrival_time'] . ' to ' . $tripStopTimes[sizeof($tripStopTimes) - 1]['arrival_time'] . ' ' . $trip['route_long_name'] . ' (' . ucwords($tripStopTimes[0]['service_id']).')
';
+
+foreach ($tripStopTimes as $key => $tripStopTime) {
+ if (($tripStopTimes[$key]["stop_name"] != $tripStopTimes[$key + 1]["stop_name"]) || $key + 1 >= sizeof($tripStopTimes)) {
echo '- ';
- if (!startsWith($row[5], "Wj")) echo '
';
+ if (!startsWith($tripStopTime['stop_code'], "Wj")) echo '
';
if (sizeof($stopsGrouped) > 0) {
// print and empty grouped stops
// subsequent duplicates
- $stopsGrouped["stop_ids"][] = $row[0];
- $stopsGrouped["endTime"] = $times[$key];
+ $stopsGrouped["stop_ids"][] = $tripStopTime['stop_id'];
+ $stopsGrouped["endTime"] = $tripStopTime['arrival_time'];
echo '';
- echo '' . midnight_seconds_to_time($stopsGrouped['startTime']) . ' to ' . midnight_seconds_to_time($stopsGrouped['endTime']) . '
';
- echo bracketsMeanNewLine($row[1]);
+ 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 bracketsMeanNewLine($tripStopTime["stop_name"]);
echo ' ';
flush(); @ob_flush();
$stopsGrouped = Array();
}
else {
// just a normal stop
- echo '';
- echo '' . midnight_seconds_to_time($times[$key]) . '
';
- echo bracketsMeanNewLine($row[1]);
+ 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 bracketsMeanNewLine($tripStopTime['stop_name']);
echo '';
flush(); @ob_flush();
}
}
else {
// this is a duplicated line item
- if ($key - 1 <= 0 || ($stops[$key][1] != $stops[$key - 1][1])) {
+ if ($key - 1 <= 0 || ($tripStopTimes[$key]['stop_name'] != $tripStopTimes[$key - 1]['stop_name'])) {
// first duplicate
$stopsGrouped = Array(
- "name" => $row[1],
- "startTime" => $times[$key],
+ "name" => $tripStopTime['stop_name'],
+ "startTime" => $tripStopTime['arrival_time'],
"stop_ids" => Array(
- $row[0]
+ $tripStopTime['stop_id']
)
);
}
else {
// subsequent duplicates
- $stopsGrouped["stop_ids"][] = $row[0];
- $stopsGrouped["endTime"] = $times[$key];
+ $stopsGrouped["stop_ids"][] = $tripStopTime['stop_id'];
+ $stopsGrouped["endTime"] = $tripStopTime['arrival_time'];
}
}
}
echo '
';
+
+echo '';
include_footer();
?>