- Fix %h/%z variables in username_domain option (#1487701)
| | |
| | | |
| | | - Fix login redirect issues (#1487686) |
| | | - Require PHP 5.2.1 or greater |
| | | - Fix %h/%z variables in username_domain option (#1487701) |
| | | |
| | | RELEASE 0.5 |
| | | ----------- |
| | |
| | | * 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); |
| | | |
| | |
| | | // 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 |