|
|
@ -580,17 +580,22 @@ function rcmail_login($user, $pass, $host=NULL)
|
|
|
|
$user .= '@'.$CONFIG['username_domain'];
|
|
|
|
$user .= '@'.$CONFIG['username_domain'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// try to resolve email address from virtuser table
|
|
|
|
|
|
|
|
if (!empty($CONFIG['virtuser_file']) && strpos($user, '@'))
|
|
|
|
|
|
|
|
$user = rcmail_email2user($user);
|
|
|
|
|
|
|
|
|
|
|
|
// lowercase username if it's an e-mail address (#1484473)
|
|
|
|
// lowercase username if it's an e-mail address (#1484473)
|
|
|
|
if (strpos($user, '@'))
|
|
|
|
if (strpos($user, '@'))
|
|
|
|
$user = strtolower($user);
|
|
|
|
$user = strtolower($user);
|
|
|
|
|
|
|
|
|
|
|
|
// query if user already registered
|
|
|
|
// query if user already registered
|
|
|
|
$sql_result = $DB->query("SELECT user_id, username, language, preferences
|
|
|
|
$sql_result = $DB->query(
|
|
|
|
FROM ".get_table_name('users')."
|
|
|
|
"SELECT user_id, username, language, preferences
|
|
|
|
WHERE mail_host=? AND (username=? OR alias=?)",
|
|
|
|
FROM ".get_table_name('users')."
|
|
|
|
$host,
|
|
|
|
WHERE mail_host=? AND (username=? OR alias=?)",
|
|
|
|
$user,
|
|
|
|
$host,
|
|
|
|
$user);
|
|
|
|
$user,
|
|
|
|
|
|
|
|
$user);
|
|
|
|
|
|
|
|
|
|
|
|
// user already registered -> overwrite username
|
|
|
|
// user already registered -> overwrite username
|
|
|
|
if ($sql_arr = $DB->fetch_assoc($sql_result))
|
|
|
|
if ($sql_arr = $DB->fetch_assoc($sql_result))
|
|
|
@ -599,11 +604,6 @@ function rcmail_login($user, $pass, $host=NULL)
|
|
|
|
$user = $sql_arr['username'];
|
|
|
|
$user = $sql_arr['username'];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// try to resolve email address from virtuser table
|
|
|
|
|
|
|
|
if (!empty($CONFIG['virtuser_file']) && strpos($user, '@'))
|
|
|
|
|
|
|
|
$user = rcmail_email2user($user);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// exit if IMAP login failed
|
|
|
|
// exit if IMAP login failed
|
|
|
|
if (!($imap_login = $IMAP->connect($host, $user, $pass, $imap_port, $imap_ssl)))
|
|
|
|
if (!($imap_login = $IMAP->connect($host, $user, $pass, $imap_port, $imap_ssl)))
|
|
|
|
return FALSE;
|
|
|
|
return FALSE;
|
|
|
|