alecpl
2010-01-29 2b35c5d8f6526c86d356913f151af7e6df3c2976
program/include/rcmail.php
@@ -492,17 +492,22 @@
    if (!($imap_login  = $this->imap->connect($host, $username, $pass, $imap_port, $imap_ssl)))
      return false;
    $this->set_imap_prop();
    // user already registered -> update user's record
    if (is_object($user)) {
      // create default folders on first login
      if (!$user->data['last_login'] && $config['create_default_folders'])
        $this->imap->create_default_folders();
      $user->touch();
    }
    // create new system user
    else if ($config['auto_create_user']) {
      if ($created = rcube_user::create($username, $host)) {
        $user = $created;
        // get existing mailboxes (but why?)
        // $a_mailboxes = $this->imap->list_mailboxes();
        // create default folders on first login
        if ($config['create_default_folders'])
          $this->imap->create_default_folders();
      }
      else {
        raise_error(array(
@@ -537,11 +542,7 @@
        $_SESSION['timezone'] = floatval($_REQUEST['_timezone']);
      // force reloading complete list of subscribed mailboxes
      $this->set_imap_prop();
      $this->imap->clear_cache('mailboxes');
      if ($config['create_default_folders'])
          $this->imap->create_default_folders();
      return true;
    }
@@ -852,6 +853,17 @@
    // before closing the database connection, write session data
    if ($_SERVER['REMOTE_ADDR'])
      session_write_close();
    // write performance stats to logs/console
    if ($this->config->get('devel_mode')) {
      if (function_exists('memory_get_usage'))
        $mem = show_bytes(memory_get_usage());
      if (function_exists('memory_get_peak_usage'))
        $mem .= '/'.show_bytes(memory_get_peak_usage());
      $log = $this->task . ($this->action ? '/'.$this->action : '') . ($mem ? " [$mem]" : '');
      rcube_print_time(RCMAIL_START, $log);
    }
  }