From: Maxious Date: Tue, 10 May 2011 08:38:13 +0000 Subject: Merge /var/www/busui X-Git-Url: https://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=796277d9060f31760e49aa172bca45ae909b7a64 --- Merge /var/www/busui Conflicts: index.php --- --- a/include/common-request.inc.php +++ /dev/null @@ -1,45 +1,1 @@ - + --- a/include/common-template.inc.php +++ b/include/common-template.inc.php @@ -182,7 +182,7 @@ if ($opendiv) { echo '
- Back + Back

' . $pageTitle . '

Home
--- a/include/common.inc.php +++ b/include/common.inc.php @@ -33,7 +33,6 @@ include_once ("common-session.inc.php"); include_once ("common-db.inc.php"); include_once ("common-template.inc.php"); -include_once ("common-request.inc.php"); function isDebugServer() { --- a/include/db/route-dao.inc.php +++ b/include/db/route-dao.inc.php @@ -1,21 +1,113 @@ '".current_time()."' and routes.route_id = '$routeID' order by +arrival_time limit 1"; + debug($query,"database"); + $result = pg_query($conn, $query); + if (!$result) { + databaseError(pg_result_error($result)); + return Array(); + } + $r = pg_fetch_assoc($result); + // past last trip of the day special case + if (sizeof($r) == 0) { + $query = "select * from routes join trips on trips.route_id = routes.route_id +join stop_times on stop_times.trip_id = trips.trip_id where routes.route_id = '$routeID' order by +arrival_time DESC limit 1"; + debug($query,"database"); + $result = pg_query($conn, $query); + if (!$result) { + databaseError(pg_result_error($result)); + return Array(); + } + $r = pg_fetch_assoc($result); + } + return $r; + } + + function getTimeInterpolatedRouteAtStop($routeID, $stop_id) { - global $conn; - $query = "Select * from routes order by route_short_name;"; - debug($query, "database"); + $nextTrip = getRouteNextTrip($routeID); + if ($nextTrip['trip_id']){ + foreach (getTimeInterpolatedTrip($nextTrip['trip_id']) as $tripStop) { + if ($tripStop['stop_id'] == $stop_id) return $tripStop; + } + } + return Array(); +} + +function getRouteTrips($routeID) { + global $conn; + $query = "select routes.route_id,trips.trip_id,service_id,arrival_time, stop_id, stop_sequence from routes join trips on trips.route_id = routes.route_id +join stop_times on stop_times.trip_id = trips.trip_id where routes.route_id = '$routeID' and stop_sequence = '1' order by +arrival_time "; + debug($query,"database"); + $result = pg_query($conn, $query); + if (!$result) { + databaseError(pg_result_error($result)); + return Array(); + } + return pg_fetch_all($result); + } +function getRoutesByDestination($destination = "", $service_period = "") { + global $conn; + if ($service_period == "") $service_period = service_period(); + if ($destination != "") { + $query = "SELECT DISTINCT trips.route_id,route_short_name,route_long_name, service_id +FROM stop_times join trips on trips.trip_id = +stop_times.trip_id join routes on trips.route_id = routes.route_id +WHERE route_long_name = '$destination' AND service_id='$service_period' order by route_short_name"; + } else { + $query = "SELECT DISTINCT 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 service_id='$service_period' order by route_long_name"; + } + debug($query,"database"); $result = pg_query($conn, $query); if (!$result) { databaseError(pg_result_error($result)); @@ -23,17 +115,16 @@ } return pg_fetch_all($result); } -function getRoutesByNumber($routeNumber = "") -{ - global $conn; - if ($routeNumber != "") { - $query = "Select distinct routes.route_id,routes.route_short_name,routes.route_long_name,service_id from routes join trips on trips.route_id = -routes.route_id join stop_times on stop_times.trip_id = trips.trip_id where route_short_name = '$routeNumber' order by route_short_name;"; - } - else { - $query = "SELECT DISTINCT route_short_name from routes order by route_short_name"; - } - debug($query, "database"); + +function getRoutesBySuburb($suburb, $service_period = "") { + if ($service_period == "") $service_period = service_period(); + global $conn; + $query = "SELECT DISTINCT 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 +join stops on stops.stop_id = stop_times.stop_id +WHERE zone_id LIKE '%$suburb;%' AND service_id='$service_period' ORDER BY route_short_name"; + debug($query,"database"); $result = pg_query($conn, $query); if (!$result) { databaseError(pg_result_error($result)); @@ -41,124 +132,14 @@ } return pg_fetch_all($result); } -function getRoutesByNumberSeries($routeNumberSeries = "") -{ - global $conn; - if (strlen($routeNumberSeries) == 1) { - return getRoutesByNumber($routeNumberSeries); - } - $seriesMin = substr($routeNumberSeries, 0, -1) . "0"; - $seriesMax = substr($routeNumberSeries, 0, -1) . "9"; - $query = "Select distinct routes.route_id,routes.route_short_name,routes.route_long_name,service_id from routes join trips on trips.route_id = -routes.route_id join stop_times on stop_times.trip_id = trips.trip_id where to_number(route_short_name, 'FM999') between $seriesMin and $seriesMax order by route_short_name;"; - debug($query, "database"); - $result = pg_query($conn, $query); - if (!$result) { - databaseError(pg_result_error($result)); - return Array(); - } - return pg_fetch_all($result); -} -function getRouteNextTrip($routeID) -{ - global $conn; - $query = "select * from routes join trips on trips.route_id = routes.route_id -join stop_times on stop_times.trip_id = trips.trip_id where -arrival_time > '" . current_time() . "' and routes.route_id = '$routeID' order by -arrival_time limit 1"; - debug($query, "database"); - $result = pg_query($conn, $query); - if (!$result) { - databaseError(pg_result_error($result)); - return Array(); - } - $r = pg_fetch_assoc($result); - // past last trip of the day special case - if (sizeof($r) == 0) { - $query = "select * from routes join trips on trips.route_id = routes.route_id -join stop_times on stop_times.trip_id = trips.trip_id where routes.route_id = '$routeID' order by -arrival_time DESC limit 1"; - debug($query, "database"); - $result = pg_query($conn, $query); - if (!$result) { - databaseError(pg_result_error($result)); - return Array(); - } - $r = pg_fetch_assoc($result); - } - return $r; -} -function getTimeInterpolatedRouteAtStop($routeID, $stop_id) -{ - $nextTrip = getRouteNextTrip($routeID); - if ($nextTrip['trip_id']) { - foreach (getTimeInterpolatedTrip($nextTrip['trip_id']) as $tripStop) { - if ($tripStop['stop_id'] == $stop_id) return $tripStop; - } - } - return Array(); -} -function getRouteTrips($routeID) -{ - global $conn; - $query = "select routes.route_id,trips.trip_id,service_id,arrival_time, stop_id, stop_sequence from routes join trips on trips.route_id = routes.route_id -join stop_times on stop_times.trip_id = trips.trip_id where routes.route_id = '$routeID' and stop_sequence = '1' order by -arrival_time "; - debug($query, "database"); - $result = pg_query($conn, $query); - if (!$result) { - databaseError(pg_result_error($result)); - return Array(); - } - return pg_fetch_all($result); -} -function getRoutesByDestination($destination = "", $service_period = "") -{ - global $conn; - if ($service_period == "") $service_period = service_period(); - if ($destination != "") { - $query = "SELECT DISTINCT trips.route_id,route_short_name,route_long_name, service_id -FROM stop_times join trips on trips.trip_id = -stop_times.trip_id join routes on trips.route_id = routes.route_id -WHERE route_long_name = '$destination' AND service_id='$service_period' order by route_short_name"; - } - else { - $query = "SELECT DISTINCT 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 service_id='$service_period' order by route_long_name"; - } - debug($query, "database"); - $result = pg_query($conn, $query); - if (!$result) { - databaseError(pg_result_error($result)); - return Array(); - } - return pg_fetch_all($result); -} -function getRoutesBySuburb($suburb, $service_period = "") -{ - if ($service_period == "") $service_period = service_period(); - global $conn; - $query = "SELECT DISTINCT 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 -join stops on stops.stop_id = stop_times.stop_id -WHERE zone_id LIKE '%$suburb;%' AND service_id='$service_period' ORDER BY route_short_name"; - debug($query, "database"); - $result = pg_query($conn, $query); - if (!$result) { - databaseError(pg_result_error($result)); - return Array(); - } - return pg_fetch_all($result); -} -function getRoutesNearby($lat, $lng, $limit = "", $distance = 500) -{ - if ($service_period == "") $service_period = service_period(); - if ($limit != "") $limit = " LIMIT $limit "; - global $conn; - $query = "SELECT service_id,trips.route_id,route_short_name,route_long_name,min(stops.stop_id) as stop_id, + +function getRoutesNearby($lat, $lng, $limit = "", $distance = 500) { + + + if ($service_period == "") $service_period = service_period(); + if ($limit != "") $limit = " LIMIT $limit "; + global $conn; + $query = "SELECT service_id,trips.route_id,route_short_name,route_long_name,min(stops.stop_id) as stop_id, min(ST_Distance(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), FALSE)) as distance FROM stop_times join trips on trips.trip_id = stop_times.trip_id @@ -168,7 +149,7 @@ AND ST_DWithin(position, ST_GeographyFromText('SRID=4326;POINT($lng $lat)'), $distance, FALSE) group by service_id,trips.route_id,route_short_name,route_long_name order by distance $limit"; - debug($query, "database"); + debug($query,"database"); $result = pg_query($conn, $query); if (!$result) { databaseError(pg_result_error($result)); --- a/index.php +++ b/index.php @@ -13,14 +13,14 @@
  • Timetables - Stops
  • Major (Timing Point) Stops
  • All Stops
  • -
  • Stops By Suburb
  • +
  • Stops By Suburb
  • Nearby Stops
  • Busness R&D'; include_footer(true) ?> - --- a/labs/networkstats.php +++ b/labs/networkstats.php @@ -31,6 +31,7 @@ {$route['route_short_name']} {$route['route_long_name']}"; foreach (getRouteTrips($routeid) as $key => $trip) { --- a/layar_api.php +++ b/layar_api.php @@ -5,8 +5,11 @@ $output['layer'] = "canberrabusstops"; $max_page = 10; $max_results = 50; -$page_start = 0 + $pageKey; -$page_end = $max_page + $pageKey; +$page_start = 0 + filter_var($_REQUEST['pageKey'], FILTER_SANITIZE_NUMBER_INT); +$page_end = $max_page + filter_var($_REQUEST['pageKey'], FILTER_SANITIZE_NUMBER_INT); +$lat = filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); +$lon = filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); +$max_distance = filter_var($_REQUEST['radius'], FILTER_SANITIZE_NUMBER_INT); $contents = getNearbyStops($lat, $lon, 50, $max_distance); $stopNum = 0; foreach ($contents as $stop) { --- a/routeList.php +++ b/routeList.php @@ -7,70 +7,72 @@
    '; } -if (isset($bysuburbs)) { +if ($_REQUEST['bysuburb']) { include_header("Routes by Suburb", "routeList"); navbar(); echo ' '; } -else if (isset($nearby) || isset($suburb)) { +else if ($_REQUEST['nearby'] || $_REQUEST['suburb']) { $routes = Array(); - if ($suburb) { - include_header($suburb . " - " . ucwords(service_period()) , "routeList"); - navbar(); - timePlaceSettings(); - trackEvent("Route Lists", "Routes By Suburb", $suburb); - $routes = getRoutesbysuburbs($suburb); + if ($_REQUEST['suburb']) { + $suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING); + include_header($suburb ." - ".ucwords(service_period()), "routeList"); + navbar(); + timePlaceSettings(); + trackEvent("Route Lists", "Routes By Suburb", $suburb); + $routes = getRoutesBySuburb($suburb); + } - if (isset($nearby)) { + if ($_REQUEST['nearby']) { include_header("Routes Nearby", "routeList", true, true); - trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'] . "," . $_SESSION['lon']); - navbar(); - timePlaceSettings(true); + trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'].",".$_SESSION['lon']); + navbar(); + timePlaceSettings(true); if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") { include_footer(); die(); } - $routes = getRoutesNearby($_SESSION['lat'], $_SESSION['lon']); + $routes = getRoutesNearby($_SESSION['lat'],$_SESSION['lon']); } + echo '