- // in extended mode we have to make sure the right classes are set
- if($conf['extended']){
- ldap_store_objectclasses($dn,array('inetOrgPerson','contactPerson'));
- }
- // in openxchange mode we have to make sure the right classes are set
- if ($conf['openxchange']){
- ldap_store_objectclasses($dn,array('inetOrgPerson','OXUserObject'));
- }
- //modify entry (touches only our attributes)
- foreach (array_keys($entries) as $key){
+ // update the objectClasses
+ ldap_store_objectclasses($dn,$OCLASSES);
+ unset($entry['objectclass']);
+
+ //modify entry attribute by attribute - this ensure we don't delete unknown stuff
+ foreach (array_values($FIELDS) as $key){