thomascube
2010-04-01 1d773d71414316e0b9836a15c35576593427ee21
program/include/rcmail.php
@@ -298,21 +298,24 @@
    // We are using the DB address book
    if ($abook_type != 'ldap') {
      $contacts = new rcube_contacts($this->db, null);
      $list['0'] = array(
        'id' => 0,
   'name' => rcube_label('personaladrbook'),
        'name' => rcube_label('personaladrbook'),
        'groups' => $contacts->groups,
        'readonly' => false,
   'autocomplete' => in_array('sql', $autocomplete)
        'autocomplete' => in_array('sql', $autocomplete)
      );
    }
    if (is_array($ldap_config)) {
      foreach ($ldap_config as $id => $prop)
        $list[$id] = array(
     'id' => $id,
     'name' => $prop['name'],
     'readonly' => !$prop['writable'],
     'autocomplete' => in_array('sql', $autocomplete)
          'id' => $id,
          'name' => $prop['name'],
          'groups' => false,
          'readonly' => !$prop['writable'],
          'autocomplete' => in_array('sql', $autocomplete)
        );
    }
@@ -322,7 +325,7 @@
    if ($writeable && !empty($list)) {
      foreach ($list as $idx => $item) {
        if ($item['readonly']) {
     unset($list[$idx]);
          unset($list[$idx]);
        }
      }
    }
@@ -426,6 +429,7 @@
      'delimiter' => isset($_SESSION['imap_delimiter']) ? $_SESSION['imap_delimiter'] : $this->config->get('imap_delimiter'),
      'rootdir' => isset($_SESSION['imap_root']) ? $_SESSION['imap_root'] : $this->config->get('imap_root'),
      'debug_mode' => (bool) $this->config->get('imap_debug', 0),
      'force_caps' => (bool) $this->config->get('imap_force_caps'),
    );
    $this->imap->set_options($options);
@@ -453,21 +457,21 @@
   */
  public function imap_connect()
  {
    $conn = false;
    if (!$this->imap)
      $this->imap_init();
    
    if ($_SESSION['imap_host'] && !$this->imap->conn) {
      if (!($conn = $this->imap->connect($_SESSION['imap_host'], $_SESSION['username'], $this->decrypt($_SESSION['password']), $_SESSION['imap_port'], $_SESSION['imap_ssl']))) {
    if ($_SESSION['imap_host'] && !$this->imap->conn->connected()) {
      if (!$this->imap->connect($_SESSION['imap_host'], $_SESSION['username'], $this->decrypt($_SESSION['password']), $_SESSION['imap_port'], $_SESSION['imap_ssl'])) {
        if ($this->output)
          $this->output->show_message($this->imap->error_code == -1 ? 'imaperror' : 'sessionerror', 'error');
      }
      $this->set_imap_prop();
      else {
        $this->set_imap_prop();
        return $this->imap->conn;
      }
    }
    return $conn;
    return false;
  }
@@ -954,10 +958,8 @@
   */
  public function shutdown()
  {
    if (is_object($this->imap)) {
    if (is_object($this->imap))
      $this->imap->close();
      $this->imap->write_cache();
    }
    if (is_object($this->smtp))
      $this->smtp->disconnect();