X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/effd8e12af440586594a18a04beb33abed260d15..a793f698f3162866d73e64af1a757fc0348660be:/website/search.php diff --git a/website/search.php b/website/search.php index bcec4f18..5beb659d 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); @@ -20,8 +20,8 @@ if (CONST_Search_ReversePlanForAll || isset($aLangPrefOrder['name:de']) || isset($aLangPrefOrder['name:ru']) || isset($aLangPrefOrder['name:ja']) - || isset($aLangPrefOrder['name:pl'])) -{ + || isset($aLangPrefOrder['name:pl']) +) { $oGeocode->setReverseInPlan(true); } @@ -29,31 +29,20 @@ if (CONST_Search_ReversePlanForAll $sOutputFormat = $oParams->getSet('format', array('html', 'xml', 'json', 'jsonv2'), 'html'); // Show / use polygons -if ($sOutputFormat == 'html') -{ +if ($sOutputFormat == 'html') { $oGeocode->setIncludePolygonAsText($oParams->getBool('polygon')); $bAsText = false; -} -else -{ +} else { $bAsPoints = $oParams->getBool('polygon'); $bAsGeoJSON = $oParams->getBool('polygon_geojson'); $bAsKML = $oParams->getBool('polygon_kml'); $bAsSVG = $oParams->getBool('polygon_svg'); $bAsText = $oParams->getBool('polygon_text'); - if ( ( ($bAsGeoJSON?1:0) - + ($bAsKML?1:0) - + ($bAsSVG?1:0) - + ($bAsText?1:0) - + ($bAsPoints?1:0) - ) > CONST_PolygonOutput_MaximumTypes) - { - if (CONST_PolygonOutput_MaximumTypes) - { + $iWantedTypes = ($bAsGeoJSON?1:0) + ($bAsKML?1:0) + ($bAsSVG?1:0) + ($bAsText?1:0) + ($bAsPoints?1:0); + if ($iWantedTypes > CONST_PolygonOutput_MaximumTypes) { + if (CONST_PolygonOutput_MaximumTypes) { userError("Select only ".CONST_PolygonOutput_MaximumTypes." polgyon output option"); - } - else - { + } else { userError("Polygon output is disabled"); } exit; @@ -70,14 +59,12 @@ $oGeocode->setPolygonSimplificationThreshold($oParams->getFloat('polygon_thresho $oGeocode->loadParamArray($oParams); -if (CONST_Search_BatchMode && isset($_GET['batch'])) -{ +if (CONST_Search_BatchMode && isset($_GET['batch'])) { $aBatch = json_decode($_GET['batch'], true); $aBatchResults = array(); - foreach($aBatch as $aBatchParams) - { + 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(); @@ -90,14 +77,15 @@ if (CONST_Search_BatchMode && isset($_GET['batch'])) $oGeocode->setQueryFromParams($oParams); if (!$oGeocode->getQueryString() - && isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'][0] == '/') -{ + && isset($_SERVER['PATH_INFO']) + && $_SERVER['PATH_INFO'][0] == '/' +) { $sQuery = substr(rawurldecode($_SERVER['PATH_INFO']), 1); // reverse order of '/' separated string $aPhrases = explode('/', $sQuery); $aPhrases = array_reverse($aPhrases); - $sQuery = join(', ',$aPhrases); + $sQuery = join(', ', $aPhrases); $oGeocode->setQuery($sQuery); } @@ -106,8 +94,7 @@ $hLog = logStart($oDB, 'search', $oGeocode->getQueryString(), $aLangPrefOrder); $aSearchResults = $oGeocode->lookup(); if ($aSearchResults === false) $aSearchResults = array(); -if ($sOutputFormat=='html') -{ +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")); } logEnd($oDB, $hLog, sizeof($aSearchResults)); @@ -117,12 +104,13 @@ $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); +$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 ($oGeocode->getCountryCodes()) $sMoreURL .= '&countrycodes='.join(',', $oGeocode->getCountryCodes()); 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);