- Login preformance: Create default folders on first login only

release-0.6
alecpl 15 years ago
parent 10eedbe75a
commit b5846eed4d

@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail CHANGELOG RoundCube Webmail
=========================== ===========================
- Login preformance: Create default folders on first login only
- Import contacts into the selected address book (by Phil Weir) - Import contacts into the selected address book (by Phil Weir)
- Add support for MDB2's 'sqlsrv' driver (#1486395) - Add support for MDB2's 'sqlsrv' driver (#1486395)
- Use jQuery-1.4 - Use jQuery-1.4

@ -492,17 +492,22 @@ class rcmail
if (!($imap_login = $this->imap->connect($host, $username, $pass, $imap_port, $imap_ssl))) if (!($imap_login = $this->imap->connect($host, $username, $pass, $imap_port, $imap_ssl)))
return false; return false;
$this->set_imap_prop();
// user already registered -> update user's record // user already registered -> update user's record
if (is_object($user)) { 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(); $user->touch();
} }
// create new system user // create new system user
else if ($config['auto_create_user']) { else if ($config['auto_create_user']) {
if ($created = rcube_user::create($username, $host)) { if ($created = rcube_user::create($username, $host)) {
$user = $created; $user = $created;
// create default folders on first login
// get existing mailboxes (but why?) if ($config['create_default_folders'])
// $a_mailboxes = $this->imap->list_mailboxes(); $this->imap->create_default_folders();
} }
else { else {
raise_error(array( raise_error(array(
@ -537,12 +542,8 @@ class rcmail
$_SESSION['timezone'] = floatval($_REQUEST['_timezone']); $_SESSION['timezone'] = floatval($_REQUEST['_timezone']);
// force reloading complete list of subscribed mailboxes // force reloading complete list of subscribed mailboxes
$this->set_imap_prop();
$this->imap->clear_cache('mailboxes'); $this->imap->clear_cache('mailboxes');
if ($config['create_default_folders'])
$this->imap->create_default_folders();
return true; return true;
} }

@ -2139,7 +2139,7 @@ class rcube_imap
*/ */
function create_default_folders() function create_default_folders()
{ {
$a_folders = iil_C_ListMailboxes($this->conn, $this->mod_mailbox(''), '*'); $a_folders = iil_C_ListMailboxes($this->conn, $this->mod_mailbox(''), 'Drafts');
$a_subscribed = iil_C_ListSubscribed($this->conn, $this->mod_mailbox(''), '*'); $a_subscribed = iil_C_ListSubscribed($this->conn, $this->mod_mailbox(''), '*');
// create default folders if they do not exist // create default folders if they do not exist

Loading…
Cancel
Save