From 854779406d8678bee5cbf2ae12d36f66e6d813f4 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Thu, 8 Jan 2015 18:22:59 +0100 Subject: [PATCH] Move utility function to libkolab for common use --- plugins/libkolab/lib/kolab_storage_config.php | 18 ++++++++++++++++ .../drivers/kolab/tasklist_kolab_driver.php | 21 ++----------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/plugins/libkolab/lib/kolab_storage_config.php b/plugins/libkolab/lib/kolab_storage_config.php index d58e3c04..59c191da 100644 --- a/plugins/libkolab/lib/kolab_storage_config.php +++ b/plugins/libkolab/lib/kolab_storage_config.php @@ -355,6 +355,24 @@ class kolab_storage_config return false; } + /** + * Simplify the given message URI by converting the mailbox + * part into a relative IMAP path valid for the current user. + */ + public static function local_message_uri($uri) + { + if (strpos($uri, 'imap:///') === 0) { + $linkref = kolab_storage_config::parse_member_url($uri); + + return 'imap:///' . implode('/', array_map('rawurlencode', explode('/', $linkref['folder']))) . + '/' . $linkref['uid'] . + '?' . http_build_query($linkref['params'], '', '&'); + } + + return $uri; + } + + /** * Build array of member URIs from set of messages * diff --git a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php index 97cdb634..6c9f4188 100644 --- a/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php +++ b/plugins/tasklist/drivers/kolab/tasklist_kolab_driver.php @@ -825,7 +825,7 @@ class tasklist_kolab_driver extends tasklist_driver private function get_links($uid) { $config = kolab_storage_config::get_instance(); - return array_map(array($this, '_convert_message_uri'), $config->get_object_links($uid)); + return array_map(array('kolab_storage_config','local_message_uri'), $config->get_object_links($uid)); } /** @@ -855,23 +855,6 @@ class tasklist_kolab_driver extends tasklist_driver return $config->save_object_links($uid, $links, $remove); } - /** - * Simplify the given message URI by converting the mailbox - * part into a relative IMAP path valid for the current user. - */ - protected function _convert_message_uri($uri) - { - if (strpos($uri, 'imap:///') === 0) { - $linkref = kolab_storage_config::parse_member_url($uri); - - return 'imap:///' . implode('/', array_map('rawurlencode', explode('/', $linkref['folder']))) . - '/' . $linkref['uid'] . - '?' . http_build_query($linkref['params'], '', '&'); - } - - return $uri; - } - /** * Extract uid + list identifiers from the given input * @@ -1296,7 +1279,7 @@ class tasklist_kolab_driver extends tasklist_driver public function get_message_uri($headers, $folder) { $uri = kolab_storage_config::get_message_uri($headers, $folder); - return $this->_convert_message_uri($uri); + return kolab_storage_config::local_message_uri($uri); } /**