alecpl
2010-04-28 f0485adef1cd9b0d65bcbdd25bc546a2dff4095b
program/include/rcube_imap.php
@@ -26,7 +26,8 @@
 *
 * @package    Mail
 * @author     Thomas Bruederli <roundcube@gmail.com>
 * @version    1.6
 * @author     Aleksander Machniak <alec@alec.pl>
 * @version    2.0
 */
class rcube_imap
{
@@ -91,7 +92,7 @@
     */
    function connect($host, $user, $pass, $port=143, $use_ssl=null)
    {
        // check for Open-SSL support in PHP build
        // check for OpenSSL support in PHP build
        if ($use_ssl && extension_loaded('openssl'))
            $this->options['ssl_mode'] = $use_ssl == 'imaps' ? 'ssl' : $use_ssl;
        else if ($use_ssl) {
@@ -2481,10 +2482,10 @@
        $a_out = array();
        $a_mboxes = $this->_list_mailboxes($root, $filter);
        foreach ($a_mboxes as $mbox_row) {
            $name = $this->mod_mailbox($mbox_row, 'out');
            if (strlen($name))
        foreach ($a_mboxes as $idx => $mbox_row) {
            if ($name = $this->mod_mailbox($mbox_row, 'out'))
                $a_out[] = $name;
            unset($a_mboxes[$idx]);
        }
        // INBOX should always be available
@@ -2553,10 +2554,15 @@
        $a_mboxes = $this->conn->listMailboxes($this->mod_mailbox($root), '*');
        // modify names with root dir
        foreach ($a_mboxes as $mbox_name) {
        foreach ($a_mboxes as $idx => $mbox_name) {
            if ($name = $this->mod_mailbox($mbox_name, 'out'))
                $a_folders[] = $name;
            unset($a_mboxes[$idx]);
        }
        // INBOX should always be available
        if (!in_array('INBOX', $a_folders))
            array_unshift($a_folders, 'INBOX');
        // filter folders and sort them
        $a_folders = $this->_sort_mailbox_list($a_folders);
@@ -2707,7 +2713,7 @@
            foreach ($a_mboxes as $mbox_name) {
                $mailbox = $this->mod_mailbox($mbox_name);
                $sub_mboxes = $this->conn->listMailboxes($this->mod_mailbox(''),
               $mbox_name . $this->delimiter . '*');
                   $mbox_name . $this->delimiter . '*');
                // unsubscribe mailbox before deleting
                $this->conn->unsubscribe($mailbox);
@@ -2769,13 +2775,13 @@
                return true;
            if ($subscription) {
                if ($a_folders = $this->conn->listSubscribed($this->mod_mailbox(''), $mbox_name))
                    return true;
                $a_folders = $this->conn->listSubscribed($this->mod_mailbox(''), $mbox_name);
            }
            else {
                $a_folders = $this->conn->listMailboxes($this->mod_mailbox(''), $mbox_mbox);
           if (is_array($a_folders) && in_array($this->mod_mailbox($mbox_name), $a_folders))
                $a_folders = $this->conn->listMailboxes($this->mod_mailbox(''), $mbox_name);
           }
            if (is_array($a_folders) && in_array($this->mod_mailbox($mbox_name), $a_folders)) {
                return true;
            }
        }
@@ -3149,7 +3155,7 @@
        if (!$this->caching_enabled)
            return;
    
        // check for an existing record (probly headers are cached but structure not)
        // check for an existing record (probably headers are cached but structure not)
        if (!$force) {
            $sql_result = $this->db->query(
                "SELECT message_id".