Add configuration option 'acl_group_field' to use as ACL group identifier
| | |
| | | |
| | | if ($this->rc->config->get('acl_groups')) { |
| | | $prefix = $this->rc->config->get('acl_group_prefix'); |
| | | $group_field = $this->rc->config->get('acl_group_field') ? $this->rc->config->get('acl_group_field') : 'name'; |
| | | $result = $this->ldap->list_groups($search, $mode); |
| | | |
| | | foreach ($result as $record) { |
| | | $group = $record['name']; |
| | | $group_id = is_array($record[$group_field]) ? $record[$group_field][0] : $record[$group_field]; |
| | | |
| | | if ($group) { |
| | | $users[] = array('name' => ($prefix ? $prefix : '') . $group, 'display' => $group); |
| | | $users[] = array('name' => ($prefix ? $prefix : '') . $group_id, 'display' => $group); |
| | | $keys[] = $group; |
| | | } |
| | | } |
| | |
| | | // Prefix added to the group name to build IMAP ACL identifier |
| | | $config['acl_group_prefix'] = 'group:'; |
| | | |
| | | // The LDAP attribute which will be used as ACL group identifier |
| | | $config['acl_group_field'] = 'name'; |
| | | |
| | | // Include the following 'special' access control subjects in the ACL dialog; |
| | | // Defaults to array('anyone', 'anonymous') (not when set to an empty array) |
| | | // Example: array('anyone') to exclude 'anonymous'. |