Include network wide service alerts in page headers
--- a/aws/awsStartup.sh
+++ b/aws/awsStartup.sh
@@ -5,38 +5,9 @@
#postgres postgres-server php-pg
#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
-chmod -R 777 /var/www/lib/staticmaplite/cache
-chcon -R -t httpd_sys_content_rw_t /var/www/labs/tiles
-chmod -R 777 /var/www/labs/tiles
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \
--O /var/www/cbrfeed.zip
+sh busuiphp.sh
+sh busuidb.sh
+sh busuiotp.sh
-createdb transitdata
-createlang -d transitdata plpgsql
-psql -d transitdata -f /var/www/lib/postgis.sql
-# curl https://github.com/maxious/ACTBus-ui/raw/master/transitdata.cbrfeed.sql.gz -o transitdata.cbrfeed.sql.gz
-#made with pg_dump transitdata | gzip -c > transitdata.cbrfeed.sql.gz
-gunzip /var/www/transitdata.cbrfeed.sql.gz
-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 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 ALL TABLES IN SCHEMA public TO transitdata;"
-php /var/www/updatedb.php
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/Graph.obj \
--O /tmp/Graph.obj
-rm -rfv /usr/share/tomcat6/webapps/opentripplanner*
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-webapp.war \
--O /usr/share/tomcat6/webapps/opentripplanner-webapp.war
-wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-api-webapp.war \
--O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war
-/etc/init.d/tomcat6 restart
--- /dev/null
+++ b/aws/busuidb.sh
@@ -1,1 +1,14 @@
-
+createdb transitdata
+createlang -d transitdata plpgsql
+psql -d transitdata -f /var/www/lib/postgis.sql
+# curl https://github.com/maxious/ACTBus-ui/raw/master/transitdata.cbrfeed.sql.gz -o transitdata.cbrfeed.sql.gz
+#made with pg_dump transitdata | gzip -c > transitdata.cbrfeed.sql.gz
+gunzip /var/www/transitdata.cbrfeed.sql.gz
+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 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 ALL TABLES IN SCHEMA public TO transitdata;"
+php /var/www/updatedb.php
--- /dev/null
+++ b/aws/busuiotp.sh
@@ -1,1 +1,10 @@
+wget http://s3-ap-southeast-1.amazonaws.com/busresources/Graph.obj \
+-O /tmp/Graph.obj
+/etc/init.d/tomcat6 stop
+rm -rfv /usr/share/tomcat6/webapps/opentripplanner*
+wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-webapp.war \
+-O /usr/share/tomcat6/webapps/opentripplanner-webapp.war
+wget http://s3-ap-southeast-1.amazonaws.com/busresources/opentripplanner-api-webapp.war \
+-O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war
+/etc/init.d/tomcat6 restart
--- /dev/null
+++ b/aws/busuiotp.testing.sh
@@ -1,1 +1,10 @@
+wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/Graph.obj \
+-O /tmp/Graph.obj
+/etc/init.d/tomcat6 stop
+rm -rfv /usr/share/tomcat6/webapps/opentripplanner*
+wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/opentripplanner-webapp.war \
+-O /usr/share/tomcat6/webapps/opentripplanner-webapp.war
+wget http://s3-ap-southeast-1.amazonaws.com/busresources/testing/opentripplanner-api-webapp.war \
+-O /usr/share/tomcat6/webapps/opentripplanner-api-webapp.war
+/etc/init.d/tomcat6 restart
--- /dev/null
+++ b/aws/busuiphp.sh
@@ -1,1 +1,10 @@
-
+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
+chmod -R 777 /var/www/lib/staticmaplite/cache
+chcon -R -t httpd_sys_content_rw_t /var/www/labs/tiles
+chmod -R 777 /var/www/labs/tiles
+wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \
+-O /var/www/cbrfeed.zip
--- /dev/null
+++ b/aws/data-sources.xml
@@ -1,1 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+ <!-- Single graph -->
+ <import resource="classpath:org/opentripplanner/api/application-context.xml" />
+
+ <bean id="graphBundle" class="org.opentripplanner.model.GraphBundle">
+ <property name="path" value="/tmp/" />
+ </bean>
+
+</beans>
+
--- a/include/common-template.inc.php
+++ b/include/common-template.inc.php
@@ -156,6 +156,11 @@
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>';
}
}
+ $serviceAlerts = getServiceAlerts("network","network");
+ foreach ($serviceAlerts['entities'] as $entity) {
+ echo "<div id='servicewarning'> From ".date("F j, g:i a",strtotime($entity['alert']['active_period']['start']))." to ". date("F j, g:i a", strtotime($entity['alert']['active_period']['end']))."<br>Warning: {$entity['alert']['description']['translation']}
+ <br><a href='{$entity['alert']['url']['translation']}'>Source</a> </div>";
+ }
}
}
function include_footer()
--- a/include/common-transit.inc.php
+++ b/include/common-transit.inc.php
@@ -45,5 +45,62 @@
return "";
}
}
+function getServiceAlerts($filter_class, $filter_id) {
+/*
+
+ also need last modified epoch of client gtfs
+
+ - add,remove,patch,inform (null)
+ - stop
+ - trip
+ - network
+ - patterns (WHERE=)
+ - route (short_name or route_id)
+ - street
+ - stop
+ - trip */
+$return = Array();
+$return['header']['gtrtfs_version'] = "1";
+$return['header']['timestamp'] = time();
+$return['entities'] = Array();
+foreach(getCurrentAlerts() as $alert) {
+ $informedEntities = getInformedAlerts($alert['id'],$_REQUEST['filter_class'],$_REQUEST['filter_id']);
+ if (sizeof($informedEntities) >0) {
+ $entity = Array();
+ $entity['id'] = $alert['id'];
+ $entity['alert']['active_period']['start'] = $alert['start'];
+ $entity['alert']['active_period']['end'] = $alert['end'];
+ $entity['alert']['url']['translation'] = $alert['url'];
+ $entity['alert']['description']['translation'] = $alert['description'];
+
+ foreach ($informedEntities as $informedEntity) {
+ $informed = Array();
+ $informed[$informedEntity['informed_class']."_id"] = $informedEntity['informed_id'];
+ if ($informedEntity['informed_action'] != "") $informed["x-action"] = $informedEntity['informed_action'];
+ $informed[$informedEntity['class']."_type"] = $informedEntity['type'];
+ $entity['informed'][] = $informed;
+ }
+ $return['entities'][] = $entity;
+ }
+}
+return $return;
+}
+function getServiceAlertsByClass() {
+ $return = Array();
+ $alerts = getServiceAlerts("","");
+ foreach ($alerts['entities'] as $entity) {
+ foreach ($entity['informed'] as $informed) {
+ foreach($informed as $key => $value){
+ if (strpos("_id",$key) > 0) {
+ $parts = explode($key);
+ $class = $parts[0];
+ $id = $value;
+ }
+ }
+ $return[$class][$id]['entity'] = $entity;
+ $return[$class][$id]['action'] = $informed["x-action"];
+ }
+ }
+}
?>
--- a/include/db/servicealert-dao.inc.php
+++ b/include/db/servicealert-dao.inc.php
@@ -15,7 +15,7 @@
function getCurrentAlerts() {
global $conn;
- $query = "SELECT * from servicealerts_alerts";
+ $query = 'SELECT * from servicealerts_alerts where NOW() > start and NOW() < "end"';
//debug($query, "database");
$query = $conn->prepare($query);
//if ($stop_sequence != "") $query->bindParam(":stop_sequence", $stop_sequence);
@@ -31,14 +31,20 @@
global $conn;
$query = "SELECT * from servicealerts_informed where servicealert_id = :servicealert_id";
- if ($filter_class != "" && $filter_id != "") {
- $query .= " AND (informed_class = :informed_class OR informed_class = 'network') AND informed_id = :informed_id";
+ if ($filter_class != "" ) {
+ $query .= " AND informed_class = :informed_class ";
+
+ }
+ if ($filter_id != "") {
+ $query .= " AND informed_id = :informed_id ";
}
//debug($query, "database");
$query = $conn->prepare($query);
- if ($filter_class != "" && $filter_id != "") {
+ if ($filter_class != "" ) {
$query->bindParam(":informed_class", $filter_class);
+ }
+ if ($filter_id != "") {
$query->bindParam(":informed_id", $filter_id);
}
$query->bindParam(":servicealert_id", $id);
--- a/labs/myway_api.json.php
+++ b/labs/myway_api.json.php
@@ -126,7 +126,7 @@
if (sizeof($return) == 0) {
$return['error'][] = "No data extracted from MyWay website - API may be out of date";
}
-
+if (basename(__FILE__) == "myway_api.json.php") {
header('Content-Type: text/javascript; charset=utf8');
// header('Access-Control-Allow-Origin: http://bus.lambdacomplex.org/');
header('Access-Control-Max-Age: 3628800');
@@ -137,5 +137,6 @@
}
else echo json_encode($return);
+}
?>
--- a/servicealerts_api.php
+++ b/servicealerts_api.php
@@ -1,41 +1,8 @@
<?php
include ('include/common.inc.php');
-/*
- also need last modified epoch of client gtfs
-
- - add,remove,patch
- - stop
- - trip
- - network
- - patterns (WHERE=)
- - route (short_name or route_id)
- - street
- - stop
- - trip */
-$return = Array();
-$return['header']['gtrtfs_version'] = "1";
-$return['header']['timestamp'] = time();
-$return['entities'] = Array();
-foreach(getCurrentAlerts() as $alert) {
- $informedEntities = getInformedAlerts($alert['id'],$_REQUEST['filter_class'],$_REQUEST['filter_id']);
- if (sizeof($informedEntities) >0) {
- $entity = Array();
- $entity['id'] = $alert['id'];
- $entity['alert']['active_period']['start'] = $alert['start'];
- $entity['alert']['active_period']['start'] = $alert['end'];
- $entity['alert']['url']['translation'] = $alert['url'];
- $entity['alert']['description']['translation'] = $alert['description'];
-
- foreach ($informedEntities as $informedEntity) {
- $informed = Array();
- $informed[$informedEntity['informed_class']."_id"] = $informedEntity['informed_id'];
- if ($informedEntity['informed_action'] != "") $informed["x-action"] = $informedEntity['informed_action'];
- //$informed[$informedEntity['class']."_type"] = $informedEntity['type'];
- $entity['informed'][] = $informed;
- }
- $return['entities'][] = $entity;
- }
-}
+
+if (basename(__FILE__) == "servicealerts_api.php") {
+ $return = getServiceAlerts($_REQUEST['filter_class'],$_REQUEST['filter_id']);
header('Content-Type: text/javascript; charset=utf8');
// header('Access-Control-Allow-Origin: http://bus.lambdacomplex.org/');
header('Access-Control-Max-Age: 3628800');
@@ -45,5 +12,6 @@
//print_r($_GET['callback'] . $json); //callback is prepended for json-p
}
else echo json_encode($return);
+}
?>
--- a/updatedb.php
+++ b/updatedb.php
@@ -4,7 +4,16 @@
$conn = pg_connect("dbname=transitdata user=postgres password=snmc host=localhost") or die('connection failed');
$pdconn = new PDO("pgsql:dbname=transitdata;user=postgres;password=snmc;host=localhost");
-
+/*
+ delete from agency;
+ delete from calendar;
+ delete from calendar_dates;
+ delete from routes;
+ delete from shapes;
+ delete from stop_times;
+ delete from stops;
+ delete from trips;
+*/
// Unzip cbrfeed.zip, import all csv files to database
$unzip = true;
$zip = zip_open(dirname(__FILE__) . "/cbrfeed.zip");
@@ -35,10 +44,12 @@
$line = 0;
$handle = fopen($tmpdir . $file, "r");
if ($tablename =="stop_times") {
- $stmt = $pdconn->prepare("insert into stop_times (trip_id,stop_id,stop_sequence) values(:trip_id, :stop_id, :stop_sequence);");
+ $stmt = $pdconn->prepare("insert into stop_times (trip_id,stop_id,stop_sequence,arrival_time,departure_time) values(:trip_id, :stop_id, :stop_sequence,:arrival_time,:departure_time);");
$stmt->bindParam(':trip_id',$trip_id);
$stmt->bindParam(':stop_id',$stop_id);
$stmt->bindParam(':stop_sequence',$stop_sequence);
+ $stmt->bindParam(':arrival_time',$time);
+ $stmt->bindParam(':departure_time',$time);
}
@@ -57,11 +68,12 @@
} else {
$query.= "');";
}
- if ($tablename =="stop_times" && $data[1] == "") {
+ if ($tablename =="stop_times") {
// $query = "insert into $tablename (trip_id,stop_id,stop_sequence) values('{$data[0]}','{$data[3]}','{$data[4]}');";
$trip_id=$data[0];
$stop_id=$data[3];
$stop_sequence=$data[4];
+ $time=($data[1] == "" ? null : $data[1]);
}
}