#!/bin/bash | |
#this script should be run from a fresh git checkout from github | |
#ami base must have yum install lighttpd-fastcgi, git, tomcat6 | |
#php-cli php-gd tomcat6-webapps tomcat6-admin-webapps svn maven2 | |
#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 | |
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;\" | |
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 | |
# PostgreSQL Client Authentication Configuration File | |
# =================================================== | |
# | |
# Refer to the "Client Authentication" section in the | |
# PostgreSQL documentation for a complete description | |
# of this file. A short synopsis follows. | |
# | |
# This file controls: which hosts are allowed to connect, how clients | |
# are authenticated, which PostgreSQL user names they can use, which | |
# databases they can access. Records take one of these forms: | |
# | |
# local DATABASE USER METHOD [OPTIONS] | |
# host DATABASE USER CIDR-ADDRESS METHOD [OPTIONS] | |
# hostssl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS] | |
# hostnossl DATABASE USER CIDR-ADDRESS METHOD [OPTIONS] | |
# | |
# (The uppercase items must be replaced by actual values.) | |
# | |
# The first field is the connection type: "local" is a Unix-domain socket, | |
# "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" is an | |
# SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socket. | |
# | |
# DATABASE can be "all", "sameuser", "samerole", a database name, or | |
# a comma-separated list thereof. | |
# | |
# USER can be "all", a user name, a group name prefixed with "+", or | |
# a comma-separated list thereof. In both the DATABASE and USER fields | |
# you can also write a file name prefixed with "@" to include names from | |
# a separate file. | |
# | |
# CIDR-ADDRESS specifies the set of hosts the record matches. | |
# It is made up of an IP address and a CIDR mask that is an integer | |
# (between 0 and 32 (IPv4) or 128 (IPv6) inclusive) that specifies | |
# the number of significant bits in the mask. Alternatively, you can write | |
# an IP address and netmask in separate columns to specify the set of hosts. | |
# | |
# METHOD can be "trust", "reject", "md5", "password", "gss", "sspi", "krb5", | |
# "ident", "pam", "ldap" or "cert". Note that "password" sends passwords | |
# in clear text; "md5" is preferred since it sends encrypted passwords. | |
# | |
# OPTIONS are a set of options for the authentication in the format | |
# NAME=VALUE. The available options depend on the different authentication | |
# methods - refer to the "Client Authentication" section in the documentation | |
# for a list of which options are available for which authentication methods. | |
# | |
# Database and user names containing spaces, commas, quotes and other special | |
# characters must be quoted. Quoting one of the keywords "all", "sameuser" or | |
# "samerole" makes the name lose its special character, and just match a | |
# database or username with that name. | |
# | |
# This file is read on server startup and when the postmaster receives | |
# a SIGHUP signal. If you edit the file on a running system, you have | |
# to SIGHUP the postmaster for the changes to take effect. You can use | |
# "pg_ctl reload" to do that. | |
# Put your actual configuration here | |
# ---------------------------------- | |
# | |
# If you want to allow non-local connections, you need to add more | |
# "host" records. In that case you will also need to make PostgreSQL listen | |
# on a non-local interface via the listen_addresses configuration parameter, | |
# or via the -i or -h command line switches. | |
# | |
# TYPE DATABASE USER CIDR-ADDRESS METHOD | |
# "local" is for Unix domain socket connections only | |
local all all trust | |
# IPv4 local connections: | |
host all all 127.0.0.1/32 trust | |
# IPv6 local connections: | |
host all all ::1/128 trust | |
Binary files a/css/images/01-refresh.png and /dev/null differ
Binary files a/css/images/02-redo.png and /dev/null differ
Binary files a/css/images/06-magnify.png and /dev/null differ
Binary files a/css/images/07-map-marker.png and /dev/null differ
Binary files a/css/images/101-gameplan.png and /dev/null differ
Binary files a/css/images/102-walk.png and /dev/null differ
Binary files a/css/images/103-map.png and /dev/null differ
Binary files a/css/images/121-landscape.png and /dev/null differ
Binary files a/css/images/13-target.png and /dev/null differ
Binary files a/css/images/139-flags.png and /dev/null differ
Binary files a/css/images/145-persondot.png and /dev/null differ
Binary files a/css/images/184-warning.png and /dev/null differ
Binary files a/css/images/193-location-arrow.png and /dev/null differ
Binary files a/css/images/28-star.png and /dev/null differ
Binary files a/css/images/53-house.png and /dev/null differ
Binary files a/css/images/55-network.png and /dev/null differ
Binary files a/css/images/57-download.png and /dev/null differ
Binary files a/css/images/58-bookmark.png and /dev/null differ
Binary files a/css/images/59-flag.png and /dev/null differ
Binary files a/css/images/60-signpost.png and /dev/null differ
Binary files a/css/images/73-radar.png and /dev/null differ
Binary files a/css/images/74-location.png and /dev/null differ
Binary files a/css/images/83-calendar.png and /dev/null differ
Binary files /dev/null and b/css/images/91-beaker-2.png differ
<?php | <?php |
include ("include/common.inc.php"); | include ("include/common.inc.php"); |
include_header("Feedback", "feedback"); | include_header("Feedback", "feedback"); |
function sendEmail($topic, $message) | function sendEmail($topic, $message) |
{ | { |
$address = "maxious@lambdacomplex.org"; | $address = "maxious@lambdacomplex.org"; |
if (file_exists("/tmp/aws.php")) { | if (file_exists("/tmp/aws.php")) { |
include_once ("lib/ses.php"); | include_once ("lib/ses.php"); |
include_once ("/tmp/aws.php"); | include_once ("/tmp/aws.php"); |
$con = new SimpleEmailService($accessKey, $secretKey); | $con = new SimpleEmailService($accessKey, $secretKey); |
//$con->verifyEmailAddress($address); | //$con->verifyEmailAddress($address); |
//$con->listVerifiedEmailAddresses(); | //$con->listVerifiedEmailAddresses(); |
$m = new SimpleEmailServiceMessage(); | $m = new SimpleEmailServiceMessage(); |
$m->addTo($address); | $m->addTo($address); |
$m->setFrom($address); | $m->setFrom($address); |
$m->setSubject($topic); | $m->setSubject($topic); |
$m->setMessageFromString($message); | $m->setMessageFromString($message); |
$con->sendEmail($m); | $con->sendEmail($m); |
} | } |
else { | else { |
// In case any of our lines are larger than 70 characters, we should use wordwrap() | // In case any of our lines are larger than 70 characters, we should use wordwrap() |
$message = wordwrap($message, 70); | $message = wordwrap($message, 70); |
// Send | // Send |
mail($address, $topic, $message); | mail($address, $topic, $message); |
} | } |
} | } |
if (isset($_REQUEST['feedback']) || isset($_REQUEST['newlocation'])){ | if (isset($_REQUEST['feedback']) || isset($_REQUEST['newlocation'])){ |
sendEmail("bus.lambda feedback",print_r($_REQUEST,true)); | sendEmail("bus.lambda feedback",print_r($_REQUEST,true)); |
echo "<center><h2>Thank you for your feedback!</h2></center>"; | echo "<center><h2>Thank you for your feedback!</h2></center>"; |
} else { | } else { |
$stopid = ""; | $stopid = ""; |
$stopcode = ""; | $stopcode = ""; |
$urlparts = explode("?",$_SERVER["HTTP_REFERER"]); | $urlparts = explode("?",$_SERVER["HTTP_REFERER"]); |
if (isset($urlparts[1])) { | if (isset($urlparts[1])) { |
$getparams = explode("&",$urlparts[1]); | $getparams = explode("&",$urlparts[1]); |
foreach ($getparams as $param) { | foreach ($getparams as $param) { |
$paramparts=explode("=",$param); | $paramparts=explode("=",$param); |
if ($paramparts[0] == "stopid") $stopid = $paramparts[1]; | if ($paramparts[0] == "stopid") $stopid = $paramparts[1]; |
if ($paramparts[0] == "stopcode") $stopcode = $paramparts[1]; | if ($paramparts[0] == "stopcode") $stopcode = $paramparts[1]; |
} | } |
} | } |
?> | ?> |
<h3>Add/Move/Delete a Bus Stop Location</h3> | <h3>Add/Move/Delete a Bus Stop Location</h3> |
<form action="feedback.php" method="post"> | <form action="feedback.php" method="post"> |
StopID: <input type="text" name="stopid" value="<?php echo $stopid ?>"/><br> | StopID: <input type="text" name="stopid" value="<?php echo $stopid ?>"/><br> |
or StopCode: <input type="text" name="stopcode" value="<?php echo $stopcode ?>"/><br> | or StopCode: <input type="text" name="stopcode" value="<?php echo $stopcode ?>"/><br> |
<small> if you click on feedback from a stop page, these will get filled in automatically. else describe the location/street of the stop in one of these boxes </small><br> | <small> if you click on feedback from a stop page, these will get filled in automatically. else describe the location/street of the stop in one of these boxes </small><br> |