thomascube
2009-08-07 2a34eb949210a43ab7fd0b2ba41d2b0006c81e48
program/include/rcube_imap.php
@@ -70,6 +70,8 @@
  var $debug_level = 1;
  var $error_code = 0;
  var $options = array('imap' => 'check');
  private $host, $user, $pass, $port, $ssl;
  /**
@@ -101,19 +103,22 @@
    // check for Open-SSL support in PHP build
    if ($use_ssl && extension_loaded('openssl'))
      $ICL_SSL = $use_ssl == 'imaps' ? 'ssl' : $use_ssl;
    else if ($use_ssl)
      {
    else if ($use_ssl) {
      raise_error(array('code' => 403, 'type' => 'imap', 'file' => __FILE__,
                        'message' => 'Open SSL not available;'), TRUE, FALSE);
      $port = 143;
      }
  }
    $ICL_PORT = $port;
    $IMAP_USE_INTERNAL_DATE = false;
    $data = rcmail::get_instance()->plugins->exec_hook('imap_connect', array('host' => $host, 'user' => $user));
    if (!empty($data['pass']))
      $pass = $data['pass'];
    $this->conn = iil_Connect($host, $user, $pass, $this->options);
    $this->host = $host;
    $this->user = $user;
    $this->conn = iil_Connect($data['host'], $data['user'], $pass, $this->options);
    $this->host = $data['host'];
    $this->user = $data['user'];
    $this->pass = $pass;
    $this->port = $port;
    $this->ssl = $use_ssl;
@@ -1534,12 +1539,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);
@@ -1570,6 +1571,21 @@
  /**
   * 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);
    }
  /**
   * Append a mail message (source) to a specific mailbox
   *
   * @param string Target mailbox