Refactor stop page
[busui.git] / include / db / stop-dao.inc.php
blob:a/include/db/stop-dao.inc.php -> blob:b/include/db/stop-dao.inc.php
--- a/include/db/stop-dao.inc.php
+++ b/include/db/stop-dao.inc.php
@@ -1,9 +1,4 @@
 <?php
-/* def StopZoneToTuple(stop):
-  """Return tuple as expected by javascript function addStopMarkerFromList"""
-  return (stop.stop_id, stop.stop_name, float(stop.stop_lat),
-          float(stop.stop_lon), stop.location_type, stop.stop_code, stop.zone_id)
-*/
 function getStop($stopID)
 {
 global $conn;
@@ -40,13 +35,14 @@
 	}
 	return pg_fetch_all($result);
 }
-function getNearbyStops($lat, $lng, $limit, $distance = 1000)
+function getNearbyStops($lat, $lng, $limit = "", $distance = 1000)
 {
    if ($lat == null || $lng == null) return Array();
+   if ($limit != "") $limit = " LIMIT $limit "; 
    global $conn;
         $query = "Select *, ST_Distance(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), FALSE) as distance
         from stops WHERE ST_DWithin(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), $distance, FALSE)
-        order by distance;";
+        order by distance $limit;";
         debug($query,"database");
 	$result = pg_query($conn, $query);
 	if (!$result) {
@@ -70,22 +66,19 @@
 function getStopRoutes($stopID, $service_period)
 {
         if ($service_period == "") $service_period = service_period();
-	/*
-	 def handle_json_GET_stoproutes(self, params):
-	   """Given a stop_id return all routes to visit the stop."""
-	   schedule = self.server.schedule
-	   stop = schedule.GetStop(params.get('stop', None))
-	   service_period = params.get('service_period', None)
-	   trips = stop.GetTrips(schedule)
-	   result = {}
-	   for trip in trips:
-	     route = schedule.GetRoute(trip.route_id)
-	     if service_period == None or trip.service_id == service_period:
-	       if not route.route_short_name+route.route_long_name+trip.service_id in result:
-	         result[route.route_short_name+route.route_long_name+trip.service_id] = (route.route_id, route.route_short_name, route.route_long_name, trip.trip_id, trip.service_id)
-	   return result
-	*/
-}
+    global $conn;
+        $query = "SELECT service_id,trips.route_id,route_short_name,route_long_name
+FROM stop_times join trips on trips.trip_id =
+stop_times.trip_id join routes on trips.route_id = routes.route_id WHERE stop_id = '$stopID' AND service_id='$service_period'";
+        debug($query,"database");
+	$result = pg_query($conn, $query);
+	if (!$result) {
+		databaseError(pg_result_error($result));
+		return Array();
+	}
+	return pg_fetch_all($result);
+        }
+        
 function getStopTrips($stopID, $service_period = "")
 {
     if ($service_period == "") $service_period = service_period();