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