Add service alert viewer for all users
--- a/aws/busuidb.sh
+++ b/aws/busuidb.sh
@@ -11,4 +11,7 @@
#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 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)
+##FROM shapes LIMIT 1;
php /var/www/updatedb.php
--- a/include/db/trip-dao.inc.php
+++ b/include/db/trip-dao.inc.php
@@ -33,17 +33,31 @@
}
return $query->fetch(PDO :: FETCH_ASSOC);
}
-
-function getTripShape($tripID) {
- // todo, use shapes table if shape_id specified
+function getTripStops($tripID) {
global $conn;
- $query = "SELECT ST_AsKML(ST_MakeLine(geometry(a.position))) as the_route
-FROM (SELECT position,
+ $query = "SELECT stop_id, stop_name, ST_AsKML(position) as positionkml,
stop_sequence, trips.trip_id
FROM stop_times
join trips on trips.trip_id = stop_times.trip_id
join stops on stops.stop_id = stop_times.stop_id
-WHERE trips.trip_id = :tripID ORDER BY stop_sequence) as a group by a.trip_id";
+WHERE trips.trip_id = :tripID ORDER BY stop_sequence";
+ debug($query, "database");
+ $query = $conn->prepare($query);
+ $query->bindParam(":tripID", $tripID);
+ $query->execute();
+ if (!$query) {
+ databaseError($conn->errorInfo());
+ return Array();
+ }
+ return $query->fetchColumn(0);
+}
+function getTripShape($tripID) {
+ // todo, use shapes table if shape_id specified
+ global $conn;
+ $query = "SELECT ST_AsKML(ST_MakeLine(geometry(a.shape_pt))) as the_route
+FROM (SELECT shapes.shape_id,shape_pt from shapes
+inner join trips on shapes.shape_id = trips.shape_id
+WHERE trips.trip_id = :tripID ORDER BY shape_pt_sequence) as a group by a.shape_id";
debug($query, "database");
$query = $conn->prepare($query);
$query->bindParam(":tripID", $tripID);
--- a/servicealerts/index.php
+++ b/servicealerts/index.php
@@ -2,12 +2,17 @@
include ('../include/common.inc.php');
include_header("Service Alerts", "index");
+echo '<ul data-role="listview" data-theme="e" data-groupingtheme="e">';
+
if ($_SESSION['authed'] == true) {
- echo '<ul data-role="listview" data-theme="e" data-groupingtheme="e">
- <li><a href="servicealert_editor.php"><h3>servicealert_editor</h3>
- <p>servicealert_editor</p></a></li>
- </ul>';
- }
+ echo' <li><a href="servicealert_editor.php"><h3>servicealert_editor</h3>
+ <p>servicealert_editor</p></a></li>';
+ }
+ echo' <li><a href="servicealert_viewer.php"><h3>Service Alert Viewer</h3>
+ <p>Browse current network alerts</p></a></li>';
+
+ echo' </ul>';
+
?> </div>
<?php
include_footer()
--- /dev/null
+++ b/servicealerts/servicealert_viewer.php
@@ -1,1 +1,53 @@
+<?php
+/*
+ * Copyright 2010,2011 Alexander Sadleir
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+include ('../include/common.inc.php');
+include_header("Service Alert Viewer", "serviceAlertViewer");
+/**
+ * Currently support:
+ * network inform
+ * stop remove: route patch, stop remove
+ * - stop search
+ * street inform: route inform, stop inform
+ * - street search
+ */
+if (!isset($_REQUEST['view'])) {
+
+?>
+Active and Future Alerts:
+<table>
+ <?php
+ foreach (getFutureAlerts() as $alert) {
+ echo "<tr><td>{$alert['header']}</td><td>" . substr($alert['description'], 0, 999) . '</td><td><a href="?view=' . $alert['id'] . '">View</a></td></tr>';
+ }
+ ?>
+</table>
+<?php
+} else {
+$alert = getServiceAlert($_REQUEST['view']);
+echo "<h1>{$alert['header']}</h1>
+<h2> From ".date("c",$alert['start'])." to ".date("c",$alert['end'])."</h2>
+<small>{$alert['description']}</small><br>
+Source: <A href='{$alert['url']}'>{$alert['url']}</a><br>";
+ echo "Informed Entities for ID {$_REQUEST['view']}:";
+ echo '<table>';
+ foreach (getInformedAlerts($_REQUEST['view'], "", "") as $informed) {
+ echo "<tr><td>{$informed['informed_class']}</td><td>{$informed['informed_id']}</td><td>{$informed['informed_action']}" . '</td></tr>';
+ }
+ echo '</table>';
+}
+include_footer();
+?>