Allow the LDAP group to have no members

This commit is contained in:
Andrew Ruthven 2024-02-03 16:39:23 +13:00
parent 3846d31664
commit dc2991666a

View File

@ -504,17 +504,21 @@ function sync_LDAP_groups(){
if ( sizeof($ldap_groups_tmp) == 0 ) return;
$member_field = $mapping['members'];
$member_field = isset($mapping['members'])
? $mapping['members']
: 'memberUid';
$dnfix = isset($c->authenticate_hook['config']['group_member_dnfix']) && $c->authenticate_hook['config']['group_member_dnfix'];
foreach($ldap_groups_tmp as $key => $ldap_group){
$group_mapping = $ldap_group[$mapping['username']];
$ldap_groups_info[$group_mapping] = $ldap_group;
if ( is_array($ldap_groups_info[$group_mapping][$member_field]) ) {
unset( $ldap_groups_info[$group_mapping][$member_field]['count'] );
}
else {
$ldap_groups_info[$group_mapping][$member_field] = array($ldap_groups_info[$group_mapping][$member_field]);
if ( isset($ldap_groups_info[$group_mapping][$member_field]) ) {
if ( is_array($ldap_groups_info[$group_mapping][$member_field]) ) {
unset( $ldap_groups_info[$group_mapping][$member_field]['count'] );
}
else {
$ldap_groups_info[$group_mapping][$member_field] = array($ldap_groups_info[$group_mapping][$member_field]);
}
}
unset($ldap_groups_tmp[$key]);
}
@ -601,7 +605,9 @@ function sync_LDAP_groups(){
$db_members = is_array( $db_group_members[$group] )
? array_values( $db_group_members[$group] )
: array();
$ldap_members = array_values ( $ldap_groups_info[$group][$member_field] );
$ldap_members = isset ( $ldap_groups_info[$group][$member_field] )
? array_values ( $ldap_groups_info[$group][$member_field] )
: array();
$mapping_field = $c->authenticate_hook['config']['mapping_field'];
if (isset($c->authenticate_hook['config']['group_match_username_attr']) && isset($mapping_field['username'])) {