X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/fb0d219c7bc624693821cee87fd489798fe86e0a..05e44fad072454584426f8a75976ec12a07910ef:/lib/lib.php diff --git a/lib/lib.php b/lib/lib.php index 62ffa293..54c8c7d0 100644 --- a/lib/lib.php +++ b/lib/lib.php @@ -138,7 +138,7 @@ arsort($aLanguages); } } - if (!sizeof($aLanguages)) $aLanguages = array(CONST_Default_Language=>1); + if (!sizeof($aLanguages) && CONST_Default_Language) $aLanguages = array(CONST_Default_Language=>1); foreach($aLanguages as $sLangauge => $fLangauagePref) { $aLangPrefOrder['short_name:'.$sLangauge] = 'short_name:'.$sLangauge; @@ -165,18 +165,20 @@ } - function getWordSets($aWords) + function getWordSets($aWords, $iDepth) { $aResult = array(array(join(' ',$aWords))); $sFirstToken = ''; - while(sizeof($aWords) > 1) - { - $sWord = array_shift($aWords); - $sFirstToken .= ($sFirstToken?' ':'').$sWord; - $aRest = getWordSets($aWords); - foreach($aRest as $aSet) + if ($iDepth < 7) { + while(sizeof($aWords) > 1) { - $aResult[] = array_merge(array($sFirstToken),$aSet); + $sWord = array_shift($aWords); + $sFirstToken .= ($sFirstToken?' ':'').$sWord; + $aRest = getWordSets($aWords, $iDepth+1); + foreach($aRest as $aSet) + { + $aResult[] = array_merge(array($sFirstToken),$aSet); + } } } return $aResult; @@ -783,20 +785,6 @@ } - function getWordSuggestions(&$oDB, $sWord) - { - $sWordQuoted = getDBQuoted(trim($sWord)); - $sSQL = "select *,levenshtein($sWordQuoted,word) from test_token "; - $sSQL .= "where (metaphone = dmetaphone($sWordQuoted) or metaphonealt = dmetaphone($sWordQuoted) or "; - $sSQL .= "metaphone = dmetaphone_alt($sWordQuoted) or metaphonealt = dmetaphone_alt($sWordQuoted)) "; - $sSQL .= "and len between length($sWordQuoted)-2 and length($sWordQuoted)+2 "; - $sSQL .= "and levenshtein($sWordQuoted,word) < 3 "; - $sSQL .= "order by levenshtein($sWordQuoted,word) asc, abs(len - length($sWordQuoted)) asc limit 20"; - $aSimilar = $oDB->getAll($sSQL); - return $aSimilar; - } - - function geocodeReverse($fLat, $fLon, $iZoom=18) { $oDB =& getDB(); @@ -896,16 +884,7 @@ return $iPlaceID; } - function loadStructuredAddressElement(&$aStructuredQuery, &$iMinAddressRank, &$iMaxAddressRank, $aParams, $sKey, $iNewMinAddressRank, $iNewMaxAddressRank) + function addQuotes($s) { - if (!isset($_GET[$sKey])) return false; - $sValue = trim($_GET[$sKey]); - if (!$sValue) return false; - $aStructuredQuery[$sKey] = $sValue; - if ($iMinAddressRank == 0 && $iMaxAddressRank == 30) - { - $iMinAddressRank = $iNewMinAddressRank; - $iMaxAddressRank = $iNewMaxAddressRank; - } - return true; + return "'".$s."'"; }