From f52658e9ab1b5acf3c2d15f43a3d6f9994885022 Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel
Date: Tue, 23 Mar 2010 07:48:51 +0100 Subject: [PATCH] Use the new namespace handler (Bug #6691). --- .../lib/Horde/Kolab/Storage/Driver.php | 11 ----------- .../lib/Horde/Kolab/Storage/Driver/Imap.php | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver.php b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver.php index 7e9892e52..929993a30 100644 --- a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver.php +++ b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver.php @@ -45,15 +45,4 @@ abstract class Horde_Kolab_Storage_Driver throw new Horde_Kolab_Storage_Exception( 'Driver type definition "' . $class . '" missing.'); } - - /** - * Retrieve the namespace information for this connection. - * - * @return Horde_Kolab_Storage_Namespace The initialized namespace handler. - */ - public function getNamespace() - { - return new Horde_Kolab_Storage_Namespace_Fixed(); - } - } \ No newline at end of file diff --git a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php index bd05be32b..f7f1a0c8b 100644 --- a/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php +++ b/framework/Kolab_Storage/lib/Horde/Kolab/Storage/Driver/Imap.php @@ -335,4 +335,25 @@ class Horde_Kolab_Storage_Driver_Imap extends Horde_Kolab_Storage_Driver return $this->_imap->setMetadata($mailbox_name, array($entry => $value)); } + + + /** + * Retrieve the namespace information for this connection. + * + * @return Horde_Kolab_Storage_Namespace The initialized namespace handler. + */ + public function getNamespace() + { + if ($this->_imap->queryCapability('NAMESPACE') === true) { + return new Horde_Kolab_Storage_Namespace_Imap( + $this->_imap->getNamespaces(), + isset($this->_params['namespaces']) ? $this->_params['namespaces'] : array() + ); + } else if (isset($this->_params['namespaces'])) { + return new Horde_Kolab_Storage_Namespace_Config( + $this->_params['namespaces'] + ); + } + return new Horde_Kolab_Storage_Namespace_Fixed(); + } } \ No newline at end of file -- 2.11.0