Merge branch 'master' of github.com:maxious/ACTBus-ui
--- a/aws/awsStartup.sh
+++ b/aws/awsStartup.sh
@@ -5,6 +5,7 @@
#http://www.how2forge.org/installing-lighttpd-with-php5-and-mysql-support-on-fedora-12
cp /root/aws.php /tmp/
+mkdir /var/www/lib/staticmaplite/cache
chcon -h system_u:object_r:httpd_sys_content_t /var/www
chcon -R -h root:object_r:httpd_sys_content_t /var/www/*
chcon -R -t httpd_sys_content_rw_t /var/www/lib/staticmaplite/cache
--- a/feedback.php
+++ b/feedback.php
@@ -55,10 +55,13 @@
<textarea id="extrainfo">
<?php
echo "Referrer URL: ".$_SERVER["HTTP_REFERER"];
+ echo "\nCurrent page URL: ".curPageURL();
echo "\nUser Agent: ".$_SERVER["HTTP_USER_AGENT"];
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);
?>
</textarea>
--- a/include/common-geo.inc.php
+++ b/include/common-geo.inc.php
@@ -47,7 +47,7 @@
}
$output = "";
if ($collapsible) $output.= '<div data-role="collapsible" data-collapsed="true"><h3>Open Map...</h3>';
- $output.= '<center><img src="' . curPageURL() . 'lib/staticmaplite/staticmap.php?center=' . $center . '&zoom=' . $zoom . '&size=' . $width . 'x' . $height . '&maptype=mapnik&markers=' .
+ $output.= '<center><img src="' . curPageURL() . 'lib/staticmaplite/staticmap.php?center=' . $center . '&zoom=' . $zoom . '&size=' . $width . 'x' . $height . '&markers=' .
$markers . '" width=' . $width . ' height=' . $height . '></center>';
if ($collapsible) $output.= '</div>';
return $output;
--- a/include/common-net.inc.php
+++ b/include/common-net.inc.php
@@ -24,7 +24,8 @@
$isHTTPS = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on");
$port = (isset($_SERVER["SERVER_PORT"]) && ((!$isHTTPS && $_SERVER["SERVER_PORT"] != "80") || ($isHTTPS && $_SERVER["SERVER_PORT"] != "443")));
$port = ($port) ? ':' . $_SERVER["SERVER_PORT"] : '';
- $url = ($isHTTPS ? 'https://' : 'http://') . $_SERVER["SERVER_NAME"] . $port . htmlentities(dirname($_SERVER['PHP_SELF']) , ENT_QUOTES) . "/";
+ $url = ($isHTTPS ? 'https://' : 'http://') . $_SERVER["SERVER_NAME"] . $port . htmlentities(dirname($_SERVER['PHP_SELF']) , ENT_QUOTES);
return $url;
}
?>
+
--- /dev/null
+++ b/include/common-session.inc.php
@@ -1,1 +1,57 @@
+<?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);
+ sessionUpdated();
+}
+if (isset($_REQUEST['time'])) {
+ $_SESSION['time'] = filter_var($_REQUEST['time'], FILTER_SANITIZE_STRING);
+ sessionUpdated();
+}
+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"));
+ }
+ 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 "<script>
function success(position) {
+$('#error').val('Location now detected. Please wait for data to load.');
$('#geolocate').val(position.coords.latitude+','+position.coords.longitude);
$.ajax({ url: \"include/common.inc.php?geolocate=yes&lat=\"+position.coords.latitude+\"&lon=\"+position.coords.longitude });
location.reload(true);
}
function error(msg) {
- console.log(msg);
+$('#error').val('Error: '+msg);
}
function geolocate() {
if (navigator.geolocation) {
var options = {
- enableHighAccuracy: false,
+ enableHighAccuracy: true,
timeout: 60000,
maximumAge: 10000
}
@@ -168,7 +169,8 @@
document.title = "' . $pageTitle . '";
});
</script>
- <div data-role="header">
+ <div data-role="header" data-position="inline">
+ <a href="'.$_SERVER["HTTP_REFERER"].'" data-icon="arrow-l" data-rel="back">Back</a>
<h1>' . $pageTitle . '</h1>
</div><!-- /header -->
<a name="maincontent" id="maincontent"></a>
@@ -200,7 +202,7 @@
$geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "";
}
if ($geoerror) {
- echo '<div class="error">Sorry, but your location could not currently be detected.
+ echo '<div id="error">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.</div>';
}
@@ -215,7 +217,7 @@
<div data-role="fieldcontain">
<label for="time"> Time: </label>
<input type="time" name="time" id="time" value="' . (isset($_SESSION['time']) ? $_SESSION['time'] : date("H:i")) . '"/>
- <a href="#" name="currentTime" id="currentTime" onClick="var d = new Date();'. "$('#time').val(d.getHours() +':'+ d.getMinutes());".'">Current Time?</a>
+ <a href="#" name="currentTime" id="currentTime" onClick="var d = new Date();'. "$('#time').val(d.getHours() +':'+ (d.getMinutes().toString().length = 1 ? '0'+ d.getMinutes(): d.getMinutes()));".'">Current Time?</a>
</div>
<div data-role="fieldcontain">
<label for="service_period"> Service Period: </label>
--- a/include/common.inc.php
+++ b/include/common.inc.php
@@ -5,9 +5,10 @@
"session",
"json",
"phperror",
- "awsgtfs",
+ //"awsgtfs",
"awsotp",
- "squallotp",
+ //"squallotp",
+ //"vanilleotp",
"other"
);
if (isDebug("awsgtfs")) {
@@ -22,52 +23,18 @@
if (isDebug("squallotp")) {
$otpAPIurl = 'http://10.0.1.108:5080/opentripplanner-api-webapp/';
}
+if (isDebug("vanilleotp")) {
+ $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/labs/tripPlannerTester.kml.php
+++ b/labs/tripPlannerTester.kml.php
@@ -63,8 +63,8 @@
// make sure to sleep(10);
$boundingBoxes = Array(
"belconnen" => Array(
- "startlat" => - 35.1828,
- "startlon" => 149.0295,
+ "startlat" => - 35.1928,
+ "startlon" => 149.006,
"finishlat" => - 35.2630,
"finishlon" => 149.1045,
) ,
@@ -74,24 +74,24 @@
"finishlat" => - 35.2955,
"finishlon" => 149.1559,
) ,
- //"west duffy" => Array(
- // "startlat" => - 35.3252,
- // "startlon" => 149.0240,
- // "finishlat" => - 35.3997,
- // "finishlon" => 149.0676,
- //) ,
- //"central south" => Array(
- // "startlat" => - 35.3042,
- // "startlon" => 149.0762,
- // "finishlat" => - 35.3370,
- // "finishlon" => 149.1806,
- //) ,
- //"south" => Array(
- // "startlat" => - 35.3403,
- // "startlon" => 149.0714,
- // "finishlat" => - 35.4607,
- // "finishlon" => 149.1243,
- //)
+ "west duffy" => Array(
+ "startlat" => - 35.3252,
+ "startlon" => 149.0240,
+ "finishlat" => - 35.3997,
+ "finishlon" => 149.0676,
+ ) ,
+ "central south" => Array(
+ "startlat" => - 35.3042,
+ "startlon" => 149.0762,
+ "finishlat" => - 35.3370,
+ "finishlon" => 149.1806,
+ ) ,
+ "south" => Array(
+ "startlat" => - 35.3403,
+ "startlon" => 149.0714,
+ "finishlat" => - 35.4607,
+ "finishlon" => 149.1243,
+ )
);
$latdeltasize = 0.01;
$londeltasize = 0.01;
@@ -121,8 +121,7 @@
if ($csv) echo "Trip planner temporarily unavailable: " . curl_errno($ch) . " " . curl_error($ch);
}
else {
- $tripplan = json_decode($page);
- if (isset($tripplan->error)) var_dump($tripplan->error);
+ $tripplan = json_decode($page);
$plans = Array();
if (is_array($tripplan->plan->itineraries->itinerary)) {
foreach ($tripplan->plan->itineraries->itinerary as $itineraryNumber => $itinerary) {
@@ -144,6 +143,10 @@
else {
$plan .= processLeg(0, $plans[min(array_keys($plans)) ]->legs->leg);
}
+ if (isset($tripplan->error) && $tripplan->error->id == 404) {
+ $time = 999;
+ $plan = "Trip not possible without excessive walking from nearest bus stop";
+ }
$testRegions[] = Array(
"lat" => $i,
"lon" => $j,
@@ -151,7 +154,7 @@
"latdeltasize" => $latdeltasize,
"londeltasize" => $londeltasize,
"regionname" => $key,
- "plan" => $plan . "<br><a href='". htmlspecialchars($url)."'>original plan</a>"
+ "plan" => $plan . "<br/><a href='". htmlspecialchars($url)."'>original plan</a>"
);
$regionTimes[] = $time;
}
@@ -163,25 +166,25 @@
}
}
if ($kml) {
- $colorSteps = 18;
+ $colorSteps = 9;
//$minTime = min($regionTimes);
//$maxTime = max($regionTimes);
//$rangeTime = $maxTime - $minTime;
//$deltaTime = $rangeTime / $colorSteps;
- $Gradients = Gradient("66FF00", "FF0000", $colorSteps);
+ $Gradients = Gradient(strrev("66FF00"), strrev("FF0000"), $colorSteps); // KML is BGR not RGB so strrev
foreach ($testRegions as $testRegion) {
//$band = (floor(($testRegion[time] - $minTime) / $deltaTime));
- $band = (floor(($testRegion[time] / 10) *2));
+ $band = (floor($testRegion[time] / 10));
if ($band > $colorSteps) $band = $colorSteps;
echo "<Placemark>
<name>" . $testRegion['regionname'] . " time {$testRegion['time']} band $band</name>
<description> {$testRegion['plan']} </description>
<Style>
<PolyStyle>
- <color>c7" . strrev($Gradients[$band]) . "</color>" . // 7f = 50% alpha, c7=78%, also KML is BGR not RGB
+ <color>c7" . $Gradients[$band] . "</color>" . // 7f = 50% alpha, c7=78%
"</PolyStyle>
<LineStyle>
- <color>c7" . strrev($Gradients[$band]) . "</color>" . "</LineStyle>
+ <color>c7" . $Gradients[$band] . "</color>" . "</LineStyle>
</Style>
<Polygon>
<altitudeMode>relativeToGround</altitudeMode>
--- a/lib/staticmaplite/staticmap.php
+++ b/lib/staticmaplite/staticmap.php
@@ -32,11 +32,9 @@
protected $tileSize = 256;
protected $tileSrcUrl = array( 'mapnik' => 'http://tile.openstreetmap.org/{Z}/{X}/{Y}.png',
- 'osmarenderer' => 'http://c.tah.openstreetmap.org/Tiles/tile/{Z}/{X}/{Y}.png',
- 'cycle' => 'http://c.andy.sandbox.cloudmade.com/tiles/cycle/{Z}/{X}/{Y}.png'
- );
-
- protected $tileDefaultSrc = 'mapnik';
+ 'cloudmade' => 'http://b.tile.cloudmade.com/daa03470bb8740298d4b10e3f03d63e6/1/256/{Z}/{X}/{Y}.png',);
+
+ protected $tileDefaultSrc = 'cloudmade';
protected $markerBaseDir = 'images/markers';
protected $osmLogo = 'images/osm_logo.png';
@@ -258,8 +256,10 @@
} else {
// no cache, make map, send headers and deliver png
$this->makeMap();
- $this->sendHeader();
- return imagepng($this->image);
+ // $this->sendHeader();
+ // do some extra compression
+ imagetruecolortopalette($this->image, false, 256);
+ return imagepng($this->image, 9, PNG_ALL_FILTERS);
}
}
--- a/routeList.php
+++ b/routeList.php
@@ -36,16 +36,16 @@
$suburb = filter_var($_REQUEST['suburb'], FILTER_SANITIZE_STRING);
$url = $APIurl . "/json/stopzonesearch?q=" . $suburb;
include_header("Routes by Suburb", "routeList");
- trackEvent("Route Lists","Routes By Suburb", $suburb);
+ trackEvent("Route Lists", "Routes By Suburb", $suburb);
}
if ($_REQUEST['nearby']) {
$url = $APIurl . "/json/neareststops?lat={$_SESSION['lat']}&lon={$_SESSION['lon']}&limit=15";
include_header("Routes Nearby", "routeList", true, true);
- timePlaceSettings(true);
- if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") {
- include_footer();
- die();
- }
+ timePlaceSettings(true);
+ if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") {
+ include_footer();
+ die();
+ }
}
$stops = json_decode(getPage($url));
$routes = Array();
@@ -63,7 +63,7 @@
echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[4]) . ")</a></li>\n";
}
}
-else if ($_REQUEST['bynumber']) {
+else if ($_REQUEST['bynumber'] || $_REQUEST['numberSeries']) {
include_header("Routes by Number", "routeList");
navbar();
echo ' <ul data-role="listview" data-inset="true">';
@@ -87,25 +87,20 @@
$routeSeries[$seriesNum][$seriesNum . "-" . $row[1] . "-" . $row[0]] = $row;
}
}
- ksort($routeSeries);
- ksort($seriesRange);
- echo '<div class="noscriptnav"> Go to route numbers: ';
- foreach ($seriesRange as $series => $range) {
- if ($range['min'] == $range['max']) echo "<a href=\"#$series\">$series</a> ";
- else echo "<a href=\"#$series\">{$range['min']}-{$range['max']}</a> ";
+ if ($_REQUEST['bynumber']) {
+ ksort($routeSeries);
+ ksort($seriesRange);
+ foreach ($routeSeries as $series => $routes) {
+ echo '<li><a href="' . curPageURL() . 'routeList.php?numberSeries=' . $series . '">';
+ if ($series <= 9) echo $series;
+ else echo "{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}";
+ echo "</a></li>\n";
+ }
}
- echo "</div>
- <script>
- $('.noscriptnav').hide();
- </script>";
- foreach ($routeSeries as $series => $routes) {
- echo '<a name="' . $series . '"></a>';
- if ($series <= 9) echo '<li>' . $series . "<ul>\n";
- else echo "<li>{$seriesRange[$series]['min']}-{$seriesRange[$series]['max']}<ul>\n";
- foreach ($routes as $row) {
+ else if ($_REQUEST['numberSeries']) {
+ foreach ($routeSeries[$_REQUEST['numberSeries']] as $row) {
echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[3]) . ")</a></li>\n";
}
- echo "</ul></li>\n";
}
}
else {
@@ -115,24 +110,18 @@
$url = $APIurl . "/json/routes";
$contents = json_decode(getPage($url));
// by destination!
- foreach ($contents as $key => $row) {
+ foreach ($contents as $row) {
$routeDestinations[$row[2]][] = $row;
}
- echo '<div class="noscriptnav"> Go to Destination: ';
- foreach (ksort($routeDestinations) as $destination => $routes) {
- echo "<a href=\"#$destination\">$destination</a> ";
- }
- echo "</div>
- <script>
- $('.noscriptnav').hide();
- </script>";
- foreach ($routeDestinations as $destination => $routes) {
- echo '<a name="' . $destination . '"></a>';
- echo '<li>' . $destination . "... <ul>\n";
- foreach ($routes as $row) {
+ if ($_REQUEST['routeDestination']) {
+ foreach ($routeDestinations[urldecode($_REQUEST['routeDestination'])] as $row) {
echo '<li>' . $row[1] . ' <a href="trip.php?routeid=' . $row[0] . '">' . $row[2] . " (" . ucwords($row[3]) . ")</a></li>\n";
}
- echo "</ul></li>\n";
+ }
+ else {
+ foreach ($routeDestinations as $destination => $routes) {
+ echo '<li><a href="' . curPageURL() . 'routeList.php?routeDestination=' . urlencode($destination) . '">' . $destination . "... </a></li>\n";
+ }
}
}
echo "</ul>\n";
--- 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.= '<a href="stop.php?stopid=' . $sub_stop[0] . '&stopcode=' . $sub_stop[5] . '">' . $stopNames[$key] . '</a> ';
+ // $stopNames[$key] = $sub_stop[1] . ' Stop #' . ($key + 1);
+ if (strpos($stop[1],
+ "Station")) {
+ $stopNames[$key] = 'Platform ' . ($key + 1);
+ $stopLinks.= '<a href="stop.php?stopid=' . $sub_stop[0] . '&stopcode=' . $sub_stop[5] . '">' . $sub_stop[1] . '</a> ';
+ } else {
+ $stopNames[$key] = '#' . ($key + 1);
+ $stopLinks.= '<a href="stop.php?stopid=' . $sub_stop[0] . '&stopcode=' . $sub_stop[5] . '">' . $sub_stop[1] . ' Stop #' . ($key + 1) . '</a> ';
+ }
$stopPositions[$key] = Array(
$sub_stop[2],
$sub_stop[3]
@@ -66,6 +73,7 @@
}
echo ' <ul data-role="listview" data-inset="true">';
if (sizeof($allStopsTrips) > 0) {
+ sksort($allStopsTrips,0, $true);
$trips = $allStopsTrips;
}
else {
@@ -76,7 +84,7 @@
echo '<li>';
echo '<h3><a href="trip.php?stopid=' . $stopid . '&tripid=' . $row[1][0] . '">' . $row[1][1];
$viaPoints = viaPointNames($row[1][0], $stopid);
- if ($viaPoints != "") echo '<div class="viaPoints">Via: ' . $viaPoints . '</div>';
+ if ($viaPoints != "") echo '<br><span class="viaPoints">Via: ' . $viaPoints . '</span>';
if (sizeof($tripStopNumbers) > 0) {
echo '<br><small>Boarding At: ';
foreach ($tripStopNumbers[$row[1][0]] as $key) {
--- a/trip.php
+++ b/trip.php
@@ -9,7 +9,7 @@
$url = $APIurl . "/json/routetrips?route_id=" . $routeid;
$routetrips = json_decode(getPage($url));
foreach ($routetrips as $trip) {
- if ($trip[0] > midnight_seconds()) {
+ if ($trip[2] > midnight_seconds()) {
$tripid = $trip[1];
break;
}