From: maxious Date: Fri, 25 Mar 2011 08:53:53 +0000 Subject: Shorter names for combined stops and fix sorting bug X-Git-Url: http://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=c617cbaa3793ec48f4c77b9ad2eb59d326ca013a --- Shorter names for combined stops and fix sorting bug --- --- a/feedback.php +++ b/feedback.php @@ -59,6 +59,8 @@ echo "\nUser host/IP: ".$_SERVER["HTTP_X_FORWARDED_FOR"]." ".$_SERVER["REMOTE_ADDR"]; echo "\nServer host/IP: ".php_uname("n"); echo "\nCurrent date/time: ". date("c"); + echo "\nCurrent code revision: ".exec("git rev-parse --short HEAD"); + echo "\nCurrent timetables version: ".@filemtime('cbrfeed.zip'); echo "\nDump of session: ".print_r($_SESSION,true); ?> --- /dev/null +++ b/include/common-session.inc.php @@ -1,1 +1,57 @@ +centroid)) { + $geocoded = true; + $_SESSION['lat'] = $contents[0]->centroid->coordinates[0]; + $_SESSION['lon'] = $contents[0]->centroid->coordinates[1]; + } + else { + $_SESSION['lat'] = ""; + $_SESSION['lon'] = ""; + } + } + } + if ($_SESSION['lat'] != "" && isAnalyticsOn()) { + trackEvent("Geolocation","Updated Location", "Geocoded - ".($geocoded ? "Yes" : "No")); + } + sessionUpdated(); +} +function sessionUpdated() { + $_SESSION['lastUpdated'] = time(); +} +// timeoutSession +$TIMEOUT_LIMIT = 60*5; // 5 minutes +if (isset($_SESSION['lastUpdated']) && $_SESSION['lastUpdated']+$TIMEOUT_LIMIT < time()) { + debug ("Session timeout ".($_SESSION['lastUpdated']+$TIMEOUT_LIMIT).">".time(),"session"); + session_destroy(); + session_start(); +} +debug(print_r($_SESSION, true) , "session"); +?> --- a/include/common-template.inc.php +++ b/include/common-template.inc.php @@ -87,7 +87,7 @@ text-size: 0.2em; } .min-width-480px .viaPoints { - display: block; + display: inline; } #extrainfo { visibility: hidden; @@ -121,18 +121,19 @@ echo " -
+
+ Back

' . $pageTitle . '

@@ -200,7 +202,7 @@ $geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == ""; } if ($geoerror) { - echo '
Sorry, but your location could not currently be detected. + echo '
Sorry, but your location could not currently be detected. Please allow location permission, wait for your location to be detected, or enter an address/co-ordinates in the box below.
'; } --- a/include/common.inc.php +++ b/include/common.inc.php @@ -5,7 +5,7 @@ "session", "json", "phperror", - "awsgtfs", + //"awsgtfs", "awsotp", //"squallotp", //"vanilleotp", @@ -27,51 +27,14 @@ $otpAPIurl = 'http://10.0.1.135:8080/opentripplanner-api-webapp/'; } if (isDebug("phperror")) error_reporting(E_ALL ^ E_NOTICE); + include_once ("common-geo.inc.php"); include_once ("common-net.inc.php"); +include_once ("common-transit.inc.php"); + +include_once ("common-session.inc.php"); include_once ("common-template.inc.php"); -include_once ("common-transit.inc.php"); -// you have to open the session to be able to modify or remove it -session_start(); -if (isset($_REQUEST['service_period'])) { - $_SESSION['service_period'] = filter_var($_REQUEST['service_period'], FILTER_SANITIZE_STRING); -} -if (isset($_REQUEST['time'])) { - $_SESSION['time'] = filter_var($_REQUEST['time'], FILTER_SANITIZE_STRING); -} -if (isset($_REQUEST['geolocate'])) { - $geocoded = false; - if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) { - $_SESSION['lat'] = trim(filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)); - $_SESSION['lon'] = trim(filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)); - } - else { - $geolocate = filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL); - echo $_REQUEST['geolocate']; - if (startsWith($geolocate, "-")) { - $locateparts = explode(",", $geolocate); - $_SESSION['lat'] = $locateparts[0]; - $_SESSION['lon'] = $locateparts[1]; - } - else { - $contents = geocode($geolocate, true); - print_r($contents); - if (isset($contents[0]->centroid)) { - $geocoded = true; - $_SESSION['lat'] = $contents[0]->centroid->coordinates[0]; - $_SESSION['lon'] = $contents[0]->centroid->coordinates[1]; - } - else { - $_SESSION['lat'] = ""; - $_SESSION['lon'] = ""; - } - } - } - if ($_SESSION['lat'] != "" && isAnalyticsOn()) { - trackEvent("Geolocation","Updated Location", "Geocoded - ".($geocoded ? "Yes" : "No")); - } -} -debug(print_r($_SESSION, true) , "session"); + function isDebugServer() { return $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME']; --- a/schedule_viewer.py +++ b/schedule_viewer.py @@ -316,8 +316,19 @@ except: print "Error for GetStartTime of trip #" + t.trip_id + sys.exc_info()[0] else: - result.append ( (starttime, t.trip_id) ) - return sorted(result, key=lambda trip: trip[0]) + cursor = t._schedule._connection.cursor() + cursor.execute( + 'SELECT arrival_secs,departure_secs FROM stop_times WHERE ' + 'trip_id=? ORDER BY stop_sequence DESC LIMIT 1', (t.trip_id,)) + (arrival_secs, departure_secs) = cursor.fetchone() + if arrival_secs != None: + endtime = arrival_secs + elif departure_secs != None: + endtime = departure_secs + else: + endtime =0 + result.append ( (starttime, t.trip_id, endtime) ) + return sorted(result, key=lambda trip: trip[2]) def handle_json_GET_triprows(self, params): """Return a list of rows from the feed file that are related to this --- a/stop.php +++ b/stop.php @@ -32,8 +32,15 @@ $stopid = $stops[0][0]; $stopLinks.= "Individual stop pages: "; foreach ($stops as $key => $sub_stop) { - $stopNames[$key] = $sub_stop[1] . ' Stop #' . ($key + 1); - $stopLinks.= '' . $stopNames[$key] . ' '; + // $stopNames[$key] = $sub_stop[1] . ' Stop #' . ($key + 1); + if (strpos($stop[1], + "Station")) { + $stopNames[$key] = 'Platform ' . ($key + 1); + $stopLinks.= '' . $sub_stop[1] . ' '; + } else { + $stopNames[$key] = '#' . ($key + 1); + $stopLinks.= '' . $sub_stop[1] . ' Stop #' . ($key + 1) . ' '; + } $stopPositions[$key] = Array( $sub_stop[2], $sub_stop[3] @@ -66,6 +73,7 @@ } echo '