--- a/common.inc.php +++ b/common.inc.php @@ -9,7 +9,8 @@ $debugOkay = Array( "session", "json", - "phperror" + "phperror", + "other" ); if (isDebug("phperror")) error_reporting(E_ALL ^ E_NOTICE); include_once ("common-geo.inc.php"); @@ -25,13 +26,22 @@ $_SESSION['time'] = filter_var($_REQUEST['time'], FILTER_SANITIZE_STRING); } if (isset($_REQUEST['geolocate'])) { + $geocoded = false; if (isset($_REQUEST['lat']) && isset($_REQUEST['lon'])) { - $_SESSION['lat'] = filter_var($_REQUEST['lat'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); - $_SESSION['lon'] = filter_var($_REQUEST['lon'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); + $_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 { - $contents = geocode(filter_var($_REQUEST['geolocate'], FILTER_SANITIZE_URL) , true); + $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]; @@ -40,6 +50,7 @@ else { $_SESSION['lat'] = ""; $_SESSION['lon'] = ""; + } } } if ($_SESSION['lat'] != "" && isMetricsOn()) { @@ -139,5 +150,33 @@ { return str_replace(")", "</small>", str_replace("(", "<br><small>", $input)); } + +function sksort(&$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 strtolower($val[$subkey]) > strtolower($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) $array = array_reverse($temp_array); + + else $array = $temp_array; +} ?>