country fields can be ghosted
authorMichael J. Rubinsky <mrubinsk@horde.org>
Tue, 11 May 2010 15:39:56 +0000 (11:39 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Tue, 11 May 2010 15:39:56 +0000 (11:39 -0400)
turba/lib/Driver.php

index 8547bf7..93dee05 100644 (file)
@@ -2517,17 +2517,25 @@ class Turba_Driver
 
         /* Countries */
         include 'Horde/Nls/Countries.php';
-        $country = array_search($message->homecountry, $countries);
-        if ($country === false) {
-            $country = Horde_String::convertCharset($message->homecountry, 'utf-8', $charset);
-        }
-        $hash['homeCountry'] = $country;
-        $country = array_search($message->businesscountry, $countries);
-        if ($country === false) {
-            $country = Horde_String::convertCharset($message->businesscountry, 'utf-8', $charset);
+        if (!empty($message->homecountry)) {
+            $country = array_search($message->homecountry, $countries);
+            if ($country === false) {
+                $country = Horde_String::convertCharset($message->homecountry, 'utf-8', $charset);
+            }
+            $hash['homeCountry'] = $country;
+        } elseif (!$message->isGhosted('businesscountry')) {
+            $hash['homeCountry'] = null;
         }
-        $hash['workCountry'] = $country;
 
+        if (!empty($message->businesscountry)) {
+            $country = array_search($message->businesscountry, $countries);
+            if ($country === false) {
+                $country = Horde_String::convertCharset($message->businesscountry, 'utf-8', $charset);
+            }
+            $hash['workCountry'] = $country;
+        } elseif (!$message->isGhosted('businesscountry')) {
+            $hash['workCountry'] = null;
+        }
         return $hash;
     }