From e25b0d7781edf02f15401078430c8d40f5c9e544 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 16 Feb 2015 04:34:47 -0500
Subject: [PATCH] Fix a regression where some contact data was missing in export and PHP warnings were logged (Kolab #4522)

---
 program/steps/addressbook/export.inc |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/program/steps/addressbook/export.inc b/program/steps/addressbook/export.inc
index d2507c1..c2f22cb 100644
--- a/program/steps/addressbook/export.inc
+++ b/program/steps/addressbook/export.inc
@@ -133,12 +133,13 @@
 
         foreach ($record as $key => $values) {
             list($field, $section) = explode(':', $key);
-            // avoid casting DateTime objects to array
+            // avoid unwanted casting of DateTime objects to an array
             // (same as in rcube_contacts::convert_save_data())
             if (is_object($values) && is_a($values, 'DateTime')) {
-                $values = array(0 => $values);
+                $values = array($values);
             }
-            foreach ($values as $value) {
+
+            foreach ((array) $values as $value) {
                 if (is_array($value) || is_a($value, 'DateTime') || @strlen($value)) {
                     $vcard->set($field, $value, strtoupper($section));
                 }

--
Gitblit v1.9.1