X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/ab477736045a1e68dc7545140a04cb58c8a4a06e..cd37227a3c08c2078037278c6e2ad9c4dd550df8:/website/search.php?ds=sidebyside diff --git a/website/search.php b/website/search.php index ecf584ae..9137bead 100755 --- a/website/search.php +++ b/website/search.php @@ -13,17 +13,20 @@ $fLat = CONST_Default_Lat; $fLon = CONST_Default_Lon; $iZoom = CONST_Default_Zoom; - $sSuggestionURL = false; $oGeocode =& new Geocode($oDB); $aLangPrefOrder = getPreferredLanguages(); $oGeocode->setLanguagePreference($aLangPrefOrder); - if (isset($aLangPrefOrder['name:de'])) $oGeocode->setReverseInPlan(true); - if (isset($aLangPrefOrder['name:ru'])) $oGeocode->setReverseInPlan(true); - if (isset($aLangPrefOrder['name:ja'])) $oGeocode->setReverseInPlan(true); - if (isset($aLangPrefOrder['name:pl'])) $oGeocode->setReverseInPlan(true); + if (CONST_Search_ReversePlanForAll + || isset($aLangPrefOrder['name:de']) + || isset($aLangPrefOrder['name:ru']) + || isset($aLangPrefOrder['name:ja']) + || isset($aLangPrefOrder['name:pl'])) + { + $oGeocode->setReverseInPlan(true); + } // Format for output $sOutputFormat = 'html'; @@ -44,14 +47,12 @@ $bAsKML = (boolean)isset($_GET['polygon_kml']) && $_GET['polygon_kml']; $bAsSVG = (boolean)isset($_GET['polygon_svg']) && $_GET['polygon_svg']; $bAsText = (boolean)isset($_GET['polygon_text']) && $_GET['polygon_text']; - $fThreshold = 0.0; - if (isset($_GET['polygon_threshold'])) $fThreshold = (float)$_GET['polygon_threshold']; if ( ( ($bAsGeoJSON?1:0) - + ($bAsKML?1:0) - + ($bAsSVG?1:0) - + ($bAsText?1:0) - + ($bAsPoints?1:0) - ) > CONST_PolygonOutput_MaximumTypes) + + ($bAsKML?1:0) + + ($bAsSVG?1:0) + + ($bAsText?1:0) + + ($bAsPoints?1:0) + ) > CONST_PolygonOutput_MaximumTypes) { if (CONST_PolygonOutput_MaximumTypes) { @@ -68,9 +69,13 @@ $oGeocode->setIncludePolygonAsGeoJSON($bAsGeoJSON); $oGeocode->setIncludePolygonAsKML($bAsKML); $oGeocode->setIncludePolygonAsSVG($bAsSVG); - $oGeocode->setPolygonSimplificationThreshold($fThreshold); } + // Polygon simplification threshold (optional) + $fThreshold = 0.0; + if (isset($_GET['polygon_threshold'])) $fThreshold = (float)$_GET['polygon_threshold']; + $oGeocode->setPolygonSimplificationThreshold($fThreshold); + $oGeocode->loadParamArray($_GET); if (CONST_Search_BatchMode && isset($_GET['batch'])) @@ -87,23 +92,24 @@ } include(CONST_BasePath.'/lib/template/search-batch-json.php'); exit; - } else { - if (!(isset($_GET['q']) && $_GET['q']) && 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); - $oGeocode->setQuery($sQuery); - } - else - { - $oGeocode->setQueryFromParams($_GET); - } - - } + } + else + { + if (!(isset($_GET['q']) && $_GET['q']) && 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); + $oGeocode->setQuery($sQuery); + } + else + { + $oGeocode->setQueryFromParams($_GET); + } + } $hLog = logStart($oDB, 'search', $oGeocode->getQueryString(), $aLangPrefOrder); @@ -120,10 +126,12 @@ $bShowPolygons = (isset($_GET['polygon']) && $_GET['polygon']); $aExcludePlaceIDs = $oGeocode->getExcludedPlaceIDs(); - $sMoreURL = CONST_Website_BaseURL.'search?format='.urlencode($sOutputFormat).'&exclude_place_ids='.join(',',$oGeocode->getExcludedPlaceIDs()); + $sMoreURL = CONST_Website_BaseURL.'search.php?format='.urlencode($sOutputFormat).'&exclude_place_ids='.join(',',$oGeocode->getExcludedPlaceIDs()); 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);