This commit is contained in:
2026-01-02 01:47:17 +01:00
parent 072d1d4a67
commit 262f62a179

View File

@@ -44,18 +44,13 @@ final class Search
$whereParts[] = implode(' AND ', $conditions);
}
$sql = "SELECT id, title, teaser_public, description, city, region, zip, starts_at, visibility, allow_kids, location_label, lat, lng";
$sql = "SELECT id, title, teaser_public, description, city, region, zip, starts_at, visibility, allow_kids, location_label, lat, lng, 30 AS distance_km";
$distanceFiltering = false;
if ($hasGeo) {
$lat = (float)$geo['lat'];
$lng = (float)$geo['lng'];
$radius = isset($geo['radius']) && is_numeric($geo['radius']) ? max(0.1, (float)$geo['radius']) : 5.0;
$sql .= ",
(6371 * ACOS(LEAST(1,
COS(RADIANS(?)) * COS(RADIANS(lat)) * COS(RADIANS(lng) - RADIANS(?)) +
SIN(RADIANS(?)) * SIN(RADIANS(lat))
))) AS distance_km";
$distanceFiltering = true;
$latRange = $radius / 111.0;
@@ -63,9 +58,6 @@ final class Search
$whereParts[] = "(lat IS NOT NULL AND lng IS NOT NULL)";
$whereParts[] = "(lat BETWEEN ? AND ?)";
$whereParts[] = "(lng BETWEEN ? AND ?)";
$bind[] = $lat;
$bind[] = $lng;
$bind[] = $lat;
$bind[] = $lat - $latRange;
$bind[] = $lat + $latRange;
$bind[] = $lng - $lngRange;