--- a/include/common.inc.php +++ b/include/common.inc.php @@ -1,62 +1,53 @@ <?php date_default_timezone_set('Australia/ACT'); -$APIurl = "http://localhost:8765"; -$cloudmadeAPIkey = "daa03470bb8740298d4b10e3f03d63e6"; -$googleMapsAPIkey = "ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q"; -$otpAPIurl = 'http://localhost:8080/opentripplanner-api-webapp/'; -//$debugOkay = Array("session","json","phperror","other"); $debugOkay = Array( "session", "json", "phperror", + "awsotp", + //"squallotp", + //"vanilleotp", + "database", "other" ); +$cloudmadeAPIkey = "daa03470bb8740298d4b10e3f03d63e6"; +$googleMapsAPIkey = "ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q"; +$otpAPIurl = 'http://localhost:8080/opentripplanner-api-webapp/'; +if (isDebug("awsotp") || php_uname('n') == "maxious.xen.prgmr.com") { + $otpAPIurl = 'http://bus-main.lambdacomplex.org:8080/opentripplanner-api-webapp/'; +} +if (isDebug("dotcloudotp") || php_uname('n') == "actbus-www") { + $otpAPIurl = 'http://otp.actbus.dotcloud.com/opentripplanner-api-webapp/'; +} +if (isDebug("squallotp")) { + $otpAPIurl = 'http://10.0.1.108:5080/opentripplanner-api-webapp/'; +} +if (isDebug("vanilleotp")) { + $otpAPIurl = 'http://10.0.1.135:8080/opentripplanner-api-webapp/'; +} if (isDebug("phperror")) error_reporting(E_ALL ^ E_NOTICE); +$labsPath = ""; +if (strstr($_SERVER['PHP_SELF'],"labs")) $labsPath = "../"; + +function isDebugServer() +{ + return php_sapi_name() == "cli" || isset($_SERVER['SERVER_NAME']) && ( $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "10.1.0.4" || $_SERVER['SERVER_NAME'] == +"localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1") ; +} + include_once ("common-geo.inc.php"); include_once ("common-net.inc.php"); +include_once ("common-transit.inc.php"); +include_once ("common-db.inc.php"); + +include_once ("common-request.inc.php"); +include_once ("common-session.inc.php"); include_once ("common-template.inc.php"); -include_once ("common-transit.inc.php"); -// you have to open the session to be able to modify or remove it -session_start(); -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['geolocate'])) { - $geocoded = false; - if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) { - $_SESSION['lat'] = trim(filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)); - $_SESSION['lon'] = trim(filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION)); - } - else { - $geolocate = filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL); - echo $_REQUEST['geolocate']; - if (startsWith($geolocate, "-")) { - $locateparts = explode(",", $geolocate); - $_SESSION['lat'] = $locateparts[0]; - $_SESSION['lon'] = $locateparts[1]; - } - else { - $contents = geocode($geolocate, true); - print_r($contents); - if (isset($contents[0]->centroid)) { - $geocoded = true; - $_SESSION['lat'] = $contents[0]->centroid->coordinates[0]; - $_SESSION['lon'] = $contents[0]->centroid->coordinates[1]; - } - else { - $_SESSION['lat'] = ""; - $_SESSION['lon'] = ""; - } - } - } -} -debug(print_r($_SESSION, true) , "session"); -function isDebugServer() + + +function isAnalyticsOn() { - return $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME']; + return !isDebugServer(); } function isDebug($debugReason = "other") { @@ -69,28 +60,9 @@ } function isJQueryMobileDevice() { - // 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']; - 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); + // 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']; + 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() { @@ -143,6 +115,7 @@ } return (strcasecmp(substr($haystack, 0, strlen($needle)) , $needle) === 0); } + function endsWith($haystack, $needle, $case = true) { if ($case) { @@ -176,5 +149,42 @@ if ($sort_ascending) $array = array_reverse($temp_array); else $array = $temp_array; } +function sktimesort(&$array, $subkey = "id", $sort_ascending = false) +{ + if (count($array)) $temp_array[key($array) ] = array_shift($array); + foreach ($array as $key => $val) { + $offset = 0; + $found = false; + foreach ($temp_array as $tmp_key => $tmp_val) { + if (!$found and strtotime($val[$subkey]) > strtotime($tmp_val[$subkey])) { + $temp_array = array_merge((array)array_slice($temp_array, 0, $offset) , array( + $key => $val + ) , array_slice($temp_array, $offset)); + $found = true; + } + $offset++; + } + if (!$found) $temp_array = array_merge($temp_array, array( + $key => $val + )); + } + if ($sort_ascending && isset($temp_array)) $array = array_reverse($temp_array); + else $array = $temp_array; +} +function r_implode( $glue, $pieces ) +{ + foreach( $pieces as $r_pieces ) + { + if( is_array( $r_pieces ) ) + { + $retVal[] = r_implode( $glue, $r_pieces ); + } + else + { + $retVal[] = $r_pieces; + } + } + return implode( $glue, $retVal ); +} ?>