summaryrefslogtreecommitdiff
path: root/roundcubemail/program/include/rcube_imap.php
diff options
context:
space:
mode:
authorthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-12-24 14:29:47 +0000
committerthomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c>2008-12-24 14:29:47 +0000
commitd8f9dfdbc04b3fb1b85122a31ff3c81e85fa6791 (patch)
tree1a78e556d4776246ecd9fc591f00ba2fe6afd45f /roundcubemail/program/include/rcube_imap.php
parent3e3fafb16ed867f82123931de222286bd34a05c3 (diff)
Allow empty strings for imap_root config parameter (was changed in r2143) to remain backward compatible but cache imap root and delimiter in session
git-svn-id: https://svn.roundcube.net/trunk@2188 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_imap.php')
-rw-r--r--roundcubemail/program/include/rcube_imap.php23
1 files changed, 11 insertions, 12 deletions
diff --git a/roundcubemail/program/include/rcube_imap.php b/roundcubemail/program/include/rcube_imap.php
index e16651af9..401bc8f7e 100644
--- a/roundcubemail/program/include/rcube_imap.php
+++ b/roundcubemail/program/include/rcube_imap.php
@@ -66,6 +66,7 @@ class rcube_imap
var $search_sort_field = '';
var $debug_level = 1;
var $error_code = 0;
+ var $options = array('imap' => 'check');
/**
@@ -90,7 +91,7 @@ class rcube_imap
* @return boolean TRUE on success, FALSE on failure
* @access public
*/
- function connect($host, $user, $pass, $port=143, $use_ssl=null, $auth_type=null)
+ function connect($host, $user, $pass, $port=143, $use_ssl=null)
{
global $ICL_SSL, $ICL_PORT, $IMAP_USE_INTERNAL_DATE;
@@ -107,17 +108,7 @@ class rcube_imap
$ICL_PORT = $port;
$IMAP_USE_INTERNAL_DATE = false;
- // set connection options
- $options['imap'] = $auth_type ? $auth_type : 'check';
-
- // Setting root and delimiter before iil_Connect can save time detecting them
- // using NAMESPACE and LIST
- if (is_string($imap_root = rcmail::get_instance()->config->get('imap_root')))
- $options['rootdir'] = $imap_root;
- if($imap_delimiter = rcmail::get_instance()->config->get('imap_delimiter'))
- $options['delimiter'] = $imap_delimiter;
-
- $this->conn = iil_Connect($host, $user, $pass, $options);
+ $this->conn = iil_Connect($host, $user, $pass, $this->options);
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
@@ -182,6 +173,13 @@ class rcube_imap
iil_C_Select($this->conn, $this->mailbox);
}
+ /**
+ * Set options to be used in iil_Connect()
+ */
+ function set_options($opt)
+ {
+ $this->options = array_merge((array)$opt, $this->options);
+ }
/**
* Set a root folder for the IMAP connection.
@@ -198,6 +196,7 @@ class rcube_imap
$root = substr($root, 0, -1);
$this->root_dir = $root;
+ $this->options['rootdir'] = $root;
if (empty($this->delimiter))
$this->get_hierarchy_delimiter();