diff --git a/plugins/libkolab/lib/kolab_storage.php b/plugins/libkolab/lib/kolab_storage.php index d6e7043a..3d1dccba 100644 --- a/plugins/libkolab/lib/kolab_storage.php +++ b/plugins/libkolab/lib/kolab_storage.php @@ -752,8 +752,7 @@ class kolab_storage while (count($path) > 1 && ($parent = join($delim, $path))) { $name = kolab_storage::object_name($parent, $folder->get_namespace()); if (!in_array($name, $existing)) { - $parents[$parent] = new virtual_kolab_storage_folder($name, $folder->get_namespace()); - $parents[$parent]->id = kolab_storage::folder_id($parent); + $parents[$parent] = new virtual_kolab_storage_folder($parent, $name, $folder->get_namespace()); $existing[] = $name; } @@ -1124,13 +1123,15 @@ class kolab_storage */ class virtual_kolab_storage_folder { + public $id; public $name; public $namespace; public $virtual = true; - public function __construct($name, $ns) + public function __construct($realname, $name, $ns) { - $this->name = $name; + $this->id = kolab_storage::folder_id($realname); + $this->name = $name; $this->namespace = $ns; } @@ -1141,6 +1142,7 @@ class virtual_kolab_storage_folder public function get_name() { + // this is already kolab_storage::object_name() result return $this->name; } } diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php index 625ca389..10b09a47 100644 --- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php +++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php @@ -94,7 +94,7 @@ class tasklist_kolab_driver extends tasklist_driver $editname = rcube_charset::convert(array_pop($path_imap), 'UTF7-IMAP'); // pop off raw name part $path_imap = join($delim, $path_imap); - $fullname = kolab_storage::object_name($utf7name); + $fullname = $folder->get_name(); $listname = kolab_storage::folder_displayname($fullname, $listnames); // special handling for virtual folders