Fix double HTML entities encoding in virtual folders names

This commit is contained in:
Aleksander Machniak 2013-11-22 11:12:31 +01:00
parent 48882b2118
commit 95f0a7f58a
2 changed files with 7 additions and 5 deletions

View file

@ -752,8 +752,7 @@ class kolab_storage
while (count($path) > 1 && ($parent = join($delim, $path))) { while (count($path) > 1 && ($parent = join($delim, $path))) {
$name = kolab_storage::object_name($parent, $folder->get_namespace()); $name = kolab_storage::object_name($parent, $folder->get_namespace());
if (!in_array($name, $existing)) { if (!in_array($name, $existing)) {
$parents[$parent] = new virtual_kolab_storage_folder($name, $folder->get_namespace()); $parents[$parent] = new virtual_kolab_storage_folder($parent, $name, $folder->get_namespace());
$parents[$parent]->id = kolab_storage::folder_id($parent);
$existing[] = $name; $existing[] = $name;
} }
@ -1124,13 +1123,15 @@ class kolab_storage
*/ */
class virtual_kolab_storage_folder class virtual_kolab_storage_folder
{ {
public $id;
public $name; public $name;
public $namespace; public $namespace;
public $virtual = true; 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; $this->namespace = $ns;
} }
@ -1141,6 +1142,7 @@ class virtual_kolab_storage_folder
public function get_name() public function get_name()
{ {
// this is already kolab_storage::object_name() result
return $this->name; return $this->name;
} }
} }

View file

@ -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 $editname = rcube_charset::convert(array_pop($path_imap), 'UTF7-IMAP'); // pop off raw name part
$path_imap = join($delim, $path_imap); $path_imap = join($delim, $path_imap);
$fullname = kolab_storage::object_name($utf7name); $fullname = $folder->get_name();
$listname = kolab_storage::folder_displayname($fullname, $listnames); $listname = kolab_storage::folder_displayname($fullname, $listnames);
// special handling for virtual folders // special handling for virtual folders