Fix address autocomplete
Fix address autocomplete

file:a/.gitignore -> file:b/.gitignore
   
/labs/tiles/12 /labs/tiles/12
/labs/tiles/13 /labs/tiles/13
/labs/tiles/14 /labs/tiles/14
/labs/tiles/15 /labs/tiles/15
/labs/tiles/16 /labs/tiles/16
/labs/tiles/17 /labs/tiles/17
/labs/tiles/19 /labs/tiles/19
  /nbproject/private/
cp /root/aws.php /tmp/ cp /root/aws.php /tmp/
  chmod 777 /var/cache/lighttpd/compress/
   
mkdir /var/www/lib/staticmaplite/cache mkdir /var/www/lib/staticmaplite/cache
chcon -h system_u:object_r:httpd_sys_content_t /var/www 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 -h root:object_r:httpd_sys_content_t /var/www/*
   
chcon -R -t httpd_sys_content_rw_t /var/www/lib/staticmaplite/cache chcon -R -t httpd_sys_content_rw_t /var/www/lib/staticmaplite/cache
chmod -R 777 /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 chcon -R -t httpd_sys_content_rw_t /var/www/labs/tiles
chmod -R 777 /var/www/labs/tiles chmod -R 777 /var/www/labs/tiles
   
  mkdir /var/www/lib/openid-php/oid_store
chcon -R -t httpd_sys_content_rw_t /var/www/lib/openid-php/oid_store chcon -R -t httpd_sys_content_rw_t /var/www/lib/openid-php/oid_store
chmod -R 777 /var/www/lib/openid-php/oid_store chmod -R 777 /var/www/lib/openid-php/oid_store
   
wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \ wget http://s3-ap-southeast-1.amazonaws.com/busresources/cbrfeed.zip \
-O /var/www/cbrfeed.zip -O /var/www/cbrfeed.zip
   
<?php <?php
  require $basePath.'lib/openid.php';
  $openid = new LightOpenID($_SERVER['HTTP_HOST']);
   
  function login()
  {
  global $openid;
  if(!$openid->mode) {
  $openid->required = array('contact/email');
  $openid->identity = 'https://www.google.com/accounts/o8/id';
  header('Location: ' . $openid->authUrl());
  }
  }
   
/*  
* Copyright 2010,2011 Alexander Sadleir  
   
Licensed under the Apache License, Version 2.0 (the "License"); function auth()
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 {
  if ($_SESSION['authed'] == true) return true;
Unless required by applicable law or agreed to in writing, software global $openid;
distributed under the License is distributed on an "AS IS" BASIS,  
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. if($openid->mode) {
See the License for the specific language governing permissions and $attr = $openid->getAttributes();
limitations under the License. if ($attr["contact/email"] != "maxious@gmail.com") {
*/  
   
function getScheme() {  
$scheme = 'http';  
if (isset($_SERVER['HTTPS']) and $_SERVER['HTTPS'] == 'on') {  
$scheme .= 's';  
}  
return $scheme;  
}  
   
function getTrustRoot() {  
return sprintf("%s://%s:%s%s/", getScheme(), $_SERVER['SERVER_NAME'], $_SERVER['SERVER_PORT'], dirname($_SERVER['PHP_SELF']));  
}  
   
// Includes required files  
set_include_path(get_include_path() . PATH_SEPARATOR . $basePath . "lib/openid-php/");  
require_once "Auth/OpenID/Consumer.php";  
require_once "Auth/OpenID/FileStore.php";  
require_once "Auth/OpenID/AX.php";  
   
function login() {  
global $basePath;  
// Just tested this with/for Google, needs trying with others ...  
$oid_identifier = 'https://www.google.com/accounts/o8/id';  
// Create file storage area for OpenID data  
$store = new Auth_OpenID_FileStore(realpath($basePath) . '/lib/openid-php/oid_store');  
// Create OpenID consumer  
$consumer = new Auth_OpenID_Consumer($store);  
// Create an authentication request to the OpenID provider  
$auth = $consumer->begin($oid_identifier);  
   
// Create attribute request object  
// See http://code.google.com/apis/accounts/docs/OpenID.html#Parameters for parameters  
// Usage: make($type_uri, $count=1, $required=false, $alias=null)  
$attribute[] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/contact/email', 2, 1, 'email');  
$attribute[] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/namePerson/first', 1, 1, 'firstname');  
$attribute[] = Auth_OpenID_AX_AttrInfo :: make('http://axschema.org/namePerson/last', 1, 1, 'lastname');  
   
// Create AX fetch request  
$ax = new Auth_OpenID_AX_FetchRequest;  
   
// Add attributes to AX fetch request  
foreach ($attribute as $attr) {  
$ax->add($attr);  
}  
   
// Add AX fetch request to authentication request  
$auth->addExtension($ax);  
$_SESSION['returnURL'] = curPageURL();  
// Redirect to OpenID provider for authentication  
$url = $auth->redirectURL(getTrustRoot(), $_SESSION['returnURL']);  
header('Location: ' . $url);  
}  
   
function auth() {  
global $basePath;  
if ($_SESSION['authed'] == true)  
return true;  
   
// Create file storage area for OpenID data  
$store = new Auth_OpenID_FileStore(realpath($basePath) . '/lib/openid-php/oid_store');  
// Create OpenID consumer  
$consumer = new Auth_OpenID_Consumer($store);  
// Create an authentication request to the OpenID provider  
$response = $consumer->complete($_SESSION['returnURL']);  
   
if ($response->status == Auth_OpenID_SUCCESS) {  
// Get registration informations  
$ax = new Auth_OpenID_AX_FetchResponse();  
$obj = $ax->fromSuccessResponse($response);  
$email = $obj->data['http://axschema.org/contact/email'][0];  
var_dump($email);  
if ($email != "maxious@gmail.com") {  
die("Access Denied"); die("Access Denied");
  } else {
  $_SESSION['authed'] = true;
  }
} else { } else {
$_SESSION['authed'] = true;  
}  
} else {  
login(); login();
} }
} }
   
if ($_REQUEST['janrain_nonce'])  
auth();  
?> ?>
<?php <?php
   
/* /*
* Copyright 2010,2011 Alexander Sadleir * Copyright 2010,2011 Alexander Sadleir
   
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
   
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
   
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
   
date_default_timezone_set('Australia/ACT'); date_default_timezone_set('Australia/ACT');
$debugOkay = Array( $debugOkay = Array(
"session", "session",
"json", "json",
"phperror", "phperror",
"awsotp", "awsotp",
//"squallotp", //"squallotp",
//"vanilleotp", //"vanilleotp",
"database", "database",
"other" "other"
); );
$GTFSREnabled = true; $GTFSREnabled = true;
$cloudmadeAPIkey = "daa03470bb8740298d4b10e3f03d63e6"; $cloudmadeAPIkey = "daa03470bb8740298d4b10e3f03d63e6";
$googleMapsAPIkey = "ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q"; $googleMapsAPIkey = "ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q";
$otpAPIurl = 'http://localhost:8080/opentripplanner-api-webapp/'; $otpAPIurl = 'http://localhost:8080/opentripplanner-api-webapp/';
if (isDebug("awsotp") || php_uname('n') == "maxious.xen.prgmr.com") { if (isDebug("awsotp") || php_uname('n') == "maxious.xen.prgmr.com") {
$otpAPIurl = 'http://bus-main.lambdacomplex.org:8080/opentripplanner-api-webapp/'; $otpAPIurl = 'http://bus-main.lambdacomplex.org:8080/opentripplanner-api-webapp/';
} }
if (isDebug("dotcloudotp") || php_uname('n') == "actbus-www") { if (isDebug("dotcloudotp") || php_uname('n') == "actbus-www") {
$otpAPIurl = 'http://otp.actbus.dotcloud.com/opentripplanner-api-webapp/'; $otpAPIurl = 'http://otp.actbus.dotcloud.com/opentripplanner-api-webapp/';
} }
if (isDebug("squallotp")) { if (isDebug("squallotp")) {
$otpAPIurl = 'http://10.0.1.108:5080/opentripplanner-api-webapp/'; $otpAPIurl = 'http://10.0.1.108:5080/opentripplanner-api-webapp/';
} }
if (isDebug("vanilleotp")) { if (isDebug("vanilleotp")) {
$otpAPIurl = 'http://10.0.1.135:8080/opentripplanner-api-webapp/'; $otpAPIurl = 'http://10.0.1.135:8080/opentripplanner-api-webapp/';
} }
if (isDebug("phperror")) if (isDebug("phperror"))
error_reporting(E_ALL ^ E_NOTICE); error_reporting(E_ALL ^ E_NOTICE);
$basePath = ""; $basePath = "";
if (strstr($_SERVER['PHP_SELF'], "labs/") if (strstr($_SERVER['PHP_SELF'], "labs/")
|| strstr($_SERVER['PHP_SELF'], "myway/") || strstr($_SERVER['PHP_SELF'], "myway/")
  || strstr($_SERVER['PHP_SELF'], "lib/")
  || strstr($_SERVER['PHP_SELF'], "include/")
|| strstr($_SERVER['PHP_SELF'], "servicealerts/")) || strstr($_SERVER['PHP_SELF'], "servicealerts/"))
$basePath = "../"; $basePath = "../";
   
function isDebugServer() { function isDebugServer() {
return php_sapi_name() == "cli" || isset($_SERVER['SERVER_NAME']) && ( $_SERVER['SERVER_NAME'] == "azusa" || $_SERVER['SERVER_NAME'] == "vanille" return php_sapi_name() == "cli" || isset($_SERVER['SERVER_NAME']) && ( $_SERVER['SERVER_NAME'] == "azusa" || $_SERVER['SERVER_NAME'] == "vanille"
|| $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1"); || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1");
} }
   
include_once ("common-geo.inc.php"); include_once ("common-geo.inc.php");
include_once ("common-net.inc.php"); include_once ("common-net.inc.php");
include_once ("common-transit.inc.php"); include_once ("common-transit.inc.php");
include_once ("common-db.inc.php"); include_once ("common-db.inc.php");
   
include_once ("common-request.inc.php"); include_once ("common-request.inc.php");
include_once ("common-session.inc.php"); include_once ("common-session.inc.php");
include_once ("common-auth.inc.php"); include_once ("common-auth.inc.php");
include_once ("common-template.inc.php"); include_once ("common-template.inc.php");
   
function isAnalyticsOn() { function isAnalyticsOn() {
$user_agent = $_SERVER['HTTP_USER_AGENT']; $user_agent = $_SERVER['HTTP_USER_AGENT'];
return!isDebugServer() && !preg_match('/cloudkick/i', $user_agent) && !preg_match('/googlebot/i', $user_agent) && return!isDebugServer() && !preg_match('/cloudkick/i', $user_agent) && !preg_match('/googlebot/i', $user_agent) &&
!preg_match('/baidu/i', $user_agent); !preg_match('/baidu/i', $user_agent);
} }
   
function isDebug($debugReason = "other") { function isDebug($debugReason = "other") {
global $debugOkay; global $debugOkay;
return in_array($debugReason, $debugOkay, false) && isDebugServer(); return in_array($debugReason, $debugOkay, false) && isDebugServer();
} }
   
function debug($msg, $debugReason = "other") { function debug($msg, $debugReason = "other") {
if (isDebug($debugReason)) if (isDebug($debugReason))
echo "\n<!-- " . date(DATE_RFC822) . "\n $msg -->\n"; echo "\n<!-- " . date(DATE_RFC822) . "\n $msg -->\n";
} }
   
function isJQueryMobileDevice() { function isJQueryMobileDevice() {
// http://forum.jquery.com/topic/what-is-the-best-way-to-detect-all-useragents-which-can-handle-jquery-mobile#14737000002087897 // http://forum.jquery.com/topic/what-is-the-best-way-to-detect-all-useragents-which-can-handle-jquery-mobile#14737000002087897
$user_agent = $_SERVER['HTTP_USER_AGENT']; $user_agent = $_SERVER['HTTP_USER_AGENT'];
return preg_match('/iphone/i', $user_agent) || preg_match('/android/i', $user_agent) || preg_match('/webos/i', $user_agent) || preg_match('/ios/i', $user_agent) || preg_match('/bada/i', $user_agent) || preg_match('/maemo/i', $user_agent) || preg_match('/meego/i', $user_agent) || preg_match('/fennec/i', $user_agent) || (preg_match('/symbian/i', $user_agent) && preg_match('/s60/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/symbian/i', $user_agent) && preg_match('/platform/i', $user_agent) && $browser['majorver'] >= 3) || (preg_match('/blackberry/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/opera mobile/i', $user_agent) && $browser['majorver'] >= 10) || (preg_match('/opera mini/i', $user_agent) && $browser['majorver'] >= 5); return preg_match('/iphone/i', $user_agent) || preg_match('/android/i', $user_agent) || preg_match('/webos/i', $user_agent) || preg_match('/ios/i', $user_agent) || preg_match('/bada/i', $user_agent) || preg_match('/maemo/i', $user_agent) || preg_match('/meego/i', $user_agent) || preg_match('/fennec/i', $user_agent) || (preg_match('/symbian/i', $user_agent) && preg_match('/s60/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/symbian/i', $user_agent) && preg_match('/platform/i', $user_agent) && $browser['majorver'] >= 3) || (preg_match('/blackberry/i', $user_agent) && $browser['majorver'] >= 5) || (preg_match('/opera mobile/i', $user_agent) && $browser['majorver'] >= 10) || (preg_match('/opera mini/i', $user_agent) && $browser['majorver'] >= 5);
} }
   
function isFastDevice() { function isFastDevice() {
$ua = $_SERVER['HTTP_USER_AGENT']; $ua = $_SERVER['HTTP_USER_AGENT'];
$fastDevices = Array( $fastDevices = Array(
"Mozilla/5.0 (X11;", "Mozilla/5.0 (X11;",
"Mozilla/5.0 (Windows;", "Mozilla/5.0 (Windows;",
"Mozilla/5.0 (iP", "Mozilla/5.0 (iP",
"Mozilla/5.0 (Linux; U; Android", "Mozilla/5.0 (Linux; U; Android",
"Mozilla/4.0 (compatible; MSIE" "Mozilla/4.0 (compatible; MSIE"
); );
$slowDevices = Array( $slowDevices = Array(
"J2ME", "J2ME",
"MIDP", "MIDP",
"Opera/", "Opera/",
"Mozilla/2.0 (compatible;", "Mozilla/2.0 (compatible;",
"Mozilla/3.0 (compatible;" "Mozilla/3.0 (compatible;"
); );
return true; return true;
} }
   
function array_flatten($a, $f = array()) { function array_flatten($a, $f = array()) {
if (!$a || !is_array($a)) if (!$a || !is_array($a))
return ''; return '';
foreach ($a as $k => $v) { foreach ($a as $k => $v) {
if (is_array($v)) if (is_array($v))
$f = array_flatten($v, $f); $f = array_flatten($v, $f);
else else
$f[$k] = $v; $f[$k] = $v;
} }
return $f; return $f;
} }
   
function remove_spaces($string) { function remove_spaces($string) {
return str_replace(' ', '', $string); return str_replace(' ', '', $string);
} }
   
function object2array($object) { function object2array($object) {
if (is_object($object)) { if (is_object($object)) {
foreach ($object as $key => $value) { foreach ($object as $key => $value) {
$array[$key] = $value; $array[$key] = $value;
} }
} else { } else {
$array = $object; $array = $object;
} }
return $array; return $array;