plugins/libkolab

Thomas Brüderli bruederli at kolabsys.com
Fri Jun 8 14:10:55 CEST 2012


 plugins/libkolab/lib/kolab_storage_cache.php |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit 529d16eac30e74032a7c38e38f312b6928766a4c
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Fri Jun 8 14:10:46 2012 +0200

    Cache start/due dates for task objects

diff --git a/plugins/libkolab/lib/kolab_storage_cache.php b/plugins/libkolab/lib/kolab_storage_cache.php
index 9d4b37e..6d36ae3 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('!(</?[a-z0-9:-]+>)[\n\r\t\s]+!ms', '$1', (string)$object['_formatobj']->write());





More information about the commits mailing list