From 7d8592e64d4b17b42dbfd4be71182605d6bdcc1c Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <bruederli@kolabsys.com> Date: Wed, 07 Jan 2015 11:04:21 -0500 Subject: [PATCH] Correctly handle DateTime values in Vcard export --- program/steps/addressbook/export.inc | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/program/steps/addressbook/export.inc b/program/steps/addressbook/export.inc index a6d3af9..d2507c1 100644 --- a/program/steps/addressbook/export.inc +++ b/program/steps/addressbook/export.inc @@ -133,8 +133,13 @@ foreach ($record as $key => $values) { list($field, $section) = explode(':', $key); - foreach ((array)$values as $value) { - if (is_array($value) || @strlen($value)) { + // avoid casting DateTime objects to array + // (same as in rcube_contacts::convert_save_data()) + if (is_object($values) && is_a($values, 'DateTime')) { + $values = array(0 => $values); + } + foreach ($values as $value) { + if (is_array($value) || is_a($value, 'DateTime') || @strlen($value)) { $vcard->set($field, $value, strtoupper($section)); } } -- Gitblit v1.9.1