Try to avoid bots in analytics and improve page titles
Try to avoid bots in analytics and improve page titles

#!/bin/bash #!/bin/bash
#this script should be run from a fresh git checkout from github #this script should be run from a fresh git checkout from github
#ami base must have yum install lighttpd-fastcgi, git, tomcat6 #ami base must have yum install lighttpd-fastcgi, git, tomcat6
#php-cli php-gd tomcat6-webapps tomcat6-admin-webapps svn maven2 #php-cli php-gd tomcat6-webapps tomcat6-admin-webapps svn maven2
#postgres postgres-server php-pg #postgres postgres-server php-pg
#http://www.how2forge.org/installing-lighttpd-with-php5-and-mysql-support-on-fedora-12 #http://www.how2forge.org/installing-lighttpd-with-php5-and-mysql-support-on-fedora-12
   
sh busuiphp.sh cp /root/aws.php /tmp/
sh busuidb.sh mkdir /var/www/lib/staticmaplite/cache
sh busuiotp.sh 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;\"
  #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
   
file:a/aws/busuidb.sh (deleted)
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  
file:a/aws/busuiotp.sh (deleted)
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  
 
file:a/aws/busuiotp.testing.sh (deleted)
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  
 
file:a/aws/busuiphp.sh (deleted)
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  
file:a/aws/data-sources.xml (deleted)
<?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>  
 
  /*!
  * jQuery Mobile v1.0b1
  * http://jquerymobile.com/
  *
  * Copyright 2010, jQuery Project
  * Dual licensed under the MIT or GPL Version 2 licenses.
  * http://jquery.org/license
  */
  /*
  * jQuery Mobile Framework
  * Copyright (c) jQuery Project
  * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
  * Note: Code is in draft form and is subject to change
  */
 
 
  /* A
  -----------------------------------------------------------------------------------------------------------*/
 
  .ui-bar-a {
  border: 1px solid #2A2A2A;
  background: #111111;
  color: #ffffff;
  font-weight: bold;
  text-shadow: 0 -1px 1px #000000;
  background-image: -moz-linear-gradient(top,
  #3c3c3c,
  #111111);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #3c3c3c),
  color-stop(1, #111111));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#3c3c3c', EndColorStr='#111111')";
  }
  .ui-bar-a,
  .ui-bar-a input,
  .ui-bar-a select,
  .ui-bar-a textarea,
  .ui-bar-a button {
  font-family: Helvetica, Arial, sans-serif;
  }
  .ui-bar-a .ui-link-inherit {
  color: #fff;
  }
  .ui-bar-a .ui-link {
  color: #7cc4e7;
  font-weight: bold;
  }
  .ui-body-a {
  border: 1px solid #2A2A2A;
  background: #222222;
  color: #fff;
  text-shadow: 0 1px 0 #000;
  font-weight: normal;
  background-image: -moz-linear-gradient(top,
  #666666,
  #222222);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #666666),
  color-stop(1, #222222));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#666666', EndColorStr='#222222)')";
  }
  .ui-body-a,
  .ui-body-a input,
  .ui-body-a select,
  .ui-body-a textarea,
  .ui-body-a button {
  font-family: Helvetica, Arial, sans-serif;
  }
  .ui-body-a .ui-link-inherit {
  color: #fff;
  }
  .ui-body-a .ui-link {
  color: #2489CE;
  font-weight: bold;
  }
  .ui-br {
  border-bottom: rgb(130,130,130);
  border-bottom: rgba(130,130,130,.3);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  }
  .ui-btn-up-a {
  border: 1px solid #222;
  background: #333333;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 -1px 1px #000;
  background-image: -moz-linear-gradient(top,
  #555555,
  #333333);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #555555),
  color-stop(1, #333333));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#555555', EndColorStr='#333333')";
  }
  .ui-btn-up-a a.ui-link-inherit {
  color: #fff;
  }
  .ui-btn-hover-a {
  border: 1px solid #000;
  background: #444444;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 -1px 1px #000;
  background-image: -moz-linear-gradient(top,
  #666666,
  #444444);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #666666),
  color-stop(1, #444444));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#666666', EndColorStr='#444444')";
  }
  .ui-btn-hover-a a.ui-link-inherit {
  color: #fff;
  }
  .ui-btn-down-a {
  border: 1px solid #000;
  background: #3d3d3d;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 -1px 1px #000;
  background-image: -moz-linear-gradient(top,
  #333333,
  #5a5a5a);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #333333),
  color-stop(1, #5a5a5a));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#333333', EndColorStr='#5a5a5a')";
  }
  .ui-btn-down-a a.ui-link-inherit {
  color: #fff;
  }
  .ui-btn-up-a,
  .ui-btn-hover-a,
  .ui-btn-down-a {
  font-family: Helvetica, Arial, sans-serif;
  text-decoration: none;
  }
 
 
  /* B
  -----------------------------------------------------------------------------------------------------------*/
 
  .ui-bar-b {
  border: 1px solid #456f9a;
  background: #5e87b0;
  color: #fff;
  font-weight: bold;
  text-shadow: 0 -1px 1px #254f7a;
  background-image: -moz-linear-gradient(top,
  #81a8ce,
  #5e87b0);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #81a8ce),
  color-stop(1, #5e87b0));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#81a8ce', EndColorStr='#5e87b0')";
  }
  .ui-bar-b,
  .ui-bar-b input,
  .ui-bar-b select,
  .ui-bar-b textarea,
  .ui-bar-b button {
  font-family: Helvetica, Arial, sans-serif;
  }
  .ui-bar-b .ui-link-inherit {
  color: #fff;
  }
  .ui-bar-b .ui-link {
  color: #7cc4e7;
  font-weight: bold;
  }
 
  .ui-body-b {
  border: 1px solid #C6C6C6;
  background: #cccccc;
  color: #333333;
  text-shadow: 0 1px 0 #fff;
  font-weight: normal;
  background-image: -moz-linear-gradient(top,
  #e6e6e6,
  #cccccc);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #e6e6e6),
  color-stop(1, #cccccc));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#e6e6e6', EndColorStr='#cccccc')";
  }
  .ui-body-b,
  .ui-body-b input,
  .ui-body-b select,
  .ui-body-b textarea,
  .ui-body-b button {
  font-family: Helvetica, Arial, sans-serif;
  }
  .ui-body-b .ui-link-inherit {
  color: #333333;
  }
  .ui-body-b .ui-link {
  color: #2489CE;
  font-weight: bold;
  }
  .ui-btn-up-b {
  border: 1px solid #145072;
  background: #2567ab;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 -1px 1px #145072;
  background-image: -moz-linear-gradient(top,
  #4e89c5,
  #2567ab);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #5f9cc5),
  color-stop(1, #396b9e));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#4e89c5', EndColorStr='#2567ab')";
  }
  .ui-btn-up-b a.ui-link-inherit {
  color: #fff;
  }
  .ui-btn-hover-b {
  border: 1px solid #00516e;
  background: #4b88b6;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 -1px 1px #014D68;
  background-image: -moz-linear-gradient(top,
  #72b0d4,
  #4b88b6);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #72b0d4),
  color-stop(1, #4b88b6));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#72b0d4', EndColorStr='#4b88b6')";
  }
  .ui-btn-hover-b a.ui-link-inherit {
  color: #fff;
  }
  .ui-btn-down-b {
  border: 1px solid #225377;
  background: #4e89c5;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 -1px 1px #225377;
  background-image: -moz-linear-gradient(top,
  #396b9e,
  #4e89c5);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #396b9e),
  color-stop(1, #4e89c5));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#396b9e', EndColorStr='#4e89c5')";
  }
  .ui-btn-down-b a.ui-link-inherit {
  color: #fff;
  }
  .ui-btn-up-b,
  .ui-btn-hover-b,
  .ui-btn-down-b {
  font-family: Helvetica, Arial, sans-serif;
  text-decoration: none;
  }
 
 
  /* C
  -----------------------------------------------------------------------------------------------------------*/
 
  .ui-bar-c {
  border: 1px solid #B3B3B3;
  background: #e9eaeb;
  color: #3E3E3E;
  font-weight: bold;
  text-shadow: 0 1px 1px #fff;
  background-image: -moz-linear-gradient(top,
  #f0f0f0,
  #e9eaeb);
  background-image: -webkit-gradient(linear,left top,left bottom,
  color-stop(0, #f0f0f0),
  color-stop(1, #e9eaeb));
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#f0f0f0', EndColorStr='#e9eaeb')";
  }
  .ui-bar-c,
  .ui-bar-c input,
  .ui-bar-c select,
  .ui-bar-c textarea,
  .ui-bar-c button {
  font-family: Helvetica, Arial, sans-serif;
  }
  .ui-body-c {
  border: 1px solid #B3B3B3;
  color: #333333;
  text-shadow: 0 1px 0 #fff;
  background: #f0f0f0;
  background-image: -moz-linear-gradient(top,
  #eeeeee,