--- a/include/common-session.inc.php +++ b/include/common-session.inc.php @@ -1,63 +1,77 @@ centroid)) { - $geocoded = true; - $_SESSION['lat'] = $contents[0]->centroid->coordinates[0]; - $_SESSION['lon'] = $contents[0]->centroid->coordinates[1]; - } - else { - $_SESSION['lat'] = ""; - $_SESSION['lon'] = ""; - } - } - } - sessionUpdated(); + $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 { + if (startsWith($geolocate, "-")) { + $locateparts = explode(",", $geolocate); + $_SESSION['lat'] = $locateparts[0]; + $_SESSION['lon'] = $locateparts[1]; + } else if (strpos($geolocate, "(") !== false) { + $geoParts = explode("(", $geolocate); + $locateparts = explode(",", str_replace(")", "", $geoParts[1])); + $_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'] = ""; + } + } + } + sessionUpdated(); } -function sessionUpdated() -{ - $_SESSION['lastUpdated'] = time(); + +function sessionUpdated() { + $_SESSION['lastUpdated'] = time(); } + // timeoutSession $TIMEOUT_LIMIT = 60 * 5; // 5 minutes if (isset($_SESSION['lastUpdated']) && $_SESSION['lastUpdated'] + $TIMEOUT_LIMIT < time()) { - debug("Session timeout " . ($_SESSION['lastUpdated'] + $TIMEOUT_LIMIT) . ">" . time() , "session"); - session_destroy(); - session_start(); + debug("Session timeout " . ($_SESSION['lastUpdated'] + $TIMEOUT_LIMIT) . ">" . time(), "session"); + session_destroy(); + session_start(); } + //debug(print_r($_SESSION, true) , "session"); -function current_time() -{ - return ($_SESSION['time'] ? $_SESSION['time'] : date("H:i:s")); +function current_time() { + return ($_SESSION['time'] ? $_SESSION['time'] : date("H:i:s")); } + ?>