sometimes we get errors for wrong locales
authorPhilipp Schüle <p.schuele@metaways.de>
Mon, 15 Aug 2016 09:41:41 +0000 (11:41 +0200)
committerPhilipp Schüle <p.schuele@metaways.de>
Mon, 15 Aug 2016 10:09:45 +0000 (12:09 +0200)
... when trying to get country from geodata

Change-Id: I21e384002890f348fa508b1f2f30a8d60877b54a
error: Zend_Locale_Exception -> The locale '' is no known locale
Reviewed-on: http://gerrit.tine20.com/customers/3436
Reviewed-by: Philipp Schüle <p.schuele@metaways.de>
Tested-by: Philipp Schüle <p.schuele@metaways.de>
tine20/Addressbook/Controller/Contact.php

index 4063f3a..9ac037b 100644 (file)
@@ -380,10 +380,14 @@ class Addressbook_Controller_Contact extends Tinebase_Controller_Record_Abstract
         }
         
         if (! empty($_record->{$_address . 'countryname'})) {
-            $country = Zend_Locale::getTranslation($_record->{$_address . 'countryname'}, 'Country', $_record->{$_address . 'countryname'});
-            if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__
-                . ($_address == 'adr_one_' ? ' Company address' : ' Private address') . ' country ' . $country);
-            $nominatim->setCountry($country);
+            try {
+                $country = Zend_Locale::getTranslation($_record->{$_address . 'countryname'}, 'Country', $_record->{$_address . 'countryname'});
+                if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__
+                    . ($_address == 'adr_one_' ? ' Company address' : ' Private address') . ' country ' . $country);
+                $nominatim->setCountry($country);
+            } catch (Zend_Locale_Exception $zle) {
+                Tinebase_Exception::log($zle, true);
+            }
         }
         
         try {