plugins/libkolab

Thomas Brüderli bruederli at kolabsys.com
Thu Oct 4 14:23:09 CEST 2012


 plugins/libkolab/lib/kolab_storage.php |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

New commits:
commit 0df591391e45aa5048c793331132f63e23e48dfd
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Thu Oct 4 14:22:43 2012 +0200

    Save colors to shared annotations only for personal folders. Write to private annotations otherwise (#830)

diff --git a/plugins/libkolab/lib/kolab_storage.php b/plugins/libkolab/lib/kolab_storage.php
index 546d19a..318a7db 100644
--- a/plugins/libkolab/lib/kolab_storage.php
+++ b/plugins/libkolab/lib/kolab_storage.php
@@ -310,11 +310,14 @@ class kolab_storage
 
         // save color in METADATA
         // TODO: also save 'showalarams' and other properties here
-        // TODO: change private/shared precedence depending on private or shared folder
 
         if ($result && $prop['color']) {
-            if (!($meta_saved = self::$imap->set_metadata($folder, array(self::COLOR_KEY_SHARED => $prop['color']))))  // try in shared namespace
-                $meta_saved = self::$imap->set_metadata($folder, array(self::COLOR_KEY_PRIVATE => $prop['color']));    // try in private namespace
+            $meta_saved = false;
+            $ns = self::$imap->folder_namespace($folder);
+            if ($ns == 'personal')  // save in shared namespace for personal folders
+                $meta_saved = self::$imap->set_metadata($folder, array(self::COLOR_KEY_SHARED => $prop['color']));
+            if (!$meta_saved)    // try in private namespace
+                $meta_saved = self::$imap->set_metadata($folder, array(self::COLOR_KEY_PRIVATE => $prop['color']));
             if ($meta_saved)
                 unset($prop['color']);  // unsetting will prevent fallback to local user prefs
         }





More information about the commits mailing list