From c4b13f2b7fffa410074e2c54428645135ef2ee72 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Wed, 16 Nov 2022 21:11:56 +0100 Subject: [PATCH] add support for lookup of linked places --- lib-php/PlaceLookup.php | 8 +++++--- test/bdd/api/lookup/simple.feature | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib-php/PlaceLookup.php b/lib-php/PlaceLookup.php index 33156537..ba4f50bc 100644 --- a/lib-php/PlaceLookup.php +++ b/lib-php/PlaceLookup.php @@ -187,12 +187,12 @@ class PlaceLookup return null; } - $aResults = $this->lookup(array($iPlaceID => new Result($iPlaceID))); + $aResults = $this->lookup(array($iPlaceID => new Result($iPlaceID)), 0, 30, true); return empty($aResults) ? null : reset($aResults); } - public function lookup($aResults, $iMinRank = 0, $iMaxRank = 30) + public function lookup($aResults, $iMinRank = 0, $iMaxRank = 30, $bAllowLinked = false) { Debug::newFunction('Place lookup'); @@ -247,7 +247,9 @@ class PlaceLookup if ($this->sAllowedTypesSQLList) { $sSQL .= 'AND placex.class in '.$this->sAllowedTypesSQLList; } - $sSQL .= ' AND linked_place_id is null '; + if (!$bAllowLinked) { + $sSQL .= ' AND linked_place_id is null '; + } $sSQL .= ' GROUP BY '; $sSQL .= ' osm_type, '; $sSQL .= ' osm_id, '; diff --git a/test/bdd/api/lookup/simple.feature b/test/bdd/api/lookup/simple.feature index 6aae8c48..9ea38812 100644 --- a/test/bdd/api/lookup/simple.feature +++ b/test/bdd/api/lookup/simple.feature @@ -31,3 +31,11 @@ Feature: Places by osm_type and osm_id Tests | jsonv2 | | geojson | | xml | + + + Scenario: Lookup of a linked place + When sending geocodejson lookup query for N1932181216 + Then exactly 1 result is returned + And results contain + | name | + | Vaduz |