X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2a784fa3d4533d11e3227f868085dcee5a9870c6..a796edb9ced6d46c7edf9a8a7d1ccad3564da004:/website/search.php diff --git a/website/search.php b/website/search.php index e90077a3..4952465e 100755 --- a/website/search.php +++ b/website/search.php @@ -9,9 +9,9 @@ require_once(CONST_BasePath.'/lib/output.php'); ini_set('memory_limit', '200M'); $oDB =& getDB(); -$oParams = new ParameterParser(); +$oParams = new Nominatim\ParameterParser(); -$oGeocode = new Geocode($oDB); +$oGeocode = new Nominatim\Geocode($oDB); $aLangPrefOrder = $oParams->getPreferredLanguages(); $oGeocode->setLanguagePreference($aLangPrefOrder); @@ -30,8 +30,8 @@ $sOutputFormat = $oParams->getSet('format', array('html', 'xml', 'json', 'jsonv2 // Show / use polygons if ($sOutputFormat == 'html') { - $oGeocode->setIncludePolygonAsText($oParams->getBool('polygon')); - $bAsText = false; + $oGeocode->setIncludePolygonAsGeoJSON($oParams->getBool('polygon_geojson')); + $bAsGeoJSON = false; } else { $bAsPoints = $oParams->getBool('polygon'); $bAsGeoJSON = $oParams->getBool('polygon_geojson'); @@ -64,7 +64,7 @@ if (CONST_Search_BatchMode && isset($_GET['batch'])) { $aBatchResults = array(); foreach ($aBatch as $aBatchParams) { $oBatchGeocode = clone $oGeocode; - $oBatchParams = new ParameterParser($aBatchParams); + $oBatchParams = new Nominatim\ParameterParser($aBatchParams); $oBatchGeocode->loadParamArray($oBatchParams); $oBatchGeocode->setQueryFromParams($oBatchParams); $aSearchResults = $oBatchGeocode->lookup(); @@ -92,7 +92,6 @@ if (!$oGeocode->getQueryString() $hLog = logStart($oDB, 'search', $oGeocode->getQueryString(), $aLangPrefOrder); $aSearchResults = $oGeocode->lookup(); -if ($aSearchResults === false) $aSearchResults = array(); if ($sOutputFormat=='html') { $sDataDate = chksql($oDB->getOne("select TO_CHAR(lastimportdate - '2 minutes'::interval,'YYYY/MM/DD HH24:MI')||' GMT' from import_status limit 1")); @@ -100,19 +99,13 @@ if ($sOutputFormat=='html') { logEnd($oDB, $hLog, sizeof($aSearchResults)); $sQuery = $oGeocode->getQueryString(); -$sViewBox = $oGeocode->getViewBoxString(); -$bShowPolygons = (isset($_GET['polygon']) && $_GET['polygon']); -$aExcludePlaceIDs = $oGeocode->getExcludedPlaceIDs(); - -$sMoreURL = CONST_Website_BaseURL.'search.php?format='.urlencode($sOutputFormat).'&exclude_place_ids='.join(',', $aExcludePlaceIDs); -if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) $sMoreURL .= '&accept-language='.$_SERVER["HTTP_ACCEPT_LANGUAGE"]; -if ($bShowPolygons) $sMoreURL .= '&polygon=1'; -if ($oGeocode->getIncludeAddressDetails()) $sMoreURL .= '&addressdetails=1'; -if ($oGeocode->getIncludeExtraTags()) $sMoreURL .= '&extratags=1'; -if ($oGeocode->getIncludeNameDetails()) $sMoreURL .= '&namedetails=1'; -if ($sViewBox) $sMoreURL .= '&viewbox='.urlencode($sViewBox); -if (isset($_GET['nearlat']) && isset($_GET['nearlon'])) $sMoreURL .= '&nearlat='.(float)$_GET['nearlat'].'&nearlon='.(float)$_GET['nearlon']; -$sMoreURL .= '&q='.urlencode($sQuery); + +$aMoreParams = $oGeocode->getMoreUrlParams(); +if ($sOutputFormat != 'html') $aMoreParams['format'] = $sOutputFormat; +if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) { + $aMoreParams['accept-language'] = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; +} +$sMoreURL = CONST_Website_BaseURL.'search.php?'.http_build_query($aMoreParams); if (CONST_Debug) exit;