Beginnings of Christmas 2011 support
--- a/include/common-session.inc.php
+++ b/include/common-session.inc.php
@@ -17,14 +17,6 @@
*/
// 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']) && $_REQUEST['geolocate'] != "Enter co-ordinates or address here") {
$geocoded = false;
if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) {
@@ -70,7 +62,7 @@
//debug(print_r($_SESSION, true) , "session");
function current_time() {
- return ($_SESSION['time'] ? $_SESSION['time'] : date("H:i:s"));
+ return ($_REQUEST['time'] ? $_REQUEST['time'] : date("H:i:s"));
}
?>
--- a/include/common-template.inc.php
+++ b/include/common-template.inc.php
@@ -175,7 +175,7 @@
<div data-role="content"> ';
if ($GTFSREnabled) {
$overrides = getServiceOverride();
- if ($overrides['service_id']) {
+ if (isset($overrides['service_id'])) {
if ($overrides['service_id'] == "noservice") {
echo '<div id="servicewarning">Buses are <strong>not running today</strong> due to industrial action/public holiday. See <a
href="http://www.action.act.gov.au">http://www.action.act.gov.au</a> for details.</div>';
@@ -212,9 +212,37 @@
}
echo "\n</div></div></body></html>";
}
-
+function timeSettings() {
+ global $service_periods;
+echo '<div id="settings" data-role="collapsible" data-collapsed="true">
+<h3>Change Time (' . (isset($_REQUEST['time']) ? $_REQUEST['time'] : "Current Time,") . ' ' . ucwords(service_period()) . ')...</h3>
+ <form action="' . basename($_SERVER['PHP_SELF']) . '" method="GET">
+ <input type="hidden" name="suburb" id="suburb" value="' . (isset($_REQUEST['suburb']) ? $_REQUEST['suburb'] : "") . '"/>
+
+ <input type="hidden" name="stopid" id="stopid" value="' . (isset($_REQUEST['stopid']) ? $_REQUEST['stopid'] : "") . '"/>
+ <input type="hidden" name="stopcode" id="stopcode" value="' . (isset($_REQUEST['stopcode']) ? $_REQUEST['stopcode'] : "") . '"/>
+ <div class="ui-body">
+ <div data-role="fieldcontain">
+ <label for="time"> Time: </label>
+ <input type="time" name="time" id="time" value="' . (isset($_REQUEST['time']) ? $_REQUEST['time'] : date("H:i")) . '"/>
+ <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>
+ <select name="service_period" id="service_period">';
+foreach ($service_periods as $service_period) {
+ echo "<option value=\"$service_period\"" . (service_period() === $service_period ? " SELECTED" : "") . '>' . ucwords($service_period) . '</option>';
+}
+echo '</select>
+ <a href="#" style="display:none" name="currentPeriod" id="currentPeriod">Current Period?</a>
+ </div>
+
+ <input type="submit" value="Update"/>
+ </div></form>
+ </div>';
+}
function placeSettings() {
- global $service_periods;
+
$geoerror = false;
$geoerror = !isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "";
--- a/include/common-transit.inc.php
+++ b/include/common-transit.inc.php
@@ -18,43 +18,63 @@
$service_periods = Array(
'sunday',
'saturday',
- 'weekday'
+ 'weekday',
+ "Christmas2011","EndOfYearHolidays"
);
-function service_period_day ($spid) {
- $idParts = explode("-",$spid);
- return strtolower($idParts[2]);
-}
+
function service_period($date = "") {
- if (isset($_SESSION['service_period']))
- return $_SESSION['service_period'];
+ if (isset($_REQUEST['service_period'])) {
+ return $_REQUEST['service_period'];
+ }
+
$override = getServiceOverride($date);
- if ($override['service_id']) {
- return service_period_day ($override['service_id']);
- }
-
- switch (date('w', ($date != "" ? $date : time()))) {
- case 0:
- return 'sunday';
- case 6:
- return 'saturday';
- default:
- return 'weekday';
- }
-}
+ if (isset($override['service_id'])) {
+ return strtolower($override['service_id']);
+ }
+ $date = ($date != "" ? $date : time());
+// christmas special cases
+ $ymd = date('Ymd', $date);
+ $dow = date('w', $date);
+ if ($ymd == "20111225") {
+ return "Christmas2011";
+ } if ($ymd == "20111228" || $ymd == "20111229" || $ymd == "20111230") {
+ return "EndOfYearHolidays";
+ } else if (intval($ymd) < "20120203" && $dow != 0 && $dow != 6) {
+ return "Weekday-SchoolVacation";
+ } else {
+ switch ($dow) {
+ case 0:
+ return 'sunday';
+ case 6:
+ return 'saturday';
+ default:
+ return 'weekday';
+ }
+ }
+}
+
function service_ids($service_period) {
switch ($service_period) {
case 'sunday':
- return Array("2010-TUGGSUN-Sunday-20","2010-BELCSUN-Sunday-19");
+ return Array("Sunday", "Sunday");
case 'saturday':
- return Array("2010-BELCSAT-Saturday-19","2010-TUGGSAT-Saturday-19");
+ return Array("Saturday", "Saturday");
+ case "Christmas2011":
+ return Array("Christmas2011", "Christmas2011");
+ case "EndOfYearHolidays":
+ return Array("Weekday-EndOfYearHolidays", "Weekday-EndOfYearHolidays");
+ case "Weekday-SchoolVacation":
+ return Array("Weekday", "Weekday-SchoolVacation");
default:
//return 'weekday';
- return Array("2010-BELCMAST-Weekday-15","2010-TUGGMAST-Weekday-14");
- }
-}
+ return Array("Weekday", "Weekday");
+ }
+}
+
function valid_service_ids() {
- return array_merge(service_ids(""),service_ids('saturday'),service_ids('sunday'));
+ return array_merge(service_ids(""), service_ids('saturday'), service_ids('sunday'),
+ Array("Christmas2011","Weekday-EndOfYearHolidays","Weekday-SchoolVacation"));
}
function midnight_seconds($time = "") {
--- a/include/db/route-dao.inc.php
+++ b/include/db/route-dao.inc.php
@@ -46,11 +46,11 @@
function getRouteHeadsigns($routeID) {
global $conn;
- $query = "select stops.stop_name, direction_id,max(service_id) as service_id, count(*)
+ $query = "select stops.stop_name, trip_headsign, direction_id,max(service_id) as service_id, count(*)
from routes join trips on trips.route_id = routes.route_id
join stop_times on stop_times.trip_id = trips.trip_id join stops on
stop_times.stop_id = stops.stop_id where trips.route_id = :routeID
-and stop_times.stop_sequence = 1 group by stops.stop_name, direction_id having count(*) > 2";
+and stop_times.stop_sequence = 1 group by stops.stop_name, trip_headsign, direction_id having count(*) > 2";
debug($query, "database");
$query = $conn->prepare($query);
$query->bindParam(":routeID", $routeID);
@@ -260,25 +260,24 @@
$service_ids = service_ids($service_period);
$sidA = $service_ids[0];
$sidB = $service_ids[1];
+
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_periodA OR service_id=:service_periodB)
+WHERE stop_desc LIKE :suburb AND (service_id=:service_periodA OR service_id=:service_periodB)
ORDER BY route_short_name";
debug($query, "database");
$query = $conn->prepare($query);
$query->bindParam(":service_periodA", $sidA);
$query->bindParam(":service_periodB", $sidB);
- $query->bindParam(":service_period", $service_period);
- $suburb = "%" . $suburb . ";%";
+ $suburb = "%Suburb: %" . $suburb . "%";
$query->bindParam(":suburb", $suburb);
$query->execute();
- if (!$query) {
- databaseError($conn->errorInfo());
- return Array();
- }
+
+ databaseError($conn->errorInfo());
+
return $query->fetchAll();
}
--- a/index.php
+++ b/index.php
@@ -20,7 +20,7 @@
<div data-role="page">
<div data-role="content">
<div id="jqm-homeheader">
- <h1>busness time</h1><br><small>Canberra Bus Timetables and Trip Planner</small>
+ <h1>busness time</h1><br><small>Canberra Bus Timetables and Trip Planner</small>
</div>
<a name="maincontent" id="maincontent"></a>
<a href="tripPlanner.php" data-role="button" data-icon="navigation">Launch Trip Planner...</a>
@@ -38,8 +38,12 @@
<li><a class="nearby" href="routeList.php?nearby=yes">Nearby Routes</a></li>
</ul>
<?php
+ print_r(getServiceOverride(time()));
+ echo service_period(time());
+ print_r(service_ids(service_period(time())));
echo ' <a href="labs/index.php" data-role="button" data-icon="beaker">Busness R&D</a>';
echo ' <a href="myway/index.php" data-role="button">MyWay Balance and Timeliness Survey Results</a>';
+
include_footer(true)
?>
--- a/routeList.php
+++ b/routeList.php
@@ -18,6 +18,7 @@
include ('include/common.inc.php');
function navbar() {
+
echo '
<div data-role="navbar">
<ul>
@@ -28,6 +29,42 @@
</ul>
</div>
';
+}
+
+function displayRoutes($routes) {
+ global $nearby;
+ echo ' <ul data-role="listview" data-filter="true" data-inset="true" >';
+ $filteredRoutes = Array();
+ foreach ($routes as $route) {
+ foreach (getRouteHeadsigns($route['route_id']) as $headsign) {
+ $start = $headsign['stop_name'];
+ $serviceday = service_period_day($headsign['service_id']);
+ $key = $route['route_short_name'] . "." . $headsign['direction_id'];
+ if (isset($filteredRoutes[$key])) {
+ $filteredRoutes[$key]['route_ids'][] = $route['route_id'];
+ $filteredRoutes[$key]['route_ids'] = array_unique($filteredRoutes[$key]['route_ids']);
+ } else {
+ $filteredRoutes[$key]['route_short_name'] = $route['route_short_name'];
+ $filteredRoutes[$key]['route_long_name'] = "starting at " . $start;
+ $filteredRoutes[$key]['service_id'] = $serviceday;
+ $filteredRoutes[$key]['trip_headsign'] = $headsign['trip_headsign'].(strstr($headsign['trip_headsign'], "bound") ===false ?"bound":"");
+ $filteredRoutes[$key]['direction_id'] = $headsign['direction_id'];
+ if (isset($nearby)) {
+ $filteredRoutes[$key]['distance'] = $route['distance'];
+ }
+ }
+ }
+ }
+ foreach ($filteredRoutes as $key => $route) {
+ echo '<li> <a href="trip.php?routeids=' . implode(",", $route['route_ids']) . '&directionid=' . $route['direction_id'] . '"><h3>' . $route['route_short_name'] . "</h3>
+
+ <p>" . $route['trip_headsign'].", ". $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>";
+ if (isset($nearby)) {
+ $time = getRouteAtStop($route['route_id'], $route['stop_id']);
+ echo '<span class="ui-li-count">' . ($time['arrival_time'] ? $time['arrival_time'] : "No more trips today") . "<br>" . floor($route['distance']) . 'm away</span>';
+ }
+ echo" </a></li>\n";
+ }
}
if (isset($bysuburbs)) {
@@ -46,37 +83,32 @@
}
}
echo '</ul>';
-} else if (isset($nearby) || isset($suburb)) {
- $routes = Array();
+} else if (isset($suburb)) {
+
if ($suburb) {
include_header($suburb . " - " . ucwords(service_period()), "routeList");
navbar();
- timePlaceSettings();
+ timeSettings();
trackEvent("Route Lists", "Routes By Suburb", $suburb);
- $routes = getRoutesBySuburb($suburb);
+ displayRoutes(getRoutesBySuburb($suburb));
}
- if (isset($nearby)) {
- include_header("Routes Nearby", "routeList", true, true);
- trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'] . "," . $_SESSION['lon']);
- navbar();
- placeSettings();
- if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") {
- include_footer();
- die();
- }
- $routes = getRoutesNearby($_SESSION['lat'], $_SESSION['lon']);
+} else if (isset($nearby)) {
+ $routes = Array();
+ include_header("Routes Nearby", "routeList", true, true);
+ trackEvent("Route Lists", "Routes Nearby", $_SESSION['lat'] . "," . $_SESSION['lon']);
+ navbar();
+ placeSettings();
+ if (!isset($_SESSION['lat']) || !isset($_SESSION['lat']) || $_SESSION['lat'] == "" || $_SESSION['lon'] == "") {
+ include_footer();
+ die();
}
- echo ' <ul data-role="listview" data-filter="true" data-inset="true" >';
- if ($routes) {
- foreach ($routes as $route) {
- echo '<li><a href="trip.php?routeid=' . $route['route_id'] . '"><h3>' . $route['route_short_name'] . "</h3><p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>";
- if (isset($nearby)) {
- $time = getRouteAtStop($route['route_id'], $route['stop_id']);
- echo '<span class="ui-li-count">' . ($time['arrival_time'] ? $time['arrival_time'] : "No more trips today") . "<br>" . floor($route['distance']) . 'm away</span>';
- }
- echo "</a></li>\n";
- }
+ $routes = getRoutesNearby($_SESSION['lat'], $_SESSION['lon']);
+
+
+ if (sizeof($routes) > 0) {
+ displayRoutes($routes);
} else {
+ echo ' <ul data-role="listview" data-filter="true" data-inset="true" >';
echo "<li style='text-align: center;'> No routes nearby.</li>";
}
} else if (isset($bynumber) || isset($numberSeries)) {
@@ -118,39 +150,14 @@
}
}
else if ($numberSeries) {
- $routes = getRoutesByNumberSeries($numberSeries);
- $filteredRoutes = Array();
- foreach ($routes as $route) {
- foreach (getRouteHeadsigns($route['route_id']) as $headsign) {
- $start = $headsign['stop_name'];
- $serviceday = service_period_day ( $headsign['service_id']);
- $key = $route['route_short_name'].".".$headsign['direction_id'];
- if (isset($filteredRoutes[$key])) {
- $filteredRoutes[$key]['route_ids'][] = $route['route_id'];
- $filteredRoutes[$key]['route_ids'] = array_unique($filteredRoutes[$key]['route_ids']);
- } else {
- $filteredRoutes[$key]['route_short_name'] = $route['route_short_name'];
- $filteredRoutes[$key]['route_long_name'] = "Starting at ".$start;
- $filteredRoutes[$key]['service_id'] = $serviceday;
- $filteredRoutes[$key]['direction_id'] = $headsign['direction_id'];
- }
- }
- }
- foreach ($filteredRoutes as $key => $route) {
- echo '<li> <a href="trip.php?routeids=' . implode(",",$route['route_ids']) . '&directionid='.$route['direction_id'].'"><h3>' . $route['route_short_name'] . "</h3>
-
- <p>" . $route['route_long_name'] . " (" . ucwords($route['service_id']) . ")</p>
- </a></li>\n";
- }
+ displayRoutes(getRoutesByNumberSeries($numberSeries));
}
} else {
include_header("Routes by Destination", "routeList");
navbar();
echo ' <ul data-role="listview" data-inset="true">';
if (isset($routeDestination)) {
- foreach (getRoutesByDestination($routeDestination) as $route) {
- echo '<li><a href="trip.php?routeid=' . $route["route_id"] . '"><h3>' . $route["route_short_name"] . '</h3><p>' . $route["route_long_name"] . " (" . ucwords($route['service_id']) . ")</p></a></li>\n";
- }
+ displayRoutes(getRoutesByDestination($routeDestination));
} else {
foreach (getRoutesByDestination() as $destination) {
echo '<li><a href="' . curPageURL() . '/routeList.php?routeDestination=' . urlencode($destination['route_long_name']) . '">' . $destination['route_long_name'] . "... </a></li>\n";
--- a/servicealerts/importer.py
+++ b/servicealerts/importer.py
@@ -1,5 +1,3 @@
-#dependencies http://code.google.com/p/python-twitter/
-
# info
# http://stackoverflow.com/questions/4206882/named-entity-recognition-with-preset-list-of-names-for-python-php/4207128#4207128
# http://alias-i.com/lingpipe/demos/tutorial/ne/read-me.html approximate dist
@@ -12,11 +10,17 @@
# http://esa.act.gov.au/feeds/currentincidents.xml
# source: https://gist.github.com/322906/90dea659c04570757cccf0ce1e6d26c9d06f9283
+# to install python -m nltk.downloader punkt
import nltk
-import twitter
+import tweepy
import psycopg2
+import pickle
+
+from iniparse import INIConfig
+
def insert_service_alert_sitewide(heading, message, url):
-
+ print "NaN"
+
def insert_service_alert_for_street(streets, heading, message, url):
conn_string = "host='localhost' dbname='energymapper' user='postgres' password='snmc'"
# print the connection string we will use to connect
@@ -29,30 +33,22 @@
cursor = conn.cursor()
# execute our Query
- cursor.execute("select max(value), extract(dow from max(time)) as dow, \
-extract(year from max(time))::text || lpad(extract(month from max(time))::text,2,'0') \
-|| lpad(extract(month from max(time))::text,2,'0') as yearmonthweek, to_char(max(time),'J') \
-from environmentdata_values where \"dataSourceID\"='NSWAEMODemand' \
-group by extract(dow from time), extract(year from time), extract(week from time) \
-order by extract(year from time), extract(week from time), extract(dow from time)")
+ cursor.execute("")
# retrieve the records from the database
records = cursor.fetchall()
for record in records:
ys.append(record[0])
-# >>> cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar'))
-#>>> cur.statusmessage
-#'INSERT 0 1'
+ # >>> cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar'))
+ #>>> cur.statusmessage
+ #'INSERT 0 1'
except:
# Get the most recent exception
exceptionType, exceptionValue, exceptionTraceback = sys.exc_info()
# Exit the script and print an error telling what happened.
sys.exit("Database connection failed!\n ->%s" % (exceptionValue))
-def get_tweets(user):
- tapi = twitter.Api()
- return tapi.GetUserTimeline(user)
def extract_entity_names(t):
entity_names = []
@@ -86,3 +82,23 @@
# Print unique entity names
print set(entity_names)
+cfg = INIConfig(open('/tmp/aws.ini'))
+
+auth = tweepy.OAuthHandler(cfg.api_keys.twitter_consumer_key, cfg.api_keys.twitter_consumer_secret)
+auth.set_access_token(cfg.api_keys.twitter_access_token, cfg.api_keys.twitter_access_token_secret)
+
+#api = tweepy.API(auth)
+api = tweepy.API()
+# If the authentication was successful, you should
+# see the name of the account print out
+#print api.me().name
+# https://github.com/tweepy/tweepy/blob/master/tweepy/api.py
+for status in api.user_timeline(screen_name="ACTPol_Traffic",exclude_replies='true'):
+ print status.text
+ print status.created_at
+ print extract_names(status.text)
+# print api.update_status(status="test")
+
+last_tweet_ids = { "lion": "111", "kitty": "2222" }
+pickle.dump( last_tweet_ids, open( "save.p", "wb" ) )
+last_tweet_ids = pickle.load( open( "save.p", "rb" ) )
--- /dev/null
+++ b/servicealerts/punkt.zip
--- a/stop.php
+++ b/stop.php
@@ -96,29 +96,7 @@
));
}
-// time settings
-echo '<div id="settings" data-role="collapsible" data-collapsed="true">
-<h3>Change Time (' . (isset($_SESSION['time']) ? $_SESSION['time'] : "Current Time,") . ' ' . ucwords(service_period()) . ')...</h3>
- <form action="' . basename($_SERVER['PHP_SELF']) . "?" . $_SERVER['QUERY_STRING'] . '" method="post">
- <div class="ui-body">
- <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().toString().length == 1 ? '0'+ d.getMinutes(): d.getMinutes()));" . '">Current Time?</a>
- </div>
- <div data-role="fieldcontain">
- <label for="service_period"> Service Period: </label>
- <select name="service_period" id="service_period">';
-foreach ($service_periods as $service_period) {
- echo "<option value=\"$service_period\"" . (service_period() === $service_period ? " SELECTED" : "") . '>' . ucwords($service_period) . '</option>';
-}
-echo '</select>
- <a href="#" style="display:none" name="currentPeriod" id="currentPeriod">Current Period?</a>
- </div>
-
- <input type="submit" value="Update"/>
- </div></form>
- </div>';
+timeSettings();
echo '</span><span class="content-primary">';
echo ' <ul data-role="listview" data-inset="true">';
@@ -128,14 +106,34 @@
} else {
$trips = getStopTripsWithTimes($stopid);
}
+echo "<div class='ui-header' style='overflow: visible; height: 2.5em'>";
+// later/earlier button setup
+if (sizeof($trips) == 0) {
+ $time = isset($_REQUEST['time']) ? strtotime($_REQUEST['time']) : time();
+ $earlierTime = $time - (90 * 60);
+ $laterTime = $time + (90 * 60);
+} else {
+ $earlierTime = strtotime($trips[0]['arrival_time']) - (90 * 60);
+ $laterTime = strtotime($trips[sizeof($trips) - 1]['arrival_time']) - 60;
+}
+if (sizeof($stopids) > 0) {
+ $stopidurl = "stopids=" . implode(",", $stopids);
+} else {
+ $stopidurl = "stopid=$stopid";
+}
+if (sizeof($trips) > 10) {
+ echo '<a href="stop.php?' . $stopidurl . '&service_period=' . service_period() . '&time=' . date("H:i", $laterTime) . '" data-icon="arrow-r" class="ui-btn-right">Later Trips</a>';
+}
+echo '<a href="stop.php?' . $stopidurl . '&service_period=' . service_period() . '&time=' . date("H:i", $earlierTime) . '" data-icon="arrow-l" class="ui-btn-left">Earlier Trips</a>';
+echo "</div>";
if (sizeof($trips) == 0) {
echo "<li style='text-align: center;'>No trips in the near future.</li>";
} else {
foreach ($trips as $trip) {
echo '<li>';
-
- $destination = getTripDestination($trip['trip_id']);
- echo '<a href="trip.php?stopid=' . $stopid . '&tripid=' . $trip['trip_id'] . '"><h3>' . $trip['route_short_name'] . " towards " . $destination['stop_name'] . "</h3><p>";
+
+ $destination = getTripDestination($trip['trip_id']);
+ echo '<a href="trip.php?stopid=' . $stopid . '&tripid=' . $trip['trip_id'] . '"><h3>'. (service_period() == "Christmas2011" ? $trip['route_long_name'] : "") . $trip['route_short_name'] . " towards " . $destination['stop_name'] . "</h3><p>";
$viaPoints = viaPointNames($trip['trip_id'], $trip['stop_sequence']);
if ($viaPoints != "")
echo '<br><span class="viaPoints">Via: ' . $viaPoints . '</span>';
--- a/stopList.php
+++ b/stopList.php
@@ -102,7 +102,7 @@
// subsequent duplicates
$stopsGrouped["stop_ids"][] = $stop['stop_id'];
echo '<li>';
- echo '<a href="stop.php?stopids=' . implode(",", $stopsGrouped['stop_ids']) . '">';
+ echo '<a href="stop.php?stopids=' . implode(",", $stopsGrouped['stop_ids']) . '&stopcodes=' . implode(",", $stopsGrouped['stop_codes']) . '">';
if (isset($_SESSION['lat']) && isset($_SESSION['lon'])) {
echo '<span class="ui-li-count">' . distance($stop['stop_lat'], $stop['stop_lon'], $_SESSION['lat'], $_SESSION['lon'], true) . 'm away</span>';
}
--- a/trip.php
+++ b/trip.php
@@ -27,7 +27,7 @@
$tripid = $trip['trip_id'];
} else {
$trip = getTrip($tripid);
- $similarRoutes = getRoutesByNumber($trip['route_short_name'], $trip['direction_id'], service_period_day($trip["service_id"]));
+ $similarRoutes = getRoutesByNumber($trip['route_short_name'], $trip['direction_id'], strtolower($trip["service_id"]));
$routeids = Array();
foreach ($similarRoutes as $similarRoute) {
$routeids[] = $similarRoute['route_id'];
@@ -35,7 +35,7 @@
$routeids = array_unique($routeids);
}
$directionid = $trip['direction_id'];
-$service_period = service_period_day($trip["service_id"]);
+$service_period = strtolower($trip["service_id"]);
$destination = getTripDestination($trip['trip_id']);
include_header("Stops on " . $trip['route_short_name'] . ' ' . $destination['stop_name'], "trip");
trackEvent("Route/Trip View", "View Route", $trip['route_short_name'] . ' ' . $destination['stop_name'], $routeid);
@@ -64,11 +64,11 @@
foreach (getRoutesByNumber($trip['route_short_name']) as $row) {
foreach (getRouteHeadsigns($row['route_id']) as $headsign) {
- if ( $headsign['direction_id'] != $directionid || service_period_day($headsign['service_id']) != $service_period) {
- echo "{$headsign['direction_id']} != $directionid || ".service_period_day($headsign['service_id'])." != $service_period <br>";
+ if ( $headsign['direction_id'] != $directionid || strtolower($headsign['service_id']) != $service_period) {
+ echo "{$headsign['direction_id']} != $directionid || ".strtolower($headsign['service_id'])." != $service_period <br>";
$start = $headsign['stop_name'];
- $serviceday = service_period_day($headsign['service_id']);
+ $serviceday = strtolower($headsign['service_id']);
$key = $row['route_short_name'] . "." . $headsign['direction_id'];
if (isset($filteredRoutes[$key])) {
$filteredRoutes[$key]['route_ids'][] = $row['route_id'];
@@ -83,7 +83,7 @@
}
}
foreach ($filteredRoutes as $key => $row) {
- echo '<a href="trip.php?routeids=' . implode(",",$row['route_ids']) . '&directionid='.$row['direction_id'].'">' . $row['route_long_name'] . ' (' . ucwords($row['service_id']) . ')</a> ';
+ echo '<a href="trip.php?routeids=' . implode(",",$row['route_ids']) . '&directionid='.$row['direction_id'].'&service_period='.$row['service_id'].'">' . $row['route_long_name'] . ' (' . ucwords($row['service_id']) . ')</a> ';
$otherDir++;
}
@@ -102,7 +102,7 @@
echo ' <ul data-role="listview" data-inset="true">';
$stopsGrouped = Array();
$tripStopTimes = getTripStopTimes($tripid);
-echo '<li data-role="list-divider">' . $tripStopTimes[0]['arrival_time'] . ' to ' . $tripStopTimes[sizeof($tripStopTimes) - 1]['arrival_time'] . ' towards ' . $destination['stop_name'] . ' (' . ucwords(service_period_day($tripStopTimes[0]['service_id'])) . ')</li>';
+echo '<li data-role="list-divider">' . $tripStopTimes[0]['arrival_time'] . ' to ' . $tripStopTimes[sizeof($tripStopTimes) - 1]['arrival_time'] . ' towards ' . $destination['stop_name'] . ' (' . ucwords(strtolower($tripStopTimes[0]['service_id'])) . ')</li>';
foreach ($tripStopTimes as $key => $tripStopTime) {
if ($key + 1 > sizeof($tripStopTimes) || stopCompare($tripStopTimes[$key]["stop_name"]) != stopCompare($tripStopTimes[$key + 1]["stop_name"])) {
echo '<li>';
--- a/tripPlanner.php
+++ b/tripPlanner.php
@@ -182,7 +182,99 @@
curl_close($ch);
}
} else {
+ $overrides = getServiceOverride();
+ if (isset($overrides['service_id'])) {
+ echo "Sorry, due to the modified timetable, this trip planner won't work correctly today. Instead, use the Google Maps one below:";
+ echo '
+<script language="javascript">
+ // make some ezamples
+ var startExample = "Gungahlin, ACT";
+ var endExample = "Bunda St, Canberra";
+ var zip = "2600";
+ var urlToGoTo = "http://www.google.com/maps?ie=UTF8&f=d&" ;
+
+ function buildURL(){