--- 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) . '

'; -echo '

Other Trips:

'; -foreach ($routetrips as $othertrip) { - echo '' . midnight_seconds_to_time($othertrip[0]) . ' '; +foreach ($filteredRoutes as $key => $row) { + echo '' . $row['route_long_name'] . ' (' . ucwords($row['service_id']) . ') '; + $otherDir++; } -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]) . ') '; + +if ($otherDir == 0) { + echo "None"; } +echo '
'; +flush(); +@ob_flush(); +echo "
"; +if ($nextTrip) + echo 'Next Trip'; +if ($prevTrip) + echo 'Previous Trip'; +echo "
"; echo ' '; +echo '
'; include_footer(); ?>