alecpl
2010-01-28 b5846eed4ddd8e2a3f5f0fee42d91d5243c2afec
program/include/rcmail.php
@@ -15,7 +15,7 @@
 | Author: Thomas Bruederli <roundcube@gmail.com>                        |
 +-----------------------------------------------------------------------+
 $Id: rcmail.php 328 2006-08-30 17:41:21Z thomasb $
 $Id$
*/
@@ -492,31 +492,35 @@
    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(
          'code' => 600,
          'type' => 'php',
          'code' => 600, 'type' => 'php',
     'file' => __FILE__, 'line' => __LINE__,
          'message' => "Failed to create a user record. Maybe aborted by a plugin?"
          ), true, false);
          ), true, false);
      }
    }
    else {
      raise_error(array(
        'code' => 600,
        'type' => 'php',
        'file' => RCMAIL_CONFIG_DIR."/main.inc.php",
        'code' => 600, 'type' => 'php',
        'file' => __FILE__, 'line' => __LINE__,
        'message' => "Acces denied for new user $username. 'auto_create_user' is disabled"
        ), true, false);
    }
@@ -538,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;
    }
@@ -947,9 +947,8 @@
    else
    {
      raise_error(array(
        'code' => 500,
        'type' => 'php',
        'file' => __FILE__,
        'code' => 500, 'type' => 'php',
        'file' => __FILE__, 'line' => __LINE__,
        'message' => "Could not perform encryption; make sure Mcrypt is installed or lib/des.inc is available"
      ), true, true);
    }
@@ -993,9 +992,8 @@
    else
    {
      raise_error(array(
        'code' => 500,
        'type' => 'php',
        'file' => __FILE__,
        'code' => 500, 'type' => 'php',
        'file' => __FILE__, 'line' => __LINE__,
        'message' => "Could not perform decryption; make sure Mcrypt is installed or lib/des.inc is available"
      ), true, true);
    }
@@ -1051,6 +1049,7 @@
      return;
    $cookie = session_get_cookie_params();
    setcookie($name, $value, $exp, $cookie['path'], $cookie['domain'],
      rcube_https_check(), true);
  }