query("DELETE FROM `geo` WHERE time<(NOW() - INTERVAL 1 YEAR)"); if ($db->query("SELECT * FROM `geo` WHERE user_id='$id'")) { $lat = $db['lat']; $lng = $db['lng']; $db->query("UPDATE `geo` SET version='$version', time=NOW() WHERE user_id='$id'"); } else { $lat = rand(-1000, 1000)/2000000; $lng = rand(-1000, 1000)/2000000; $db->query("INSERT INTO `geo` (user_id, lat, lng, version, label) VALUES ('$id', '$lat', '$lng', '$version', '')"); } if (isset($_GET['label'])) { $label = Database::escape($_GET['label']); $db->query("UPDATE `geo` SET label='$label' WHERE user_id='$id'"); } if (isset($_GET['lat']) && isset($_GET['lng'])) { $lat = Database::escape($_GET['lat']); $lng = Database::escape($_GET['lng']); $db->query("UPDATE `geo` SET lat='$lat', lng='$lng' WHERE user_id='$id'"); } if (round($lat*2000) == 0 && round($lng*2000) == 0) { $info = preg_split("/,/", file_get_contents("https://geoip.maxmind.com/b?l={$config['maxmind_key']}&i=" . (isset($_GET['ip']) ? $_GET['ip'] : $_SERVER['REMOTE_ADDR']))); $lat = $info[3] + rand(-1000, 1000)/2000000; $lng = $info[4] + rand(-1000, 1000)/2000000; if ($info && $lat && $lng) { $db->query("UPDATE `geo` SET lat='$lat', lng='$lng' WHERE user_id='$id'"); } } }