- Fix rcube_imap::mailbox_exists (#1486560)

release-0.6
alecpl 16 years ago
parent 9b3fdc25c1
commit 02f7cb8851

@ -2167,7 +2167,7 @@ class rcube_imap
$mailbox = $this->mod_mailbox($mbox_name);
// make sure mailbox exists
if ($mailbox == 'INBOX' || $this->mailbox_exists($mbox_name)) {
if ($this->mailbox_exists($mbox_name, true)) {
if ($is_file) {
$separator = rcmail::get_instance()->config->header_delimiter();
$saved = iil_C_AppendFromFile($this->conn, $mailbox, $message,
@ -2210,7 +2210,7 @@ class rcube_imap
return false;
// make sure mailbox exists
if ($to_mbox != 'INBOX' && !$this->mailbox_exists($tbox))
if ($to_mbox != 'INBOX' && !$this->mailbox_exists($tbox, true))
{
if (in_array($tbox, $this->default_folders))
$this->create_mailbox($tbox, true);
@ -2292,7 +2292,7 @@ class rcube_imap
return false;
// make sure mailbox exists
if ($to_mbox != 'INBOX' && !$this->mailbox_exists($tbox))
if ($to_mbox != 'INBOX' && !$this->mailbox_exists($tbox, true))
{
if (in_array($tbox, $this->default_folders))
$this->create_mailbox($tbox, true);
@ -2620,7 +2620,7 @@ class rcube_imap
{
$mailbox = $this->mod_mailbox($mbox_name);
$sub_mboxes = iil_C_ListMailboxes($this->conn, $this->mod_mailbox(''),
$mailbox . $this->delimiter . '*');
$mbox_name . $this->delimiter . '*');
// unsubscribe mailbox before deleting
iil_C_UnSubscribe($this->conn, $mailbox);
@ -2634,11 +2634,11 @@ class rcube_imap
foreach ($sub_mboxes as $c_mbox)
if ($c_mbox != 'INBOX') {
iil_C_UnSubscribe($this->conn, $c_mbox);
$result = iil_C_DeleteFolder($this->conn, $c_mbox);
if ($result >= 0) {
$deleted = true;
$this->clear_message_cache($c_mbox.'.msg');
iil_C_UnSubscribe($this->conn, $c_mbox);
$result = iil_C_DeleteFolder($this->conn, $c_mbox);
if ($result >= 0) {
$deleted = true;
$this->clear_message_cache($c_mbox.'.msg');
}
}
}
@ -2680,16 +2680,14 @@ class rcube_imap
if ($mbox_name == 'INBOX')
return true;
$mbox = $this->mod_mailbox($mbox_name);
if ($subscription) {
if ($a_folders = iil_C_ListSubscribed($this->conn, $this->mod_mailbox(''), $mbox))
if ($a_folders = iil_C_ListSubscribed($this->conn, $this->mod_mailbox(''), $mbox_name))
return true;
}
else {
$a_folders = iil_C_ListMailboxes($this->conn, $this->mod_mailbox(''), $mbox);
$a_folders = iil_C_ListMailboxes($this->conn, $this->mod_mailbox(''), $mbox_mbox);
if (is_array($a_folders) && in_array($mbox, $a_folders))
if (is_array($a_folders) && in_array($this->mod_mailbox($mbox_name), $a_folders))
return true;
}
}

Loading…
Cancel
Save