svncommit
2006-06-27 c8c1e0ef3b229a82e74c70aeacc29f2ba021afbe
program/include/rcube_imap.inc
@@ -50,6 +50,7 @@
  var $page_size = 10;
  var $sort_field = 'date';
  var $sort_order = 'DESC';
  var $default_charset = 'ISO-8859-1';
  var $delimiter = NULL;
  var $caching_enabled = FALSE;
  var $default_folders = array('inbox', 'drafts', 'sent', 'junk', 'trash');
@@ -989,7 +990,7 @@
  // append a mail message (source) to a specific mailbox
  function save_message($mbox_name, $message)
  function save_message($mbox_name, &$message)
    {
    $mailbox = $this->_mod_mailbox($mbox_name);
@@ -1261,9 +1262,30 @@
  // set a new name to an existing mailbox
  function rename_mailbox($mbox_name, $new_name)
  function rename_mailbox($mbox_name, $new_name, $subscribe=TRUE)
    {
    // not implemented yet
    $result = FALSE;
    // replace backslashes
    $name = preg_replace('/[\\\]+/', '-', $new_name);
    $name_enc = UTF7EncodeString($new_name);
    // reduce mailbox name to 100 chars
    $name_enc = substr($name_enc, 0, 100);
    $abs_name = $this->_mod_mailbox($name_enc);
    $a_mailbox_cache = $this->get_cache('mailboxes');
    if (strlen($abs_name) && (!is_array($a_mailbox_cache) || !in_array($abs_name, $a_mailbox_cache)))
      $result = iil_C_RenameFolder($this->conn, $mbox_name, $abs_name);
    // update mailboxlist cache
    if ($result && $subscribe)
      $this->unsubscribe($mbox_name);
      $this->subscribe($name_enc);
    return $result ? $name : FALSE;
    }
@@ -1716,8 +1738,9 @@
      return $out;
      }
    else
      return $input;
    // no encoding information, defaults to what is specified in the class header
    return rcube_charset_convert($input, $this->default_charset);
    }
@@ -1793,7 +1816,8 @@
    if (is_array($ctype_param) && !empty($ctype_param['charset']))
      return rcube_charset_convert($body, $ctype_param['charset']);
    return $body;
    // defaults to what is specified in the class header
    return rcube_charset_convert($body, $this->default_charset);
    }