mirror of
https://github.com/roundcube/roundcubemail.git
synced 2026-03-09 17:46:51 +01:00
- Fix %h/%z variables in username_domain option (#1487701)
This commit is contained in:
@@ -1771,16 +1771,17 @@ function rcube_sess_unset($var_name=null)
|
||||
* Replaces hostname variables
|
||||
*
|
||||
* @param string $name Hostname
|
||||
* @param string $host Optional IMAP hostname
|
||||
* @return string
|
||||
*/
|
||||
function rcube_parse_host($name)
|
||||
function rcube_parse_host($name, $host='')
|
||||
{
|
||||
// %n - host
|
||||
$n = preg_replace('/:\d+$/', '', $_SERVER['SERVER_NAME']);
|
||||
// %d - domain name without first part, e.g. %d=mail.domain.tld, %m=domain.tld
|
||||
$d = preg_replace('/^[^\.]+\./', '', $n);
|
||||
// %h - IMAP host
|
||||
$h = $_SESSION['imap_host'];
|
||||
$h = $_SESSION['imap_host'] ? $_SESSION['imap_host'] : $host;
|
||||
// %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld
|
||||
$z = preg_replace('/^[^\.]+\./', '', $h);
|
||||
|
||||
|
||||
@@ -674,9 +674,9 @@ class rcmail
|
||||
// Check if we need to add domain
|
||||
if (!empty($config['username_domain']) && strpos($username, '@') === false) {
|
||||
if (is_array($config['username_domain']) && isset($config['username_domain'][$host]))
|
||||
$username .= '@'.rcube_parse_host($config['username_domain'][$host]);
|
||||
$username .= '@'.rcube_parse_host($config['username_domain'][$host], $host);
|
||||
else if (is_string($config['username_domain']))
|
||||
$username .= '@'.rcube_parse_host($config['username_domain']);
|
||||
$username .= '@'.rcube_parse_host($config['username_domain'], $host);
|
||||
}
|
||||
|
||||
// Convert username to lowercase. If IMAP backend
|
||||
|
||||
Reference in New Issue
Block a user