*
* @param array $params Parameters:
* <pre>
+ * 'charset' - (string) Default charset.
+ * DEFAULT: NONE
* 'domain_field' - (string) If set to anything other than 'none' this is
* used as field name where domain is stored.
* DEFAULT: 'domain_name'
unset($params['imap']);
$params = array_merge(array(
+ 'charset' => null,
'domain_field' => 'domain_name',
'folders' => array(),
'hidden_accounts' => array('cyrus'),
}
try {
- $mailbox = Horde_String::convertCharset($this->_params['userhierarchy'] . $userId, $GLOBALS['registry']->getCharset(), 'utf7-imap');
+ $mailbox = Horde_String::convertCharset($this->_params['userhierarchy'] . $userId, $this->_params['charset'], 'utf7-imap');
$this->_imap->createMailbox($mailbox);
$this->_imap->setACL($mailbox, $this->_params['cyradm'], 'lrswipcda');
} catch (Horde_Imap_Client_Exception $e) {
($this->_params['domain_field'] != 'none')) {
list($userName, $domain) = explode('@', $userName);
$tmp = $userName . $this->_separator . $value . '@' . $domain;
-Horde_String::convertCharset($userName . $this->_separator . $value . '@' . $domain, $GLOBALS['registry']->getCharset(), 'utf7-imap');
+Horde_String::convertCharset($userName . $this->_separator . $value . '@' . $domain, $this->_params['charset'], 'utf7-imap');
} else {
$tmp = $userName . $this->_separator . $value;
}
- $tmp = Horde_String::convertCharset($tmp, $GLOBALS['registry']->getCharset(), 'utf7-imap');
+ $tmp = Horde_String::convertCharset($tmp, $this->_params['charset'], 'utf7-imap');
$this->_imap->createMailbox($tmp);
$this->_oimap>setACL($tmp, $this->_params['cyradm'], 'lrswipcda');
}
*
* @param array $params Parameters:
* <pre>
- * TODO
* 'backend' - (Horde_Auth_Base) [REQUIRED] The backend object.
+ * 'charset' - (string) Default charset.
+ * DEFAULT: NONE
* 'folders' - (array) An array of folders to create under username.
* DEFAULT: NONE
* 'imap' - (Horde_Imap_Client_Base) [REQUIRED] An IMAP client object.
unset($params['backend']);
$params = array_merge(array(
+ 'charset' => null,
'separator' => '.',
), $params);
{
$this->_backend->addUser($userId, $credentials);
- $mailbox = Horde_String::convertCharset('user' . $this->_params['separator'] . $userId, $GLOBALS['registry']->getCharset(), 'utf7-imap');
+ $mailbox = Horde_String::convertCharset('user' . $this->_params['separator'] . $userId, $this->_params['charset'], 'utf7-imap');
try {
$this->_imap->createMailbox($mailbox);
is_array($this->_params['folders'])) {
foreach ($this->_params['folders'] as $folder) {
try {
- $this->_imap->createMailbox($mailbox . Horde_String::convertCharset($this->_params['separator'] . $folder, $GLOBALS['registry']->getCharset(), 'utf7-imap'));
+ $this->_imap->createMailbox($mailbox . Horde_String::convertCharset($this->_params['separator'] . $folder, $this->_params['charset'], 'utf7-imap'));
} catch (Horde_Imap_Client_Exception $e) {}
}
}
{
$this->_backend->removeUser($userId);
- $mailbox = Horde_String::convertCharset('user' . $this->_params['separator'] . $userId, $GLOBALS['registry']->getCharset(), 'utf7-imap');
+ $mailbox = Horde_String::convertCharset('user' . $this->_params['separator'] . $userId, $this->_params['charset'], 'utf7-imap');
/* Set ACL for mailbox deletion. */
list($admin) = explode('@', $this->_params['cyradmin']);
* DEFAULT: null
* 'admin_user' - (string) The name of a user with admin privileges.
* DEFAULT: null
+ * 'charset' - (string) Default charset.
+ * DEFAULT: NONE
* 'hostspec' - (string) The hostname or IP address of the server.
* DEFAULT: 'localhost'
* 'port' - (integer) The server port to which we will connect.
$params = array_merge(array(
'admin_password' => null,
'admin_user' => null,
+ 'charset' => null,
'hostspec' => '',
'port' => null,
'secure' => 'none',
{
try {
$ob = $this->_getOb($this->_params['admin_user'], $this->_params['admin_password']);
- $mailbox = Horde_String::convertCharset($this->_params['userhierarchy'] . $userId, $GLOBALS['registry']->getCharset(), 'utf7-imap');
+ $mailbox = Horde_String::convertCharset($this->_params['userhierarchy'] . $userId, $this->_params['charset'], 'utf7-imap');
$ob->createMailbox($mailbox);
$ob->setACL($mailbox, $this->_params['admin_user'], 'lrswipcda');
} catch (Horde_Imap_Client_Exception $e) {
try {
$ob = $this->_getOb($this->_params['admin_user'], $this->_params['admin_password']);
$ob->setACL($mailbox, $this->_params['admin_user'], 'lrswipcda');
- $ob->deleteMailbox(Horde_String::convertCharset($this->_params['userhierarchy'] . $userId, $GLOBALS['registry']->getCharset(), 'utf7-imap'));
+ $ob->deleteMailbox(Horde_String::convertCharset($this->_params['userhierarchy'] . $userId, $this->_params['charset'], 'utf7-imap'));
} catch (Horde_Imap_Client_Exception $e) {
throw new Horde_Auth_Exception($e);
}
if ($lc_driver == 'cyrus') {
$params['backend'] = $this->getOb($params['backend']['driver'], $params['backend']['params']);
}
+
+ $params['charset'] = $GLOBALS['registry']->getCharset();
break;
case 'http_remote':
}
break;
+ case 'imap':
+ $params['charset'] = $GLOBALS['registry']->getCharset();
+ break;
+
case 'kolab':
$params['kolab'] = $this->_injector->getInstance('Horde_Kolab_Session');
break;