From: Sarah Hoffmann Date: Wed, 12 Mar 2014 17:30:27 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/master' X-Git-Tag: deploy~540 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/f404b81388537f33a4a9355991f8eeecd914a5b9 Merge remote-tracking branch 'upstream/master' --- f404b81388537f33a4a9355991f8eeecd914a5b9 diff --cc website/search.php index e85c3369,872d9801..a3a926fd --- a/website/search.php +++ b/website/search.php @@@ -25,106 -24,7 +25,8 @@@ if (isset($aLangPrefOrder['name:ru'])) $oGeocode->setReverseInPlan(true); if (isset($aLangPrefOrder['name:ja'])) $oGeocode->setReverseInPlan(true); if (isset($aLangPrefOrder['name:pl'])) $oGeocode->setReverseInPlan(true); + */ - function loadParamsToGeocode($oGeocode, $aParams, $bBatch = false) - { - if (isset($aParams['addressdetails'])) $oGeocode->setIncludeAddressDetails((bool)$aParams['addressdetails']); - if (isset($aParams['bounded'])) $oGeocode->setBounded((bool)$aParams['bounded']); - if (isset($aParams['dedupe'])) $oGeocode->setDedupe((bool)$aParams['dedupe']); - - if (isset($aParams['limit'])) $oGeocode->setLimit((int)$aParams['limit']); - if (isset($aParams['offset'])) $oGeocode->setOffset((int)$aParams['offset']); - - if (isset($aParams['fallback'])) $oGeocode->setFallback((int)$aParams['fallback']); - - // List of excluded Place IDs - used for more acurate pageing - if (isset($aParams['exclude_place_ids']) && $aParams['exclude_place_ids']) - { - foreach(explode(',',$aParams['exclude_place_ids']) as $iExcludedPlaceID) - { - $iExcludedPlaceID = (int)$iExcludedPlaceID; - if ($iExcludedPlaceID) $aExcludePlaceIDs[$iExcludedPlaceID] = $iExcludedPlaceID; - } - $oGeocode->setExcludedPlaceIds($aExcludePlaceIDs); - } - - // Only certain ranks of feature - if (isset($aParams['featureType'])) $oGeocode->setFeatureType($aParams['featureType']); - if (isset($aParams['featuretype'])) $oGeocode->setFeatureType($aParams['featuretype']); - - // Country code list - if (isset($aParams['countrycodes'])) - { - $aCountryCodes = array(); - foreach(explode(',',$aParams['countrycodes']) as $sCountryCode) - { - if (preg_match('/^[a-zA-Z][a-zA-Z]$/', $sCountryCode)) - { - $aCountryCodes[] = strtolower($sCountryCode); - } - } - $oGeocode->setCountryCodesList($aCountryCodes); - } - - if (isset($aParams['viewboxlbrt']) && $aParams['viewboxlbrt']) - { - $aCoOrdinatesLBRT = explode(',',$aParams['viewboxlbrt']); - $oGeocode->setViewBox($aCoOrdinatesLBRT[0], $aCoOrdinatesLBRT[1], $aCoOrdinatesLBRT[2], $aCoOrdinatesLBRT[3]); - } - else if (isset($aParams['viewbox']) && $aParams['viewbox']) - { - $aCoOrdinatesLTRB = explode(',',$aParams['viewbox']); - $oGeocode->setViewBox($aCoOrdinatesLTRB[0], $aCoOrdinatesLTRB[3], $aCoOrdinatesLTRB[2], $aCoOrdinatesLTRB[1]); - } - - if (isset($aParams['route']) && $aParams['route'] && isset($aParams['routewidth']) && $aParams['routewidth']) - { - $aPoints = explode(',',$aParams['route']); - if (sizeof($aPoints) % 2 != 0) - { - userError("Uneven number of points"); - exit; - } - $fPrevCoord = false; - $aRoute = array(); - foreach($aPoints as $i => $fPoint) - { - if ($i%2) - { - $aRoute[] = array((float)$fPoint, $fPrevCoord); - } - else - { - $fPrevCoord = (float)$fPoint; - } - } - $oGeocode->setRoute($aRoute); - } - - // Search query - $sQuery = (isset($aParams['q'])?trim($aParams['q']):''); - if (!$sQuery && !$bBatch && isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'][0] == '/') - { - $sQuery = substr($_SERVER['PATH_INFO'], 1); - - // reverse order of '/' separated string - $aPhrases = explode('/', $sQuery); - $aPhrases = array_reverse($aPhrases); - $sQuery = join(', ',$aPhrases); - } - if (!$sQuery) - { - $oGeocode->setStructuredQuery(@$aParams['amenity'], @$aParams['street'], @$aParams['city'], @$aParams['county'], @$aParams['state'], @$aParams['country'], @$aParams['postalcode']); - $oGeocode->setReverseInPlan(false); - } - else - { - $oGeocode->setQuery($sQuery); - } - - } - // Format for output $sOutputFormat = 'html'; if (isset($_GET['format']) && ($_GET['format'] == 'html' || $_GET['format'] == 'xml' || $_GET['format'] == 'json' || $_GET['format'] == 'jsonv2'))