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