2 commits - plugins/calendar plugins/libkolab plugins/tasklist

Thomas Brüderli bruederli at kolabsys.com
Wed Nov 21 12:30:42 CET 2012


 plugins/calendar/drivers/kolab/kolab_calendar.php        |    3 --
 plugins/libkolab/lib/kolab_storage_folder.php            |   18 +++++++++++++++
 plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php |   12 +++++-----
 3 files changed, 25 insertions(+), 8 deletions(-)

New commits:
commit 5ac6bc06fd71ceb891b28a02e5015d625a2c7857
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Nov 21 12:30:27 2012 +0100

    Add getter for color annotations to libkolab and use it in calendar and tasklist

diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php
index 513087e..6f0568c 100644
--- a/plugins/calendar/drivers/kolab/kolab_calendar.php
+++ b/plugins/calendar/drivers/kolab/kolab_calendar.php
@@ -143,8 +143,7 @@ class kolab_calendar
   public function get_color()
   {
     // color is defined in folder METADATA
-    $metadata = $this->storage->get_metadata(array(kolab_storage::COLOR_KEY_PRIVATE, kolab_storage::COLOR_KEY_SHARED));
-    if (($color = $metadata[kolab_storage::COLOR_KEY_PRIVATE]) || ($color = $metadata[kolab_storage::COLOR_KEY_SHARED])) {
+    if ($color = $this->storage->get_color()) {
       return $color;
     }
 
diff --git a/plugins/libkolab/lib/kolab_storage_folder.php b/plugins/libkolab/lib/kolab_storage_folder.php
index 89b2b99..f6730eb 100644
--- a/plugins/libkolab/lib/kolab_storage_folder.php
+++ b/plugins/libkolab/lib/kolab_storage_folder.php
@@ -191,6 +191,24 @@ class kolab_storage_folder
 
 
     /**
+     * Get the color value stores in metadata
+     *
+     * @param string Default color value to return if not set
+     * @return mixed Color value from IMAP metadata or $default is not set
+     */
+    public function get_color($default = null)
+    {
+        // color is defined in folder METADATA
+        $metadata = $this->get_metadata(array(kolab_storage::COLOR_KEY_PRIVATE, kolab_storage::COLOR_KEY_SHARED));
+        if (($color = $metadata[kolab_storage::COLOR_KEY_PRIVATE]) || ($color = $metadata[kolab_storage::COLOR_KEY_SHARED])) {
+            return $color;
+        }
+
+        return $default;
+    }
+
+
+    /**
      * Compose a unique resource URI for this IMAP folder
      */
     public function get_resource_uri()
diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
index b5fbfa8..f1f0aea 100644
--- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
+++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
@@ -116,7 +116,7 @@ class tasklist_kolab_driver extends tasklist_driver
                 'id' => $list_id,
                 'name' => $name,
                 'editname' => $editname,
-                'color' => 'CC0000',
+                'color' => $folder->get_color('0000CC'),
                 'showalarms' => isset($prefs[$list_id]['showalarms']) ? $prefs[$list_id]['showalarms'] : $alarms,
                 'editable' => !$readonly,
                 'active' => $folder->is_subscribed(kolab_storage::SERVERSIDE_SUBSCRIPTION),
@@ -136,8 +136,8 @@ class tasklist_kolab_driver extends tasklist_driver
     {
         // attempt to create a default list for this user
         if (empty($this->lists)) {
-          if ($this->create_list(array('name' => 'Tasks', /*'color' => 'CC0000',*/ 'default' => true)))
-            $this->_read_lists(true);
+            if ($this->create_list(array('name' => 'Tasks', 'color' => '0000CC', 'default' => true)))
+                $this->_read_lists(true);
         }
 
         return $this->lists;


commit 1d214c6184750f524ec923c9b589fe1b1c8aac30
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Nov 21 12:25:14 2012 +0100

    Correctly name and annotake default tasks folder (#1153)

diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
index 10cc590..b5fbfa8 100644
--- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
+++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php
@@ -55,10 +55,10 @@ class tasklist_kolab_driver extends tasklist_driver
     /**
      * Read available calendars for the current user and store them internally
      */
-    private function _read_lists()
+    private function _read_lists($force = false)
     {
         // already read sources
-        if (isset($this->lists))
+        if (isset($this->lists) && !$force)
             return $this->lists;
 
         // get all folders that have type "task"
@@ -136,8 +136,8 @@ class tasklist_kolab_driver extends tasklist_driver
     {
         // attempt to create a default list for this user
         if (empty($this->lists)) {
-          if ($this->create_list(array('name' => 'Default', 'color' => '000000')))
-            $this->_read_lists();
+          if ($this->create_list(array('name' => 'Tasks', /*'color' => 'CC0000',*/ 'default' => true)))
+            $this->_read_lists(true);
         }
 
         return $this->lists;
@@ -154,7 +154,7 @@ class tasklist_kolab_driver extends tasklist_driver
      */
     public function create_list($prop)
     {
-        $prop['type'] = 'task';
+        $prop['type'] = 'task' . ($prop['default'] ? '.default' : '');
         $prop['subscribed'] = kolab_storage::SERVERSIDE_SUBSCRIPTION; // subscribe to folder by default
         $folder = kolab_storage::folder_update($prop);
 





More information about the commits mailing list