From d6ea9104ba778b10ab54ad85b0280040e9d5fa75 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 20 Jan 2017 10:38:21 +0100 Subject: [PATCH] Fix "unknown" dates in event dialog (Bifrost#T21544) --- plugins/libkolab/lib/kolab_format.php | 1 + plugins/libkolab/lib/kolab_storage_cache.php | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/plugins/libkolab/lib/kolab_format.php b/plugins/libkolab/lib/kolab_format.php index d00d5ee4..814800d2 100644 --- a/plugins/libkolab/lib/kolab_format.php +++ b/plugins/libkolab/lib/kolab_format.php @@ -528,6 +528,7 @@ abstract class kolab_format $created = $object['created'] ?: new DateTime('now'); $created->setTimezone(new DateTimeZone('UTC')); // must be UTC $this->obj->setCreated(self::get_datetime($created)); + $object['created'] = $created; } $object['changed'] = new DateTime('now', new DateTimeZone('UTC')); diff --git a/plugins/libkolab/lib/kolab_storage_cache.php b/plugins/libkolab/lib/kolab_storage_cache.php index 3a73d982..87c0649b 100644 --- a/plugins/libkolab/lib/kolab_storage_cache.php +++ b/plugins/libkolab/lib/kolab_storage_cache.php @@ -893,6 +893,12 @@ class kolab_storage_cache $object['_size'] = strlen($sql_arr['xml']); $object['_formatobj'] = kolab_format::factory($format_type, 3.0, $sql_arr['xml']); + // Fix old broken objects with missing creation date + if (empty($object['created']) && method_exists($object['_formatobj'], 'to_array')) { + $new_object = $object['_formatobj']->to_array(); + $object['created'] = $new_object['created']; + } + return $object; }