From 529d16eac30e74032a7c38e38f312b6928766a4c Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Fri, 8 Jun 2012 14:10:46 +0200 Subject: [PATCH] Cache start/due dates for task objects --- plugins/libkolab/lib/kolab_storage_cache.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/libkolab/lib/kolab_storage_cache.php b/plugins/libkolab/lib/kolab_storage_cache.php index 9d4b37e6..6d36ae34 100644 --- a/plugins/libkolab/lib/kolab_storage_cache.php +++ b/plugins/libkolab/lib/kolab_storage_cache.php @@ -448,9 +448,10 @@ class kolab_storage_cache { $bincols = array_flip($this->binary_cols); $sql_data = array('dtstart' => null, 'dtend' => null, 'xml' => '', 'tags' => '', 'words' => ''); + $objtype = $object['_type'] ? $object['_type'] : $this->folder->type; // set type specific values - if ($this->folder->type == 'event') { + if ($objtype == 'event') { // database runs in server's timezone so using date() is what we want $sql_data['dtstart'] = date('Y-m-d H:i:s', is_object($object['start']) ? $object['start']->format('U') : $object['start']); $sql_data['dtend'] = date('Y-m-d H:i:s', is_object($object['end']) ? $object['end']->format('U') : $object['end']); @@ -460,6 +461,12 @@ class kolab_storage_cache $sql_data['dtend'] = date('Y-m-d H:i:s', $object['recurrence']['UNTIL'] ?: strtotime('now + 2 years')); } } + else if ($objtype == 'task') { + if ($object['start']) + $sql_data['dtstart'] = date('Y-m-d H:i:s', is_object($object['start']) ? $object['start']->format('U') : $object['start']); + if ($object['due']) + $sql_data['dtend'] = date('Y-m-d H:i:s', is_object($object['due']) ? $object['due']->format('U') : $object['due']); + } if ($object['_formatobj']) { $sql_data['xml'] = preg_replace('!()[\n\r\t\s]+!ms', '$1', (string)$object['_formatobj']->write());