X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/9c6d30ca956849bab8db239627dfdf4f9eeec6bb..30aceda42b01ec8696cd8b81c937ea2a987ae0f0:/lib/lib.php diff --git a/lib/lib.php b/lib/lib.php index 07d5bcf3..b54023a4 100644 --- a/lib/lib.php +++ b/lib/lib.php @@ -45,7 +45,7 @@ if (!$sUserError) $sUserError = $sError; error_log('ERROR: '.$sError); echo $sUserError."\n"; - exit; + exit(-1); } @@ -94,7 +94,8 @@ function bySearchRank($a, $b) { - if ($a['iSearchRank'] == $b['iSearchRank']) return 0; + if ($a['iSearchRank'] == $b['iSearchRank']) + return strlen($a['sOperator']) + strlen($a['sHouseNumber']) - strlen($b['sOperator']) - strlen($b['sHouseNumber']); return ($a['iSearchRank'] < $b['iSearchRank']?-1:1); } @@ -788,7 +789,7 @@ { $sTypeLabel = strtolower(isset($aTypeLabel['simplelabel'])?$aTypeLabel['simplelabel']:$aTypeLabel['label']); $sTypeLabel = str_replace(' ','_',$sTypeLabel); - if (!isset($aAddress[$sTypeLabel]) || (isset($aFallback[$sTypeLabel]) && $aFallback[$sTypeLabel])) + if (!isset($aAddress[$sTypeLabel]) || (isset($aFallback[$sTypeLabel]) && $aFallback[$sTypeLabel]) || $aLine['class'] == 'place') { $aAddress[$sTypeLabel] = $aLine['localname']?$aLine['localname']:$aLine['housenumber']; }