Thomas Bruederli
2014-06-04 3412e50b54e3daac8745234e21ab6e72be0ed165
program/lib/Roundcube/rcube_ldap.php
@@ -377,10 +377,11 @@
                // replace placeholders in filter settings
                if (!empty($this->prop['filter']))
                    $this->prop['filter'] = strtr($this->prop['filter'], $replaces);
                if (!empty($this->prop['groups']['filter']))
                    $this->prop['groups']['filter'] = strtr($this->prop['groups']['filter'], $replaces);
                if (!empty($this->prop['groups']['member_filter']))
                    $this->prop['groups']['member_filter'] = strtr($this->prop['groups']['member_filter'], $replaces);
                foreach (array('base_dn','filter','member_filter') as $k) {
                    if (!empty($this->prop['groups'][$k]))
                        $this->prop['groups'][$k] = strtr($this->prop['groups'][$k], $replaces);
                }
                if (!empty($this->prop['group_filters'])) {
                    foreach ($this->prop['group_filters'] as $i => $gf) {
@@ -1409,6 +1410,16 @@
            $fieldmap['name'] = $this->group_data['name_attr'] ? $this->group_data['name_attr'] : $this->prop['groups']['name_attr'];
        }
        // assign object type from object class mapping
        if (!empty($this->prop['class_type_map'])) {
            foreach (array_map('strtolower', (array)$rec['objectclass']) as $objcls) {
                if (!empty($this->prop['class_type_map'][$objcls])) {
                    $out['_type'] = $this->prop['class_type_map'][$objcls];
                    break;
                }
            }
        }
        foreach ($fieldmap as $rf => $lf)
        {
            for ($i=0; $i < $rec[$lf]['count']; $i++) {