]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib/lib.php
Add aeroway as alias for airport
[nominatim.git] / lib / lib.php
index b2f85ca2a4f1f721c31ecf793ec0cc0b1714dc9c..d3b88711b0b82200989ee6f8983db104e0d5a0a0 100644 (file)
@@ -45,7 +45,7 @@
                if (!$sUserError) $sUserError = $sError;
                error_log('ERROR: '.$sError);
                echo $sUserError."\n";
-               exit;
+               exit(-1);
        }
 
 
        }
 
 
-       function getPreferredLanguages()
+       function getPreferredLanguages($sLangString=false)
        {
-               // If we have been provided the value in $_GET it overrides browser value
-               if (isset($_GET['accept-language']) && $_GET['accept-language'])
+               if (!$sLangString)
                {
-                       $_SERVER["HTTP_ACCEPT_LANGUAGE"] = $_GET['accept-language'];
+                       // If we have been provided the value in $_GET it overrides browser value
+                       if (isset($_GET['accept-language']) && $_GET['accept-language'])
+                       {
+                               $_SERVER["HTTP_ACCEPT_LANGUAGE"] = $_GET['accept-language'];
+                               $sLangString = $_GET['accept-language'];
+                       }
+                       else if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]))
+                       {
+                               $sLangString = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
+                       }
                }
 
                $aLanguages = array();
-               if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]))
+               if ($sLangString)
                {
-                       if (preg_match_all('/(([a-z]{1,8})(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $aLanguagesParse, PREG_SET_ORDER))
+                       if (preg_match_all('/(([a-z]{1,8})(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i', $sLangString, $aLanguagesParse, PREG_SET_ORDER))
                        {
                                foreach($aLanguagesParse as $iLang => $aLanguage)
                                {
 
                if (sizeof($aNearPostcodes))
                {
-                       return array(array('lat' => $aNearPostcodes[0]['lat'], 'lon' => $aNearPostcodes[0]['lon'], 'radius' => 0.005));
+                       $aPostcodes = array();
+                       foreach($aNearPostcodes as $aPostcode)
+                       {
+                               $aPostcodes[] = array('lat' => $aPostcode['lat'], 'lon' => $aPostcode['lon'], 'radius' => 0.005);
+                       }
+
+                       return $aPostcodes;
                }
 
                return false;
  'landuse:commercial' => array('label'=>'Commercial','frequency'=>657,'icon'=>'',),
 
  'place:airport' => array('label'=>'Airport','frequency'=>36,'icon'=>'transport_airport2', 'defdiameter' => 0.03,),
+ 'aeroway:aerodrome' => array('label'=>'Aerodrome','frequency'=>36,'icon'=>'transport_airport2', 'defdiameter' => 0.03,),
+ 'aeroway' => array('label'=>'Aeroway','frequency'=>36,'icon'=>'transport_airport2', 'defdiameter' => 0.03,),
  'railway:station' => array('label'=>'Station','frequency'=>3431,'icon'=>'transport_train_station2', 'defdiameter' => 0.01,),
  'amenity:place_of_worship' => array('label'=>'Place Of Worship','frequency'=>9049,'icon'=>'place_of_worship_unknown3',),
  'amenity:pub' => array('label'=>'Pub','frequency'=>18969,'icon'=>'food_pub',),
                        {
                                $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'];
                                }