--- a/include/db/stop-dao.inc.php +++ b/include/db/stop-dao.inc.php @@ -1,9 +1,4 @@ requested_time and tripstarttime < (requested_time + time_range): - time, stoptime, tp = trip.GetTimeInterpolatedStops()[index] - if time > requested_time and time < (requested_time + time_range): - bisect.insort(filtered_time_trips, (time, (trip, index), tp)) - result = [] - for time, (trip, index), tp in filtered_time_trips: - if len(result) > limit: - break - route = schedule.GetRoute(trip.route_id) - trip_name = '' - if route.route_short_name: - trip_name += route.route_short_name - if route.route_long_name: - if len(trip_name): - trip_name += " - " - trip_name += route.route_long_name - if service_period == None or trip.service_id == service_period: - result.append((time, (trip.trip_id, trip_name, trip.service_id), tp)) - return result - */ + if ($service_period == "") $service_period = service_period(); + if ($time_range == "") $time_range = (24*60*60); + if ($time == "") $time = ($_SESSION['time'] ? $_SESSION['time'] : date("h:i:00")); + $trips = getStopTrips($stopID,$service_period); + $timedTrips = Array(); + foreach ($trips as $trip) { + if ($trip['arrival_time'] != "") { + if (strtotime($trip['arrival_time']) > strtotime($time) and strtotime($trip['arrival_time']) < (strtotime($time) + $time_range)){ + $timedTrips[] = $trip; + } + } else { + $tripstarttime = getTripStartTime($trip['trip_id']); + if ($tripstarttime > $time and $tripstarttime < ($time + $time_range)) { + $timedtrip = getTimeInterpolatedTripStop($trip['trip_id'], $trip['stop_sequence']); + if (strtotime($timedtrip['arrival_time']) > strtotime($time) and $timedtrip['arrival_time'] < (strtotime($time) + strtotime($time_range))){ + $timedTrips[] = $timedTrip; + } + } + } + if (sizeof($timedTrips) > limit) break; + } + sktimesort($timedTrips,"arrival_time", true); + return $timedTrips; } ?>