Web page editor
Managing entries -- Adding/renaming/moving/deleting entries
Adding (fresh or old) entries to the directory
Adding new entries is performed in two ways. First, you need to establish a fresh Net_LDAP_Entry object.
After that, you can add that entry like you would add already-existent entries using
Net_LDAP's add() method.
Example 54-1. Adding a fresh entry
// Build a new fresh entry:
$dn = 'cn=new-admin,o=example,dc=org';
$attributes = array(
'cn' => 'new-admin',
'mail' => array('email@example.com', 'firstname.lastname@example.org'),
'telephoneNumber' => '1234567890'
$entry = Net_LDAP_Entry::createFresh($dn, $attributes);
// Add the entry to the directory:
Renaming or moving entries
Renaming and/or moving an entry is an operation on the DN of an entry. Moving an entry means, to rename a DN in such a way, that
the entry becomes a new base-DN. You can rename or move an entry, if you call the dn() method of the entry you
want to relocate. Alternatively, you may call Net_LDAP's move() method that also ca handle
only DNs. Remember that you must call the entires update() method to carry out the move/rename.
Net_LDAP's move() will move the entry immediately. If you use an entryobject togehter with
Net_LDAP's move(), you are able to perform cross directory moves.
Example 54-5. Performing a cross directory move
// $ldap_src is the source ldap and $ldap_tgt the target
$dn = 'cn=admin,o=example,dc=org';
$newdn = 'cn=admin,o=new-example,dc=org';
$entry = $ldap_src->getEntry($dn);
$ldap_src->move($entry, $newdn, $ldap_tgt);
Deleting entries is performed using Net_LDAP's delete() method.
Just pass the Net_LDAP_Entry object or the DN of the entry you want to delete.
In the case that the DN contains subentrys, you need to pass TRUE as second parameter
which will make delete() delete recursive.
A second way exist: You may simply call delete() from the Net_LDAP_Entry you want to delete.
Don't forget that you must call update() to carry out the delete in this case.
Web page editor