]> git.openstreetmap.org Git - nominatim.git/commitdiff
always use object type for details keywords
authorSarah Hoffmann <lonvia@denofr.de>
Mon, 17 May 2021 14:36:32 +0000 (16:36 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 17 May 2021 14:36:32 +0000 (16:36 +0200)
When name and address is empty, the keywords field in the response
of the details API would be an array because that is what PHP's
json_encode defaults to with empty array(). This default can only
be changed globally per json_encode call and that might cause
unintended colleteral damage. Work around the issue by making
name and address an empty array instead of keywords.

Fixes #2329.

lib-php/template/details-json.php

index 0449dbb94f20916c26b1f68562e0ea185d7d3807..a813b9a6524efc4e912c71ecc07a7f2884c925f5 100644 (file)
@@ -81,10 +81,14 @@ if ($bIncludeKeywords) {
 
     if ($aPlaceSearchNameKeywords) {
         $aPlaceDetails['keywords']['name'] = array_map($funcMapKeyword, $aPlaceSearchNameKeywords);
+    } else {
+        $aPlaceDetails['keywords']['name'] = array();
     }
 
     if ($aPlaceSearchAddressKeywords) {
         $aPlaceDetails['keywords']['address'] = array_map($funcMapKeyword, $aPlaceSearchAddressKeywords);
+    } else {
+        $aPlaceDetails['keywords']['address'] = array();
     }
 }