alecpl
2009-08-02 78c7947bf8820aba5d45787883a4e7780854f628
program/include/rcube_imap.php
@@ -1534,12 +1534,8 @@
    if (!is_array($uids))
      $uids = explode(',',$uids);
      
    if ($flag=='UNDELETED')
      $result = iil_C_Undelete($this->conn, $mailbox, join(',', $uids));
    else if ($flag=='UNSEEN')
      $result = iil_C_Unseen($this->conn, $mailbox, join(',', $uids));
    else if ($flag=='UNFLAGGED')
      $result = iil_C_UnFlag($this->conn, $mailbox, join(',', $uids), 'FLAGGED');
    if (strpos($flag, 'UN') === 0)
      $result = iil_C_UnFlag($this->conn, $mailbox, join(',', $uids), substr($flag, 2));
    else
      $result = iil_C_Flag($this->conn, $mailbox, join(',', $uids), $flag);
@@ -1566,6 +1562,21 @@
      $this->_set_messagecount($mailbox, 'ALL', $count*(-1));
    return $result;
    }
  /**
   * Remove message flag for one or several messages
   *
   * @param mixed  Message UIDs as array or as comma-separated string
   * @param string Flag to unset: SEEN, DELETED, RECENT, ANSWERED, DRAFT, MDNSENT
   * @param string Folder name
   * @return boolean True on success, False on failure
   * @see set_flag
   */
  function unset_flag($uids, $flag, $mbox_name=NULL)
    {
    return $this->set_flag($uids, 'UN'.$flag, $mbox_name);
    }
@@ -2397,10 +2408,10 @@
        $key,
        $index,
        $headers->uid,
        (string)rc_substr($this->db->encode($this->decode_header($headers->subject, TRUE)), 0, 128),
        (string)rc_substr($this->db->encode($this->decode_header($headers->from, TRUE)), 0, 128),
        (string)rc_substr($this->db->encode($this->decode_header($headers->to, TRUE)), 0, 128),
        (string)rc_substr($this->db->encode($this->decode_header($headers->cc, TRUE)), 0, 128),
        (string)mb_substr($this->db->encode($this->decode_header($headers->subject, TRUE)), 0, 128),
        (string)mb_substr($this->db->encode($this->decode_header($headers->from, TRUE)), 0, 128),
        (string)mb_substr($this->db->encode($this->decode_header($headers->to, TRUE)), 0, 128),
        (string)mb_substr($this->db->encode($this->decode_header($headers->cc, TRUE)), 0, 128),
        (int)$headers->size,
        serialize($this->db->encode(clone $headers)),
        is_object($struct) ? serialize($this->db->encode(clone $struct)) : NULL
@@ -2788,7 +2799,7 @@
      if (($p = array_search(strtolower($folder), $this->default_folders_lc)) !== false && !$a_defaults[$p])
        $a_defaults[$p] = $folder;
      else
        $folders[$folder] = rc_strtolower(rcube_charset_convert($folder, 'UTF7-IMAP'));
        $folders[$folder] = mb_strtolower(rcube_charset_convert($folder, 'UTF7-IMAP'));
      }
    // sort folders and place defaults on the top