--- a/include/common.inc.php +++ b/include/common.inc.php @@ -1,95 +1,109 @@ <?php + +/* + * Copyright 2010,2011 Alexander Sadleir + + Licensed under the Apache License, Version 2.0 (the 'License'); + 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 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an 'AS IS' BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + */ date_default_timezone_set('Australia/ACT'); $debugOkay = Array( - "session", - "json", - "phperror", - "awsotp", - //"squallotp", - //"vanilleotp", - "database", - "other" + 'session', + 'json', + 'phperror', + 'awsotp', + //'squallotp', + //'vanilleotp', + 'database', + 'other' ); $GTFSREnabled = true; -$cloudmadeAPIkey = "daa03470bb8740298d4b10e3f03d63e6"; -$googleMapsAPIkey = "ABQIAAAA95XYXN0cki3Yj_Sb71CFvBTPaLd08ONybQDjcH_VdYtHHLgZvRTw2INzI_m17_IoOUqH3RNNmlTk1Q"; +$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") { +if (isDebug('awsotp') || php_uname('n') == 'maxious.xen.prgmr.com' || strstr(php_uname('n'),'actbus')) { $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/'; } -if (isDebug("squallotp")) { +if (isDebug('squallotp')) { $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/'; } -if (isDebug("phperror")) +if (isDebug('phperror')) error_reporting(E_ALL ^ E_NOTICE); -$basePath = ""; + +define('ROOT' , pathinfo(__FILE__, PATHINFO_DIRNAME)); if (strstr($_SERVER['PHP_SELF'], "labs/") || strstr($_SERVER['PHP_SELF'], "myway/") - || strstr($_SERVER['PHP_SELF'], "servicealerts/")) + || strstr($_SERVER['PHP_SELF'], "lib/") + || strstr($_SERVER['PHP_SELF'], "geo/") + || strstr($_SERVER['PHP_SELF'], "include/") + || strstr($_SERVER['PHP_SELF'], "rtpis/")) { $basePath = "../"; +} function isDebugServer() { - 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"); -} - -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-auth.inc.php"); -include_once ("common-template.inc.php"); + + return php_sapi_name() == 'cli' || strstr(php_uname('n'),'actbus') || 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'] == '192.168.1.8' || $_SERVER['SERVER_NAME'] == '192.168.178.24'); +} + +if (isset($_SERVER['SERVER_NAME']) && $_SERVER['SERVER_NAME'] == 'maxious.xen.prgmr.com') { +// Set the exception handler +require ROOT.'../lib/amon-php/amon.php'; +Amon::setup_exception_handler(); +} + +include_once ('common-geo.inc.php'); +include_once ('common-net.inc.php'); +include_once ('common-transit.inc.php'); +if (!strstr($_SERVER['PHP_SELF'], 'feedback')) { + include_once ('common-db.inc.php'); +} + +include_once ('common-request.inc.php'); +include_once ('common-session.inc.php'); +include_once ('common-auth.inc.php'); +include_once ('common-template.inc.php'); function isAnalyticsOn() { $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); } -function isDebug($debugReason = "other") { +function isDebug($debugReason = 'other') { global $debugOkay; return in_array($debugReason, $debugOkay, false) && isDebugServer(); } -function debug($msg, $debugReason = "other") { +function debug($msg, $debugReason = 'other') { if (isDebug($debugReason)) - echo "\n<!-- " . date(DATE_RFC822) . "\n $msg -->\n"; -} - + echo PHP_EOL.'<!-- ' . date(DATE_RFC822) . PHP_EOL.$msg.PHP_EOL.' -->'.PHP_EOL; +} +function isIOSDevice() { + return strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPod') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPad'); +} 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); } -function isFastDevice() { - $ua = $_SERVER['HTTP_USER_AGENT']; - $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; -} function array_flatten($a, $f = array()) { if (!$a || !is_array($a)) @@ -132,11 +146,7 @@ return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)), $needle) === 0); } -function bracketsMeanNewLine($input) { - return str_replace(")", "</small>", str_replace("(", "<br><small>", $input)); -} - -function sksort(&$array, $subkey = "id", $sort_ascending = false) { +function sksort(&$array, $subkey = 'id', $sort_ascending = false) { if (count($array)) $temp_array[key($array)] = array_shift($array); foreach ($array as $key => $val) { @@ -162,7 +172,7 @@ $array = $temp_array; } -function sktimesort(&$array, $subkey = "id", $sort_ascending = false) { +function sktimesort(&$array, $subkey = 'id', $sort_ascending = false) { if (count($array)) $temp_array[key($array)] = array_shift($array); foreach ($array as $key => $val) { @@ -199,5 +209,3 @@ return implode($glue, $retVal); } -?> -