Aleksander Machniak
2013-02-07 0be1804c008054d5ff98365ea936b550e9291673
Lowercase username if 'login_lc' is set (#1488943)
1 files modified
22 ■■■■■ changed files
plugins/acl/acl.php 22 ●●●●● patch | view | raw | blame | history
plugins/acl/acl.php
@@ -452,6 +452,9 @@
                continue;
            }
            $user     = $this->mod_login($user);
            $username = $this->mod_login($username);
            if ($user != $_SESSION['username'] && $username != $_SESSION['username']) {
                if ($this->rc->storage->set_acl($mbox, $user, $acl)) {
                    $ret = array('id' => html_identifier($user),
@@ -703,4 +706,23 @@
        return $this->ldap->ready;
    }
    /**
     * Modify user login according to 'login_lc' setting
     */
    protected function mod_login($user)
    {
        $login_lc = $this->rc->config->get('login_lc');
        if ($login_lc === true || $login_lc == 2) {
            $user = mb_strtolower($user);
        }
        // lowercase domain name
        else if ($login_lc && strpos($user, '@')) {
            list($local, $domain) = explode('@', $user);
            $user = $local . '@' . mb_strtolower($domain);
        }
        return $user;
    }
}