mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-03-14 08:10:13 +00:00
allow admins to manually toggle the uniqueMember fix via config (fix #102)
This commit is contained in:
parent
ee0e5e6656
commit
364bbd1df5
@ -471,6 +471,7 @@ $c->admin_email ='calendar-admin@example.com';
|
||||
// "fullname" => "cn" ,
|
||||
// "members" =>"memberUid"
|
||||
// ), //used to create the group based on the ldap properties
|
||||
// 'group_member_dnfix' => true, // if your "members" field contains the full DN and needs to be truncated to just the uid
|
||||
/** used to set default value for all users, will be overcharged by ldap if defined also in mapping_field **/
|
||||
// 'default_value' => array("date_format_type" => "E","locale" => "fr_FR"),
|
||||
/** foreach key set start and length in the string provided by ldap
|
||||
|
||||
@ -453,6 +453,7 @@ function sync_LDAP_groups(){
|
||||
if ( sizeof($ldap_groups_tmp) == 0 ) return;
|
||||
|
||||
$member_field = $mapping['members'];
|
||||
$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']];
|
||||
@ -527,7 +528,7 @@ function sync_LDAP_groups(){
|
||||
Principal::cacheDelete('username', $group);
|
||||
$c->messages[] = sprintf(i18n('- adding users %s to group : %s'),join(',',$ldap_groups_info[$group][$mapping['members']]),$group);
|
||||
foreach ( $ldap_groups_info[$group][$mapping['members']] as $member ){
|
||||
if ( $member_field == 'uniqueMember' ) {
|
||||
if ( $member_field == 'uniqueMember' || $dnfix ) {
|
||||
list( $mem, $rest ) = explode(",", $member );
|
||||
$member = str_replace( 'uid=', '', $mem );
|
||||
}
|
||||
@ -543,7 +544,7 @@ function sync_LDAP_groups(){
|
||||
foreach ( $groups_to_update as $group ){
|
||||
$db_members = array_values ( $db_group_members[$group] );
|
||||
$ldap_members = array_values ( $ldap_groups_info[$group][$member_field] );
|
||||
if ( $member_field == 'uniqueMember' ) {
|
||||
if ( $member_field == 'uniqueMember' || $dnfix ) {
|
||||
$ldap_members = fix_unique_member( $ldap_members );
|
||||
}
|
||||
$add_users = array_diff ( $ldap_members, $db_members );
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user