The $params argument is an array of actions and should be something like
this:
array('add' => array('attribute1' => array('val1', 'val2'),
'attribute2' => array('val1')),
'delete' => array('attribute1'),
'replace' => array('attribute1' => array('val1')),
'changes' => array('add' => ...,
'replace' => ...,
'delete' => array('attribute1', 'attribute2' => array('val1')))
The order of execution is as following:
1. adds from 'add' array
2. deletes from 'delete' array
3. replaces from 'replace' array
4. changes (add, replace, delete) in order of appearance
The function calls the corresponding functions of an Horde_Ldap_Entry
object. A detailed description of array structures can be found there.
Unlike the modification methods provided by the Horde_Ldap_Entry object,
this method will instantly carry out an update() after each operation,
thus modifying "directly" on the server.