X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a8a700e16d286971c43c013b322a1fd4a339de4d..c47d1f4900bd156ec28643e450248233a0241329:/website/hierarchy.php diff --git a/website/hierarchy.php b/website/hierarchy.php old mode 100755 new mode 100644 index 8f2f5237..2c56b015 --- a/website/hierarchy.php +++ b/website/hierarchy.php @@ -1,10 +1,8 @@ getSet('format', array('html', 'json'), 'html'); $aLangPrefOrder = $oParams->getPreferredLanguages(); -$sLanguagePrefArraySQL = 'ARRAY['.join(',', array_map('getDBQuoted', $aLangPrefOrder)).']'; + $sPlaceId = $oParams->getString('place_id'); $sOsmType = $oParams->getSet('osmtype', array('N', 'W', 'R')); $iOsmId = $oParams->getInt('osmid', -1); -$oDB =& getDB(); +$oDB = new Nominatim\DB(); +$oDB->connect(); + +$sLanguagePrefArraySQL = $oDB->getArraySQL($oDB->getDBQuotedList($aLangPrefOrder)); if ($sOsmType && $iOsmId > 0) { $sPlaceId = chksql($oDB->getOne("select place_id from placex where osm_type = '".$sOsmType."' and osm_id = ".$iOsmId." order by type = 'postcode' asc")); @@ -56,13 +57,11 @@ if (CONST_Use_Aux_Location_data) { if ($iParentPlaceID) $iPlaceID = $iParentPlaceID; } -$oPlaceLookup = new Nominatim\PlaceLookup($oDB); -$oPlaceLookup->setLanguagePreference($aLangPrefOrder); -$oPlaceLookup->setIncludeAddressDetails(true); -$aPlaceAddress = array_reverse($oPlaceLookup->getAddressDetails($iPlaceID)); +$oAddressLookup = new AddressDetails($oDB, $iPlaceID, -1, $aLangPrefOrder); +$aPlaceAddress = array_reverse($oAddressLookup->getAddressDetails()); -if (!sizeof($aPlaceAddress)) userError('Unknown place id.'); +if (empty($aPlaceAddress)) userError('Unknown place id.'); $aBreadcrums = array(); foreach ($aPlaceAddress as $i => $aPlace) { @@ -100,20 +99,14 @@ $sSQL .= ' where parent_place_id in ('.join(',', $aRelatedPlaceIDs).') and name $sSQL .= ' order by rank_address asc,rank_search asc,localname,class, type,housenumber'; $aParentOfLines = chksql($oDB->getAll($sSQL)); -if (sizeof($aParentOfLines)) { +if (!empty($aParentOfLines)) { echo '
There are more child objects which are not shown.
'; } echo '';