From 02f7cb88515d1dba3ed84468dded23d04cd2b889 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 19 Mar 2010 09:47:47 -0400
Subject: [PATCH] - Fix rcube_imap::mailbox_exists (#1486560)
---
program/include/rcube_imap.php | 26 ++++++++++++--------------
1 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 651ecd6..44d23cc 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -2167,7 +2167,7 @@
$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 @@
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 @@
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 @@
{
$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 @@
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 @@
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;
}
}
--
Gitblit v1.9.1