--- LDAP.pm.orig 2013-04-14 01:48:46.000000000 +0200 +++ LDAP.pm 2013-04-14 01:53:25.000000000 +0200 @@ -228,7 +228,13 @@ . 'from Kernel/Config/Defaults.pm (User* has been added!).', ); } - $SyncUser{$Key} = $Entry->get_value( $UserSyncMap->{$Key} ); + + if (ref($UserSyncMap->{$Key}) eq "ARRAY") { + $SyncUser{$Key} = join(" ", map { + $Entry->get_value($_) } @{$UserSyncMap->{$Key}}); + } else { + $SyncUser{$Key} = $Entry->get_value( $UserSyncMap->{$Key} ); + } # e. g. set utf-8 flag $SyncUser{$Key} = $Self->_ConvertFrom( @@ -271,6 +277,13 @@ Message => "Initial data for '$Param{User}' ($UserDN) created in RDBMS.", ); + while (my ($Key, $Value) = each %SyncUser) { + $Self->{UserObject}->SetPreferences( + Key => $Key, + Value => $Value, + UserID => $UserID); + } + # sync initial groups my $UserSyncInitialGroups = $Self->{ConfigObject}->Get( 'AuthSyncModule::LDAP::UserSyncInitialGroups' . $Self->{Count} @@ -304,6 +317,13 @@ UserType => 'User', ChangeUserID => 1, ); + + while (my ($Key, $Value) = each %SyncUser) { + $Self->{UserObject}->SetPreferences( + Key => $Key, + Value => $Value, + UserID => $UserData{UserID}); + } } } }