Thomas Bruederli
2014-08-18 3ebac0167bf20104fb7a2a55934765117760264c
plugins/acl/acl.php
@@ -112,6 +112,20 @@
                    $keys[]  = $display ?: $user['name'];
                }
            }
            if ($this->rc->config->get('acl_groups')) {
                $prefix = $this->rc->config->get('acl_group_prefix');
                $result = $this->ldap->list_groups($search, $mode);
                foreach ($result as $record) {
                    $group = $record['name'];
                    if ($group) {
                        $users[] = array('name' => ($prefix ? $prefix : '')  . $group, 'display' => $group);
                        $keys[]  = $group;
                    }
                }
            }
        }
        if (count($users)) {
@@ -448,9 +462,13 @@
        $result = 0;
        foreach ($users as $user) {
            $user = trim($user);
            $user   = trim($user);
            $prefix = $this->rc->config->get('acl_groups') ? $this->rc->config->get('acl_group_prefix') : '';
            if (!empty($this->specials) && in_array($user, $this->specials)) {
            if ($prefix && strpos($user, $prefix) === 0) {
                $username = $user;
            }
            else if (!empty($this->specials) && in_array($user, $this->specials)) {
                $username = $this->gettext($user);
            }
            else if (!empty($user)) {
@@ -696,10 +714,8 @@
        }
        // add UID field to fieldmap, so it will be returned in a record with name
        $config['fieldmap'] = array(
            'name' => $name_field,
            'uid'  => $uid_field,
        );
        $config['fieldmap']['name'] = $name_field;
        $config['fieldmap']['uid']  = $uid_field;
        // search in UID and name fields
        $config['search_fields']   = array_values($config['fieldmap']);