--- a/common.inc.php +++ b/common.inc.php @@ -11,20 +11,29 @@ // 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['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'])) { - $contents = geocode(var_filter($_REQUEST['geolocate'],FILTER_SANITIZE_URL),true); + if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) { + $_SESSION['lat'] = $_REQUEST['lat']; + $_SESSION['lon'] = $_REQUEST['lon']; + } else { + $contents = geocode(filter_var($_REQUEST['geolocate'],FILTER_SANITIZE_URL),true); if (isset($contents[0]->centroid)) { - $session['lat'] = $contents[0]->centroid->coordinates[0]; - $session['lon'] = $contents[0]->centroid->coordinates[1]; + $_SESSION['lat'] = $contents[0]->centroid->coordinates[0]; + $_SESSION['lon'] = $contents[0]->centroid->coordinates[1]; } else { - $session['lat'] = ""; - $session['lon'] = ""; - } + $_SESSION['lat'] = ""; + $_SESSION['lon'] = ""; + } + } } -//print_r ($_SESSION); +debug(print_r($_SESSION,true)); function isDebug() { return $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" || !$_SERVER['SERVER_NAME']; @@ -32,14 +41,16 @@ function isMetricsOn() { - return true; + return false; } function debug($msg) { - if (isDebug()) echo "<!-- $msg -->"; + if (isDebug()) echo "\n<!-- $msg -->\n"; } 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; } @@ -96,7 +107,7 @@ function success(position) { $('#geolocate').val(position.coords.latitude+','+position.coords.longitude); -// setCookie('geolocate',position.coords.latitude+','+position.coords.longitude,1); +$.ajax({ url: \"common.inc.php?geolocate=yes&lat=\"+position.coords.latitude+\"&lon=\"+position.coords.longitude }); $('#here').click(function(event) { $('#geolocate').val(doAJAXrequestForGeolocSessionHere()); return false;}); $('#here').show(); } @@ -199,7 +210,7 @@ curl_setopt( $ch, CURLOPT_HEADER, 0 ); curl_setopt($ch,CURLOPT_TIMEOUT,30); $page = curl_exec($ch); - if(curl_errno($ch)) echo "<font color=red> Database temporarily unavailable: ".curl_errno($ch)." ".curl_error($ch)."</font>"; + if(curl_errno($ch)) echo "<font color=red> Database temporarily unavailable: ".curl_errno($ch)." ".curl_error($ch)."</font><br>"; curl_close($ch); return $page; } @@ -368,7 +379,7 @@ function geocode($query, $giveOptions) { global $cloudmadeAPIkey; - $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?query=".$query."&bbox=-35.5,149.00,-35.15,149.1930&return_location=true&bbox_only=true"; + $url = "http://geocoding.cloudmade.com/$cloudmadeAPIkey/geocoding/v2/find.js?query=".urlencode($query)."&bbox=-35.5,149.00,-35.15,149.1930&return_location=true&bbox_only=true"; $contents = json_decode(getPage($url)); if ($giveOptions) return $contents->features; elseif (isset($contents->features[0]->centroid)) return $contents->features[0]->centroid->coordinates[0].",".$contents->features[0]->centroid->coordinates[1]; @@ -445,11 +456,11 @@ <div class="ui-body"> <div data-role="fieldcontain"> <label for="geolocate"> Current Location: </label> - <input type="text" id="geolocate" name="geolocate" value="Enter co-ordinates or address here"/> <a href="#" style="display:none" name="here" id="here"/>Here?</a> + <input type="text" id="geolocate" name="geolocate" value="'. (isset($_SESSION['lat']) && isset($_SESSION['lon']) ? $_SESSION['lat'] .",". $_SESSION['lon'] :"Enter co-ordinates or address here"). '"/> <a href="#" style="display:none" name="here" id="here"/>Here?</a> </div> <div data-role="fieldcontain"> <label for="time"> Time: </label> - <input type="time" name="time" id="time" value="'. ($_SESSION['time'] ? $_SESSION['time'] : date("H:m")).'"/> <a href="#" name="currentTime" id="currentTime"/>Current Time?</a> + <input type="time" name="time" id="time" value="'. (isset($_SESSION['time']) ? $_SESSION['time'] : date("H:m")).'"/> <a href="#" name="currentTime" id="currentTime"/>Current Time?</a> </div> <div data-role="fieldcontain"> <label for="service_period"> Service Period: </label>