--- a/trip.php
+++ b/trip.php
@@ -17,58 +17,92 @@
*/
include ('include/common.inc.php');
$routetrips = Array();
-if (isset($routeid) && !isset($tripid)) {
- $trip = getRouteNextTrip($routeid);
+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);
- $routeid = $trip["route_id"];
+ $similarRoutes = getRoutesByNumber($trip['route_short_name'], $trip['direction_id'], service_period_day($trip["service_id"]));
+ $routeids = Array();
+ foreach ($similarRoutes as $similarRoute) {
+ $routeids[] = $similarRoute['route_id'];
+ }
+ $routeids = array_unique($routeids);
}
-
- $destination = getTripDestination($trip['trip_id']);
+$directionid = $trip['direction_id'];
+$service_period = service_period_day($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:
';
-$routeTrips = getRouteTrips($routeid);
+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 {
+ // 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'];
- }
+ // }
}
flush();
@ob_flush();
echo 'Other directions/timing periods:
';
$otherDir = 0;
+$filteredRoutes = Array();
foreach (getRoutesByNumber($trip['route_short_name']) as $row) {
- if ($row['route_id'] != $routeid) {
- echo '' . $row['route_long_name'] . ' (' . ucwords($row['service_id']) . ') ';
- $otherDir++;
+
+ foreach (getRouteHeadsigns($row['route_id']) as $headsign) {
+ if ( $headsign['direction_id'] != $directionid || service_period_day($headsign['service_id']) != $service_period) {
+ echo "{$headsign['direction_id']} != $directionid || ".service_period_day($headsign['service_id'])." != $service_period
";
+ $start = $headsign['stop_name'];
+
+ $serviceday = service_period_day($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'];
+ }
+ }
}
}
-if ($otherDir == 0)
+foreach ($filteredRoutes as $key => $row) {
+ echo '' . $row['route_long_name'] . ' (' . ucwords($row['service_id']) . ') ';
+ $otherDir++;
+}
+
+if ($otherDir == 0) {
echo "None";
+}
echo '';
flush();
@ob_flush();
echo "';
$stopsGrouped = Array();
$tripStopTimes = getTripStopTimes($tripid);
-echo '
' . distance($tripStopTime['stop_lat'], $tripStopTime['stop_lon'], $_SESSION['lat'], $_SESSION['lon'], true) . 'm away';
}
echo '