X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6a3c6c43ea7133c934834ce1face9212f4e3d239..510054492c61c8c8a1b618d768d9571730c3a771:/website/hierarchy.php?ds=sidebyside diff --git a/website/hierarchy.php b/website/hierarchy.php index 8f2f5237..3ac4f323 100755 --- a/website/hierarchy.php +++ b/website/hierarchy.php @@ -4,7 +4,7 @@ require_once(dirname(dirname(__FILE__)).'/settings/settings.php'); require_once(CONST_BasePath.'/lib/init-website.php'); require_once(CONST_BasePath.'/lib/log.php'); -require_once(CONST_BasePath.'/lib/PlaceLookup.php'); +require_once(CONST_BasePath.'/lib/AddressDetails.php'); require_once(CONST_BasePath.'/lib/output.php'); ini_set('memory_limit', '200M'); @@ -56,13 +56,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 +98,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 '

Parent Of:

'; - $aClassType = getClassTypesWithImportance(); $aGroupedAddressLines = array(); foreach ($aParentOfLines as $aAddressLine) { - if (isset($aClassType[$aAddressLine['class'].':'.$aAddressLine['type'].':'.$aAddressLine['admin_level']]['label']) - && $aClassType[$aAddressLine['class'].':'.$aAddressLine['type'].':'.$aAddressLine['admin_level']]['label'] - ) { - $aAddressLine['label'] = $aClassType[$aAddressLine['class'].':'.$aAddressLine['type'].':'.$aAddressLine['admin_level']]['label']; - } elseif (isset($aClassType[$aAddressLine['class'].':'.$aAddressLine['type']]['label']) - && $aClassType[$aAddressLine['class'].':'.$aAddressLine['type']]['label'] - ) { - $aAddressLine['label'] = $aClassType[$aAddressLine['class'].':'.$aAddressLine['type']]['label']; - } else $aAddressLine['label'] = ucwords($aAddressLine['type']); + $aAddressLine['label'] = Nominatim\ClassTypes\getProperty($aAddressLine, 'label'); + if (!$aAddressLine['label']) { + $aAddressLine['label'] = ucwords($aAddressLine['type']); + } if (!isset($aGroupedAddressLines[$aAddressLine['label']])) $aGroupedAddressLines[$aAddressLine['label']] = array(); $aGroupedAddressLines[$aAddressLine['label']][] = $aAddressLine; @@ -136,7 +128,7 @@ if (sizeof($aParentOfLines)) { echo ''; } } - if (sizeof($aParentOfLines) >= 500) { + if (count($aParentOfLines) >= 500) { echo '

There are more child objects which are not shown.

'; } echo '';