From 7ffc08ce87bdbc761eb9811f8be25a8c9c4e9976 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Tue, 27 May 2008 10:58:04 -0400 Subject: [PATCH] Remove cruft from upload response --- program/include/rcube_imap.php | 80 ++++++++++------------------------------ 1 files changed, 20 insertions(+), 60 deletions(-) diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 8166fd6..96e1d64 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -118,8 +118,10 @@ $ICL_PORT = $port; $IMAP_USE_INTERNAL_DATE = false; + + $auth_type = rcmail::get_instance()->config->get('imap_auth_type', 'check'); - $this->conn = iil_Connect($host, $user, $pass, array('imap' => 'check')); + $this->conn = iil_Connect($host, $user, $pass, array('imap' => $auth_type)); $this->host = $host; $this->user = $user; $this->pass = $pass; @@ -573,10 +575,9 @@ { // retrieve headers from IMAP if ($this->get_capability('sort') && ($msg_index = iil_C_Sort($this->conn, $mailbox, $this->sort_field, $this->skip_deleted ? 'UNDELETED' : ''))) - { - $mymsgidx = array_slice ($msg_index, $begin, $end-$begin, true); + { + $mymsgidx = array_slice ($msg_index, $begin, $end-$begin); $msgs = join(",", $mymsgidx); - $headers_sorted = true; } else { @@ -1178,36 +1179,6 @@ /** - * Return a flat array with references to all parts, indexed by part numbers - * - * @param object rcube_message_part Message body structure - * @return Array with part number -> object pairs - */ - function get_mime_numbers(&$structure) - { - $a_parts = array(); - $this->_get_part_numbers($structure, $a_parts); - return $a_parts; - } - - - /** - * Helper method for recursive calls - * - * @access private - */ - function _get_part_numbers(&$part, &$a_parts) - { - if ($part->mime_id) - $a_parts[$part->mime_id] = &$part; - - if (is_array($part->parts)) - for ($i=0; $i<count($part->parts); $i++) - $this->_get_part_numbers($part->parts[$i], $a_parts); - } - - - /** * Fetch message body of a specific message from the server * * @param int Message UID @@ -1411,16 +1382,16 @@ */ function move_message($uids, $to_mbox, $from_mbox='') { - $to_mbox = stripslashes($to_mbox); + $to_mbox_in = stripslashes($to_mbox); $from_mbox = stripslashes($from_mbox); - $to_mbox = $this->_mod_mailbox($to_mbox); + $to_mbox = $this->_mod_mailbox($to_mbox_in); $from_mbox = $from_mbox ? $this->_mod_mailbox($from_mbox) : $this->mailbox; // make sure mailbox exists if (!in_array($to_mbox, $this->_list_mailboxes())) { - if (in_array($to_mbox, $this->default_folders)) - $this->create_mailbox($to_mbox, TRUE); + if (in_array($to_mbox_in, $this->default_folders)) + $this->create_mailbox($to_mbox_in, TRUE); else return FALSE; } @@ -1442,12 +1413,15 @@ // send expunge command in order to have the moved message // really deleted from the source mailbox - if ($moved) - { + if ($moved) { $this->_expunge($from_mbox, FALSE); $this->_clear_messagecount($from_mbox); $this->_clear_messagecount($to_mbox); - } + } + // moving failed + else if (rcmail::get_instance()->config->get('delete_always', false)) { + return iil_C_Delete($this->conn, $from_mbox, join(',', $a_mids)); + } // remove message ids from search set if ($moved && $this->search_set && $from_mbox == $this->mailbox) @@ -2367,7 +2341,7 @@ // no encoding information, use fallback return rcube_charset_convert($input, - !empty($fallback) ? $fallback : $GLOBALS['CONFIG']['default_charset']); + !empty($fallback) ? $fallback : rcmail::get_instance()->config->get('default_charset', 'ISO-8859-1')); } @@ -2814,7 +2788,7 @@ */ function set_sequence_numbers($seqnums) { - $this->sequence_numbers = $seqnums; + $this->sequence_numbers = array_flip($seqnums); } /** @@ -2835,19 +2809,6 @@ } /** - * Get the position of a message sequence number in my sequence_numbers array - * - * @param int Message sequence number contained in sequence_numbers - * @return int Position, -1 if not found - */ - function position_of($seqnum) - { - $pos = array_search($seqnum, $this->sequence_numbers); - if ($pos === false) return -1; - return $pos; - } - - /** * Sort method called by uasort() */ function compare_seqnums($a, $b) @@ -2857,12 +2818,11 @@ $seqb = $b->id; // then find each sequence number in my ordered list - $posa = $this->position_of($seqa); - $posb = $this->position_of($seqb); + $posa = isset($this->sequence_numbers[$seqa]) ? intval($this->sequence_numbers[$seqa]) : -1; + $posb = isset($this->sequence_numbers[$seqb]) ? intval($this->sequence_numbers[$seqb]) : -1; // return the relative position as the comparison value - $ret = $posa - $posb; - return $ret; + return $posa - $posb; } } -- Gitblit v1.9.1