<?php |
<?php |
date_default_timezone_set('Australia/ACT'); |
date_default_timezone_set('Australia/ACT'); |
$APIurl = "http://localhost:8765"; |
$APIurl = "http://localhost:8765"; |
$cloudmadeAPIkey="daa03470bb8740298d4b10e3f03d63e6"; |
$cloudmadeAPIkey="daa03470bb8740298d4b10e3f03d63e6"; |
$googleMapsAPIkey="ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q"; |
$googleMapsAPIkey="ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q"; |
$otpAPIurl = 'http://10.1.0.243:5080/opentripplanner-api-webapp/'; |
$otpAPIurl = 'http://10.1.0.243:5080/opentripplanner-api-webapp/'; |
if (isDebug()) error_reporting(E_ALL ^ E_NOTICE); |
if (isDebug()) error_reporting(E_ALL ^ E_NOTICE); |
|
|
// SELECT array_to_string(array(SELECT REPLACE(name_2006, ',', '\,') as name FROM suburbs order by name), ',') |
// SELECT array_to_string(array(SELECT REPLACE(name_2006, ',', '\,') as name FROM suburbs order by name), ',') |
$suburbs = explode(",","Acton,Ainslie,Amaroo,Aranda,Banks,Barton,Belconnen,Bonner,Bonython,Braddon,Bruce,Calwell,Campbell,Chapman,Charnwood,Chifley,Chisholm,City,Conder,Cook,Curtin,Deakin,Dickson,Downer,Duffy,Dunlop,Evatt,Fadden,Farrer,Fisher,Florey,Flynn,Forrest,Franklin,Fraser,Fyshwick,Garran,Gilmore,Giralang,Gordon,Gowrie,Greenway,Griffith,Gungahlin,Hackett,Hall,Harrison,Hawker,Higgins,Holder,Holt,Hughes,Hume,Isaacs,Isabella Plains,Kaleen,Kambah,Kingston,Latham,Lawson,Lyneham,Lyons,Macarthur,Macgregor,Macquarie,Mawson,McKellar,Melba,Mitchell,Monash,Narrabundah,Ngunnawal,Nicholls,Oaks Estate,O'Connor,O'Malley,Oxley,Page,Palmerston,Parkes,Pearce,Phillip,Pialligo,Red Hill,Reid,Richardson,Rivett,Russell,Scullin,Spence,Stirling,Symonston,Tharwa,Theodore,Torrens,Turner,Wanniassa,Waramanga,Watson,Weetangera,Weston,Yarralumla"); |
$suburbs = explode(",","Acton,Ainslie,Amaroo,Aranda,Banks,Barton,Belconnen,Bonner,Bonython,Braddon,Bruce,Calwell,Campbell,Chapman,Charnwood,Chifley,Chisholm,City,Conder,Cook,Curtin,Deakin,Dickson,Downer,Duffy,Dunlop,Evatt,Fadden,Farrer,Fisher,Florey,Flynn,Forrest,Franklin,Fraser,Fyshwick,Garran,Gilmore,Giralang,Gordon,Gowrie,Greenway,Griffith,Gungahlin,Hackett,Hall,Harrison,Hawker,Higgins,Holder,Holt,Hughes,Hume,Isaacs,Isabella Plains,Kaleen,Kambah,Kingston,Latham,Lawson,Lyneham,Lyons,Macarthur,Macgregor,Macquarie,Mawson,McKellar,Melba,Mitchell,Monash,Narrabundah,Ngunnawal,Nicholls,Oaks Estate,O'Connor,O'Malley,Oxley,Page,Palmerston,Parkes,Pearce,Phillip,Pialligo,Red Hill,Reid,Richardson,Rivett,Russell,Scullin,Spence,Stirling,Symonston,Tharwa,Theodore,Torrens,Turner,Wanniassa,Waramanga,Watson,Weetangera,Weston,Yarralumla"); |
|
|
// you have to open the session to be able to modify or remove it |
// you have to open the session to be able to modify or remove it |
session_start(); |
session_start(); |
if (isset($_REQUEST['service_period'])) $_SESSION['service_period'] = filter_var($_REQUEST['service_period'],FILTER_SANITIZE_STRING); |
if (isset($_REQUEST['service_period'])) $_SESSION['service_period'] = filter_var($_REQUEST['service_period'],FILTER_SANITIZE_STRING); |
if (isset($_REQUEST['time'])) $_SESSION['time'] = filter_var($_REQUEST['time'],FILTER_SANITIZE_STRING); |
if (isset($_REQUEST['time'])) $_SESSION['time'] = filter_var($_REQUEST['time'],FILTER_SANITIZE_STRING); |
if (isset($_REQUEST['geolocate'])) { |
if (isset($_REQUEST['geolocate'])) { |
$contents = geocode(var_filter($_REQUEST['geolocate'],FILTER_SANITIZE_URL),true); |
$contents = geocode(var_filter($_REQUEST['geolocate'],FILTER_SANITIZE_URL),true); |
if (isset($contents[0]->centroid)) { |
if (isset($contents[0]->centroid)) { |
$session['lat'] = $contents[0]->centroid->coordinates[0]; |
$session['lat'] = $contents[0]->centroid->coordinates[0]; |
$session['lon'] = $contents[0]->centroid->coordinates[1]; |
$session['lon'] = $contents[0]->centroid->coordinates[1]; |
} |
} |
else { |
else { |
$session['lat'] = ""; |
$session['lat'] = ""; |
$session['lon'] = ""; |
$session['lon'] = ""; |
} |
} |
} |
} |
//print_r ($_SESSION); |
//print_r ($_SESSION); |
function isDebug() |
function isDebug() |
{ |
{ |
return $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME']; |
return $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME']; |
} |
} |
|
|
|
function isMetricsOn() |
|
{ |
|
return true; |
|
} |
|
|
function debug($msg) { |
function debug($msg) { |
if (isDebug()) echo "<!-- $msg -->"; |
if (isDebug()) echo "<!-- $msg -->"; |
} |
} |
function isFastDevice() { |
function isFastDevice() { |
|
$fastDevices = Array("Mozilla/5.0 (X11;", "Mozilla/5.0 (Windows;", "Mozilla/5.0 (iP", "Mozilla/5.0 (Linux; U; Android", "Mozilla/4.0 (compatible; MSIE"); |
|
$slowDevices = Array("J2ME","MIDP","Opera/","Mozilla/2.0 (compatible;","Mozilla/3.0 (compatible;"); |
return true; |
return true; |
} |
} |
|
|
function include_header($pageTitle, $opendiv = true, $geolocate = false) { |
function include_header($pageTitle, $opendiv = true, $geolocate = false) { |
echo ' |
echo ' |
<!DOCTYPE html> |
<!DOCTYPE html> |
<html> |
<html> |
<head> |
<head> |
<title>busness time - '.$pageTitle.'</title> |
<title>'.$pageTitle.'</title>'; |
'; |
|
if (isDebug()) echo '<link rel="stylesheet" href="css/jquery-mobile-1.0a3.css" /> |
if (isDebug()) echo '<link rel="stylesheet" href="css/jquery-mobile-1.0a3.css" /> |
<script type="text/javascript" src="js/jquery-1.5.js"></script> |
<script type="text/javascript" src="js/jquery-1.5.js"></script> |
<script type="text/javascript" src="js/jquery-mobile-1.0a3.js"></script>'; |
<script type="text/javascript" src="js/jquery-mobile-1.0a3.js"></script>'; |
else echo '<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.css" /> |
else echo '<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.css" /> |
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js"></script> |
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js"></script> |
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.js"></script>'; |
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.js"></script>'; |
echo ' |
echo ' |
<link rel="stylesheet" href="css/jquery.ui.datepicker.mobile.css" /> |
<link rel="stylesheet" href="css/jquery.ui.datepicker.mobile.css" /> |
<script> |
<script> |
//reset type=date inputs to text |
//reset type=date inputs to text |
$( document ).bind( "mobileinit", function(){ |
$( document ).bind( "mobileinit", function(){ |
$.mobile.page.prototype.options.degradeInputs.date = true; |
$.mobile.page.prototype.options.degradeInputs.date = true; |
}); |
}); |
</script> |
</script> |
<script src="js/jQuery.ui.datepicker.js"></script> |
<script src="js/jQuery.ui.datepicker.js"></script> |
<script src="js/jquery.ui.datepicker.mobile.js"></script> |
<script src="js/jquery.ui.datepicker.mobile.js"></script> |
<style type="text/css"> |
<style type="text/css"> |
.ui-navbar { |
.ui-navbar { |
width: 100%; |
width: 100%; |
} |
} |
.ui-btn-inner { |
.ui-btn-inner { |
white-space: normal !important; |
white-space: normal !important; |
} |
} |
.ui-li-heading { |
.ui-li-heading { |
white-space: normal !important; |
white-space: normal !important; |
} |
} |
.ui-listview-filter { |
.ui-listview-filter { |
margin: 0 !important; |
margin: 0 !important; |
} |
} |
#footer { |
#footer { |
text-size: 0.75em; |
text-size: 0.75em; |
text-align: center; |
text-align: center; |
} |
} |
body { |
body { |
background-color: #F0F0F0; |
background-color: #F0F0F0; |
} |
} |
</style> |
</style> |
<meta name="apple-mobile-web-app-capable" content="yes" /> |
<meta name="apple-mobile-web-app-capable" content="yes" /> |
<meta name="apple-mobile-web-app-status-bar-style" content="black" /> |
<meta name="apple-mobile-web-app-status-bar-style" content="black" /> |
<link rel="apple-touch-startup-image" href="startup.png" /> |
<link rel="apple-touch-startup-image" href="startup.png" /> |
<link rel="apple-touch-icon" href="apple-touch-icon.png" />'; |
<link rel="apple-touch-icon" href="apple-touch-icon.png" />'; |
if ($geolocate) { |
if ($geolocate) { |
echo "<script> |
echo "<script> |
|
|
function success(position) { |
function success(position) { |
$('#geolocate').val(position.coords.latitude+','+position.coords.longitude); |
$('#geolocate').val(position.coords.latitude+','+position.coords.longitude); |
// setCookie('geolocate',position.coords.latitude+','+position.coords.longitude,1); |
// setCookie('geolocate',position.coords.latitude+','+position.coords.longitude,1); |
$('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;}); |
$('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;}); |
$('#here').show(); |
$('#here').show(); |
} |
} |
function error(msg) { |
function error(msg) { |
console.log(msg); |
console.log(msg); |
} |
} |
|
|
if (navigator.geolocation) { |
if (navigator.geolocation) { |
navigator.geolocation.getCurrentPosition(success, error); |
navigator.geolocation.getCurrentPosition(success, error); |
} |
} |
|
|
</script> "; |
</script> "; |
} |
} |
echo '</head> |
echo '</head> |
<body> |
<body> |
|
|
'; |
'; |
if ($opendiv) { |
if ($opendiv) { |
echo '<div data-role="page"> |
echo '<div data-role="page"> |
|
<script> |
|
$(document).ready(function () |
|
{ |
|
document.title = "'.$pageTitle.'"; |
|
}); |
|
</script> |
<div data-role="header"> |
<div data-role="header"> |
<h1>'.$pageTitle.'</h1> |
<h1>'.$pageTitle.'</h1> |
</div><!-- /header --> |
</div><!-- /header --> |
<div data-role="content"> '; |
<div data-role="content"> '; |
} |
} |
} |
} |
|
|
function include_footer() |
function include_footer() |
{ |
{ |
if ($geolocate && isset($_SESSION['lat'])) { |
if ($geolocate && isset($_SESSION['lat'])) { |
echo "<script> |
echo "<script> |
$('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;}); |
$('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;}); |
$('#here').show(); |
$('#here').show(); |
</script>"; |
</script>"; |
} |
} |
echo '<div id="footer"><a href="about.php">About/Contact Us</a> <a href="feedback.php">Feedback/Bug Report</a></a>'; |
echo '<div id="footer"><a href="about.php">About/Contact Us</a> <a href="feedback.php">Feedback/Bug Report</a></a>'; |
echo '</div>'; |
echo '</div>'; |
} |
} |
|
|
$service_periods = Array ('sunday','saturday','weekday'); |
$service_periods = Array ('sunday','saturday','weekday'); |
|
|
function service_period() |
function service_period() |
{ |
{ |
if (isset($_SESSION['service_period'])) return $_SESSION['service_period']; |
if (isset($_SESSION['service_period'])) return $_SESSION['service_period']; |
|
|
switch (date('w')){ |
switch (date('w')){ |
|
|
case 0: |
case 0: |
return 'sunday'; |
return 'sunday'; |
case 6: |
case 6: |
return 'saturday'; |
return 'saturday'; |
default: |
default: |
return 'weekday'; |
return 'weekday'; |
} |
} |
} |
} |
|
|
function remove_spaces($string) |
function remove_spaces($string) |
{ |
{ |
return str_replace(' ','',$string); |
return str_replace(' ','',$string); |
} |
} |
|
|
function midnight_seconds() |
function midnight_seconds() |
{ |
{ |
// from http://www.perturb.org/display/Perlfunc__Seconds_Since_Midnight.html |
// from http://www.perturb.org/display/Perlfunc__Seconds_Since_Midnight.html |
if (isset($_SESSION['time'])) { |
if (isset($_SESSION['time'])) { |
$time = strtotime($_SESSION['time']); |
$time = strtotime($_SESSION['time']); |
return (date("G",$time) * 3600) + (date("i",$time) * 60) + date("s",$time); |
return (date("G",$time) * 3600) + (date("i",$time) * 60) + date("s",$time); |
} |
} |
return (date("G") * 3600) + (date("i") * 60) + date("s"); |
return (date("G") * 3600) + (date("i") * 60) + date("s"); |
} |
} |
|
|
function midnight_seconds_to_time($seconds) |
function midnight_seconds_to_time($seconds) |
{ |
{ |
if ($seconds > 0) { |
if ($seconds > 0) { |
$midnight = mktime (0, 0, 0, date("n"), date("j"), date("Y")); |
$midnight = mktime (0, 0, 0, date("n"), date("j"), date("Y")); |
return date("h:ia",$midnight+$seconds); |
return date("h:ia",$midnight+$seconds); |
} else { |
} else { |
return ""; |
return ""; |
} |
} |
} |
} |
function getPage($url) |
function getPage($url) |
{ |
{ |
debug($url); |
debug($url); |
$ch = curl_init($url); |
$ch = curl_init($url); |
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); |
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); |
curl_setopt( $ch, CURLOPT_HEADER, 0 ); |
curl_setopt( $ch, CURLOPT_HEADER, 0 ); |
curl_setopt($ch,CURLOPT_TIMEOUT,30); |
curl_setopt($ch,CURLOPT_TIMEOUT,30); |
$page = curl_exec($ch); |