Fix myway_timeliness_route
--- /dev/null
+++ b/.gitmodules
@@ -1,1 +1,4 @@
+[submodule "lib/amon-php"]
+ path = lib/amon-php
+ url = https://github.com/martinrusev/amon-php.git
--- a/about.php
+++ b/about.php
@@ -20,8 +20,8 @@
<p>
Busness Time - An ACT bus timetable webapp<br />
Based on the maxious-canberra-transit-feed (<a
- href="http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip">download</a>,
- last updated <?php echo date("F d Y.", @filemtime('cbrfeed.zip')); ?>)<br />
+ href="http://busresources.lambdacomplex.org/cbrfeed.zip">download</a>,
+ last updated <?php echo date("F d Y.", @filemtime('../busresources/cbrfeed.zip')); ?>)<br />
Source code for the <a
href="https://github.com/maxious/ACTBus-data">transit
feed</a> and <a href="https://github.com/maxious/ACTBus-ui">this
--- a/aws/busuidb.sh
+++ b/aws/busuidb.sh
@@ -7,10 +7,10 @@
psql -d transitdata -f /var/www/transitdata.cbrfeed.sql
#createuser transitdata -SDRP
#password transitdata
-#psql -d transitdata -c "GRANT SELECT ON TABLE agency,calendar,calendar_dates,routes,stop_times,stops,trips\
-#,servicealerts_alerts,servicealerts_informed TO transitdata;"
-#psql -d transitdata -c "GRANT SELECT,INSERT ON TABLE myway_observations,myway_routes,myway_stops,myway_timingdeltas TO transitdata;"
-#psql -d transitdata -c "GRANT SELECT,INSERT,UPDATE ON TABLE myway_routes,myway_stops TO transitdata;"
+#psql -d transitdata -c "GRANT SELECT ON TABLE agency,calendar,calendar_dates,routes,stop_times,stops,trips TO transitdata;"
+#psql -d transitdata -c "GRANT SELECT,INSERT ON TABLE myway_observations,myway_timingdeltas,myway_routes,myway_stops TO transitdata;"
+#psql -d transitdata -c "GRANT SELECT,INSERT,UPDATE ON TABLE servicealerts_alerts,servicealerts_informed TO transitdata;"
+#psql -d transitdata -c "GRANT USAGE,SELECT ON SEQUENCE servicealerts_alerts_id_seq TO transitdata;"
##psql -d transitdata -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO transitdata;"
## INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
##SELECT '', 'public', 'shapes', 'shape_pt', ST_CoordDim(shape_pt), ST_SRID(shape_pt), GeometryType(shape_pt)
--- a/css/local.css.php
+++ b/css/local.css.php
@@ -55,7 +55,7 @@
visibility: hidden;
display: none;
}
- #servicewarning {
+ .servicewarning {
padding: 1em;
margin-bottom: 0.5em;
text-size: 0.2em;
--- a/feedback.php
+++ b/feedback.php
@@ -67,7 +67,7 @@
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: ".date("c",@filemtime('cbrfeed.zip'));
+ echo "\nCurrent timetables version: ".date("c",@filemtime('../busresources/cbrfeed.zip'));
echo "\nDump of session: ".print_r($_SESSION,true);
?>
</textarea>
--- a/include/common-geo.inc.php
+++ b/include/common-geo.inc.php
@@ -58,8 +58,8 @@
$output = "";
if ($collapsible)
$output.= '<div class="map" data-role="collapsible" data-collapsed="true"><h3>Open Map...</h3>';
- if (isIOSDevice()) $output.= '<img class="hiresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&' . $markers . '&scale=2&sensor=true" width=' . $width . ' height=' . $height . '>';
- else $output.= '<img class="lowresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&' . $markers . '&scale=1&format=jpg&sensor=true" width=' . $width . ' height=' . $height . '>';
+ if (isIOSDevice()) $output.= '<img class="hiresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&' . $markers . '&scale=2&sensor=true" width=' . $width . ' height=' . $height . ' alt="map of stop location">';
+ else $output.= '<img class="lowresmap" src="http://maps.googleapis.com/maps/api/staticmap?size=' . $width . 'x' . $height . '&' . $markers . '&scale=1&format=jpg&sensor=true" width=' . $width . ' height=' . $height . ' alt="map of stop location">';
if ($collapsible)
$output.= '</div>';
--- a/include/common-request.inc.php
+++ b/include/common-request.inc.php
@@ -51,6 +51,9 @@
if (isset($_REQUEST['routeDestination'])) {
$routeDestination = urldecode(filter_var($_REQUEST['routeDestination'], FILTER_SANITIZE_ENCODED));
}
+if (isset($_REQUEST['routename'])) {
+ $routename = urldecode(filter_var($_REQUEST['routename'], FILTER_SANITIZE_ENCODED));
+}
if (isset($_REQUEST['stopcode'])) {
$stopcode = filter_var($_REQUEST['stopcode'], FILTER_SANITIZE_STRING);
}
--- a/include/common-template.inc.php
+++ b/include/common-template.inc.php
@@ -176,10 +176,10 @@
$overrides = getServiceOverride();
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
+ echo '<div class="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>';
} else {
- echo '<div id="servicewarning">Buses are running on an altered timetable today 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>';
+ echo '<div class="servicewarning">Buses are running on an altered timetable today 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>';
}
}
$serviceAlerts = Array();
@@ -204,7 +204,7 @@
}
if (isset($serviceAlerts['entity']) && sizeof($serviceAlerts['entity']) > 0) {
foreach ($serviceAlerts['entity'] as $entity) {
- echo "<div id='servicewarning'><b>{$entity['alert']['header_text']['translation'][0]['text']}</b> <small>"
+ echo "<div class='servicewarning'><b>{$entity['alert']['header_text']['translation'][0]['text']}</b> <small>"
. date("F jS Y, g:i a", $entity['alert']['active_period'][0]['start']) . " to "
. date("F jS Y, g:i a", $entity['alert']['active_period'][0]['end']) . "</small>
<br>Warning: {$entity['alert']['description_text']['translation'][0]['text']}
--- a/include/common.inc.php
+++ b/include/common.inc.php
@@ -61,6 +61,12 @@
|| $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || $_SERVER['SERVER_NAME'] == "192.168.1.8" || $_SERVER['SERVER_NAME'] == "192.168.178.24");
}
+if (isset($_SERVER['SERVER_NAME']) && $_SERVER['SERVER_NAME'] == "maxious.xen.prgmr.com") {
+// Set the exception handler
+require $basePath."/lib/amon-php/amon.php";
+Amon::setup_exception_handler();
+}
+
include_once ("common-geo.inc.php");
include_once ("common-net.inc.php");
include_once ("common-transit.inc.php");
--- a/include/db/route-dao.inc.php
+++ b/include/db/route-dao.inc.php
@@ -125,7 +125,7 @@
function getRouteNextTrip($routeID, $directionID) {
global $conn;
- $query = "select routes.route_id,direction_id,trips.trip_id,trip_headsign,departure_time,service_id from routes join trips on trips.route_id = routes.route_id
+ $query = "select routes.route_id,routes.route_url,direction_id,trips.trip_id,trip_headsign,departure_time,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 arrival_time between :currentTime and :futureTime
and routes.route_id = :routeID and trips.direction_id = :directionID order by
arrival_time limit 1";
--- /dev/null
+++ b/lib/amon-php
--- a/myway/myway_timeliness_route.json.php
+++ b/myway/myway_timeliness_route.json.php
@@ -21,12 +21,12 @@
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
?>
{
-"label": "<?php echo $_REQUEST['routeid']; ?>",
+"label": "<?php echo $routename; ?>",
"data": <?php
-$query = "select * from myway_timingdeltas where route_name = :route_name AND abs(timing_delta) < 2*(select stddev(timing_delta) from myway_timingdeltas) order by stop_sequence;";
+$query = "select * from myway_timingdeltas where route_name = :route_name
+AND abs(timing_delta) < 2*(select stddev(timing_delta) from myway_timingdeltas) order by stop_sequence;";
$query = $conn->prepare($query);
-$_REQUEST['routeid'].=" ";
-$query->bindParam(':route_name', $_REQUEST['routeid'], PDO::PARAM_STR);
+$query->bindParam(':route_name', $routename, PDO::PARAM_STR);
$query->execute();
if (!$query) {
@@ -39,3 +39,4 @@
echo "[" . implode(",", $points) . "]";
?>
}
+
--- a/myway/myway_timeliness_route.php
+++ b/myway/myway_timeliness_route.php
@@ -22,7 +22,7 @@
<script language="javascript" type="text/javascript" src="../js/flot/jquery.flot.js"></script>
<form method="get" action="">
- <select id="routeid" name="routeid">
+ <select id="routename" name="routename">
<?php
$query = "select distinct route_name from myway_timingdeltas order by route_name";
$query = $conn->prepare($query);
@@ -59,12 +59,12 @@
// fetch one series, adding to what we got
var alreadyFetched = {};
- $("#routeid").change(function () {
+ $("#routename").change(function () {
var select = $(this);
// find the URL in the link right next to us
// var dataurl = button.siblings('a').attr('href');
- var dataurl = "myway_timeliness_route.json.php?routeid=" + select.val();
+ var dataurl = "myway_timeliness_route.json.php?routename=" + select.val();
// then fetch the data with jQuery
function onDataReceived(series) {
// extract the first coordinate pair so you can see that
--- a/rtpis/servicealert_editor.php
+++ b/rtpis/servicealert_editor.php
@@ -35,18 +35,18 @@
echo "Saved " . $_REQUEST['saveedit'];
die();
}
-if ($_REQUEST['delete']) {
+if (isset($_REQUEST['delete'])) {
$deleteParts = explode(";", $_REQUEST['delete']);
deleteInformedAlert($deleteParts[0], $deleteParts[1], $deleteParts[2]);
echo "Deleted network inform for {$deleteParts[0]} ({$deleteParts[1]},{$deleteParts[2]})<br>\n";
die();
}
-if ($_REQUEST['networkinform']) {
+if (isset($_REQUEST['networkinform'])) {
addInformedAlert($_REQUEST['networkinform'], "agency", "0", "inform");
echo "Added network inform for" . $_REQUEST['networkinform'];
die();
}
-if ($_REQUEST['stopsearch']) {
+if (isset($_REQUEST['stopsearch'])) {
addInformedAlert($_REQUEST['stopsearch'], "stop", $_REQUEST['stopid'], "remove");
echo "Added stop remove for" . $_REQUEST['stopsearch'] . ", stop" . $_REQUEST['stopid'] . "<br>\n";
@@ -59,7 +59,7 @@
}
die();
}
-if ($_REQUEST['streetsearch']) {
+if (isset($_REQUEST['streetsearch'])) {
echo "Informing stops of street<br>\n";
foreach (getStopsByName($_REQUEST['street']) as $stop) {
@@ -87,7 +87,7 @@
?>
</table>
<?php
-$alert = getServiceAlert($_REQUEST['edit']);
+$alert = getServiceAlert((isset($_REQUEST['edit'])?$_REQUEST['edit']:""));
?>
<form action="<?php echo basename(__FILE__);
?>" method="get">
@@ -95,19 +95,21 @@
<div data-role="fieldcontain">
<label for="startdate"> Start Date</label>
<input type="text" name="startdate" id="startdate" value="<?php
- if ($alert['start'])
+ if ($alert['start']) {
echo date("c", $alert['start']);
- else
+ } else {
echo date("c", strtotime("0:00"));
+}
?>" />
</div>
<div data-role="fieldcontain">
<label for="enddate"> End Date </label>
<input type="text" name="enddate" id="enddate" value="<?php
- if ($alert['end'])
+ if ($alert['end']) {
echo date("c", $alert['end']);
- else
+ } else {
echo date("c", strtotime("23:59"));
+}
?>" />
</div>
<div data-role="fieldcontain">
@@ -141,12 +143,12 @@
}
?>
</select></div>
- <input type="hidden" name="saveedit" value="<?php echo $_REQUEST['edit']; ?>"/>
+ <input type="hidden" name="saveedit" value="<?php if (isset($_REQUEST['edit']))echo $_REQUEST['edit']; ?>"/>
<input type="submit" value="Save"/>
</div></form>
<?php
-if ($_REQUEST['edit']) {
+if (isset($_REQUEST['edit'])) {
echo "Informed Entities for ID {$_REQUEST['edit']}:";
echo '<table>';
foreach (getInformedAlerts($_REQUEST['edit'], "", "") as $informed) {
--- a/stop.php
+++ b/stop.php
@@ -16,8 +16,9 @@
limitations under the License.
*/
include ('include/common.inc.php');
-if ($stopid)
+if (isset($stopid)) {
$stop = getStop($stopid);
+}
/* if ($stopcode != "" && $stop[5] != $stopcode) {
$url = $APIurl . "/json/stopcodesearch?q=" . $stopcode;
$stopsearch = json_decode(getPage($url));
@@ -85,7 +86,7 @@
echo '<div id="servicewarning">'.$serviceAlert['alert']['description']['translation'].'</div>';
} */
-echo '<span class="content-secondary">';
+echo '<div class="content-secondary">';
echo $stopLinks;
if (sizeof($stops) > 0) {
trackEvent("View Stops", "View Combined Stops", $stop["stop_name"], $stop["stop_id"]);
@@ -102,7 +103,7 @@
timeSettings();
-echo '</span><span class="content-primary">';
+echo '</div><div class="content-primary">';
echo ' <ul data-role="listview" data-inset="true">';
if (sizeof($allStopsTrips) > 0) {
sktimesort($allStopsTrips, "arrival_time", true);
@@ -173,7 +174,7 @@
}
}
echo '</ul>';
-echo '</span>';
+echo '</div>';
include_footer();
?>
--- a/stopList.php
+++ b/stopList.php
@@ -60,7 +60,7 @@
die();
}
$stops = getNearbyStops($_SESSION['lat'], $_SESSION['lon'], 15);
- echo '<span class="content-secondary">';
+ echo '<div class="content-secondary">';
$stopPositions[] = Array(
$_SESSION['lat'],
$_SESSION['lon']
@@ -73,7 +73,7 @@
}
echo staticmap($stopPositions, true, true);
placeSettings();
- echo '</span><span class="content-primary">';
+ echo '</div><div class="content-primary">';
} else if (isset($suburb)) {
$stops = getStopsBySuburb($suburb);
include_header("Stops in " . ucwords($suburb), "stopList");
@@ -144,8 +144,9 @@
}
}
echo '</ul>';
- if (isset($nearby))
- echo '</span>';
+ if (isset($nearby)) {
+ echo '</div>';
+}
}
include_footer();
?>
--- a/trip.php
+++ b/trip.php
@@ -33,7 +33,7 @@
$destination = getTripDestination($trip['trip_id']);
include_header("Route " . $trip['route_id'] . ' to ' . $destination['stop_name'], "trip");
trackEvent("Route/Trip View", "View Route", $trip['route_id'] . ' ' . $destination['stop_name'], $routeid);
-echo '<span class="content-secondary">';
+echo '<div class="content-secondary">';
echo '<a href="' . $trip['route_url'] . '">View Original Timetable/Map</a> ';
echo '<a href="geo/trip.kml.php?tripid='.$tripid.'">View Trip in Google Earth</a> ';
echo '<a href="geo/route.kml.php?routeid='.$routeid.'">View Route in Google Earth</a>';
@@ -59,7 +59,7 @@
foreach (getRouteHeadsigns($routeid) as $headsign) {
if ($headsign['direction_id'] != $directionid || strtolower($headsign['service_id']) != $service_period) {
- echo '<a href="trip.php?routeid=' . $routeid . '&directionid=' . $headsign['direction_id'] . '&service_period=' . $headsign['service_id'] . '"> Starting at ' . $headsign['stop_name'] . ' (' . $headsign['service_id'] . ')</a> ';
+ echo '<a href="trip.php?routeid=' . $routeid . '&directionid=' . $headsign['direction_id'] . '&service_period=' . $headsign['service_id'] . '"> Starting at ' . $headsign['stop_name'] . ' (' . $headsign['service_id'] . ')</a> ';
$otherDir++;
}
}
@@ -67,7 +67,7 @@
if ($otherDir == 0) {
echo "None";
}
-echo '</span><span class="content-primary">';
+echo '</div><div class="content-primary">';
flush();
@ob_flush();
echo "<div class='ui-header' style='overflow: visible; height: 1.5em'>";
@@ -83,7 +83,7 @@
$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(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"])) {
+ if ($key + 1 >= sizeof($tripStopTimes) || stopCompare($tripStopTimes[$key]["stop_name"]) != stopCompare($tripStopTimes[$key + 1]["stop_name"])) {
echo '<li>';
if (sizeof($stopsGrouped) > 0) {
@@ -134,7 +134,7 @@
}
}
echo '</ul>';
-echo '</span>';
+echo '</div>';
include_footer();
?>