update("players", [ "latitude" => $VARS["latitude"], "longitude" => $VARS["longitude"], "lastping" => date("Y-m-d H:i:s") ], [ "accountid" => getRequestUser()->getUID() ]); $radius = 0.5; if (!empty($VARS["radius"])) { $radius = $VARS["radius"]; } $poiurl = $SETTINGS["poi"]["server"] . "?latitude=" . $VARS["latitude"] . "&longitude=" . $VARS["longitude"] . "&radius_mi=" . $radius; foreach ($SETTINGS["poi"]["categories"] as $cat) { $poiurl .= "&type[]=$cat"; } $nearby = json_decode(file_get_contents($poiurl), true)["features"]; $geojson = [ "status" => "OK", "name" => "Nearby Places", "type" => "FeatureCollection", "features" => [] ]; if ($SETTINGS["debug"]) { $geojson["url"] = $poiurl; } foreach ($nearby as $n) { $properties = [ "id" => $n["properties"]["osmid"], "name" => $n["properties"]["name"], "currentlife" => 0, "maxlife" => 0, "teamid" => null, "ownerid" => null ]; // Update properties with game data if ($database->has("locations", ["osmid" => $properties["id"]])) { $gameprops = $database->get("locations", ["teamid", "ownerid", "currentlife", "maxlife"], ["osmid" => $properties["id"]]); foreach ($gameprops as $key => $value) { $properties[$key] = $value; } } $geojson["features"][] = [ "type" => "Feature", "geometry" => [ "type" => "Point", "coordinates" => [ $n["geometry"]["coordinates"][0], $n["geometry"]["coordinates"][1], ] ], "properties" => $properties ]; } exitWithJson($geojson);