index 4e752abf6534c6c8e098793df698bbd4d25e10e6..6c822691b210e6088d12add1a88827abdec59e29 100644 (file)
function mailMethodCyrus($config)
{
+ /* Check if the mail account identification attribute
+ is overridden in the configuration file
+ */
+ if(isset($config->current['MAIL_ATTRIB']) && !empty($config->current['MAIL_ATTRIB'])){
+ $new_uattrib= strtolower($config->current['MAIL_ATTRIB']);
+ if(in_array($new_uattrib,array("mail","uid"))){
+ $this->uattrib = $new_uattrib;
+ }else{
+ trigger_error(sprintf("Unsupported MAIL_ATTRIB in gosa configuration specified, use 'mail' or 'uid', instead of '%s'.", $new_uattrib));
+ }
+ }
+
$this->config= $config->data['SERVERS']['IMAP'];
}
/* Cut domain name */
$val = preg_replace("/@.*$/","",$val);
- $result[]=preg_replace ("/^.*".normalizePreg($folder)."/","INBOX", imap_utf7_decode ($val));
+ $result[]=preg_replace ("/^.*".normalizePreg($folder)."/","INBOX", mb_convert_encoding($val, "UTF-8", "UTF7-IMAP"));
}
}
}
- function getMailboxList2($folder, $uid= "")
- {
- /* Initialize depending on group or user mode */
- if ($uid != ""){
- $result= array("INBOX");
- } else {
- $result= array();
- }
-
- /* Get list of mailboxes for combo box */
- $cfg= $this->config[$this->gosaMailServer];
- $list = imap_listmailbox($this->mbox, $cfg["connect"], $folder.".*");
- if (is_array($list)){
- foreach ($list as $val){
- $result[]=preg_replace ("/.*user\.".$uid."\./",
- "INBOX.", imap_utf7_decode ($val));
- }
- }
-
- return ($result);
- }
-
function updateMailbox($folder)
{
/* Check if mailbox exists */