From 37757464fd4d603b7f8cd3038d5c85a2f92de855 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Wed, 07 Jan 2015 11:05:29 -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 2b45e5c..11e8f2a 100644
--- a/program/steps/addressbook/export.inc
+++ b/program/steps/addressbook/export.inc
@@ -131,8 +131,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