X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/348a3082c926bc6f8d9a2b5ba9341a9bae338ab6..8a796db3c974c55de8d59f3682a149e3642e6952:/website/lookup.php?ds=sidebyside diff --git a/website/lookup.php b/website/lookup.php index 9d0cea4c..0129f217 100755 --- a/website/lookup.php +++ b/website/lookup.php @@ -6,27 +6,17 @@ require_once(CONST_BasePath.'/lib/log.php'); require_once(CONST_BasePath.'/lib/PlaceLookup.php'); require_once(CONST_BasePath.'/lib/output.php'); - - if (strpos(CONST_BulkUserIPs, ','.$_SERVER["REMOTE_ADDR"].',') !== false) - { - $fLoadAvg = getLoadAverage(); - if ($fLoadAvg > 2) sleep(60); - if ($fLoadAvg > 4) sleep(120); - if ($fLoadAvg > 6) - { - userError("Bulk User: Temporary block due to high server load"); - exit; - } - } - - $oDB =& getDB(); ini_set('memory_limit', '200M'); + $oParams = new ParameterParser(); + // Format for output - $sOutputFormat = getParamSet('format', array('xml', 'json'), 'xml'); + $sOutputFormat = $oParams->getSet('format', array('xml', 'json'), 'xml'); // Preferred language - $aLangPrefOrder = getPreferredLanguages(); + $aLangPrefOrder = $oParams->getPreferredLanguages(); + + $oDB =& getDB(); $hLog = logStart($oDB, 'place', $_SERVER['QUERY_STRING'], $aLangPrefOrder); @@ -35,11 +25,11 @@ $oPlaceLookup = new PlaceLookup($oDB); $oPlaceLookup->setLanguagePreference($aLangPrefOrder); - $oPlaceLookup->setIncludeAddressDetails(getParamBool('addressdetails', true)); - $oPlaceLookup->setIncludeExtraTags(getParamBool('extratags', false)); - $oPlaceLookup->setIncludeNameDetails(getParamBool('namedetails', false)); + $oPlaceLookup->setIncludeAddressDetails($oParams->getBool('addressdetails', true)); + $oPlaceLookup->setIncludeExtraTags($oParams->getBool('extratags', false)); + $oPlaceLookup->setIncludeNameDetails($oParams->getBool('namedetails', false)); - $aOsmIds = explode(',', getParamString('osm_ids', '')); + $aOsmIds = explode(',', $oParams->getString('osm_ids', '')); if (count($aOsmIds) > CONST_Places_Max_ID_count) { @@ -56,8 +46,7 @@ if ( $iId > 0 && ($sType == 'N' || $sType == 'W' || $sType == 'R') ) { $aCleanedQueryParts[] = $sType . $iId; - $oPlaceLookup->setOSMID($sType, $iId); - $oPlace = $oPlaceLookup->lookup(); + $oPlace = $oPlaceLookup->lookupOSMID($sType, $iId); if ($oPlace){ // we want to use the search-* output templates, so we need to fill // $aSearchResults and slightly change the (reverse search) oPlace