Net_LDAP_Entry (Constructor) [line 143]
none Net_LDAP_Entry(
Net_LDAP|ressource|array
&$ldap, [string|ressource
$entry = null])
|
|
Internal Constructor
Constructor of the entry. Sets up the distinguished name and the entries attributes. You should not call this method manually! Use Net_LDAP_Entry::createFresh() instead!
Parameters:
add [line 437]
Adds a new attribute or a new value to an existing attribute
The paramter has to be an array of the form: array('attributename' => 'single value', 'attributename' => array('value1', 'value2)) When the attribute already exists the values will be added, else the attribute will be created. These changes are local to the entry and do not affect the entry on the server until update() is called.
Note, that you can add values of attributes that you haven't selected, but if you do so, getValue() and getValues() will only return the values you added, _NOT_ all values present on the server. To avoid this, just refetch the entry after calling update() or select the attribute.
Parameters:
attributes [line 398]
Returns an array of attributes names
createFresh [line 192]
Creates a fresh entry that may be added to the directory later on
Use this method, if you want to initialize a fresh entry.
The method should be called statically: $entry = Net_LDAP_Entry::createFresh(); You should put a 'objectClass' attribute into the $attrs so the directory server knows which object you want to create. However, you may omit this in case you don't want to add this entry to a directory server.
The attributes parameter is as following: $attrs = array( 'attribute1' => array('value1', 'value2'),
'attribute2' => 'single value'
);
Parameters:
currentDN [line 900]
Returns always the original DN
If an entry will be moved but update() was not called, dn() will return the new DN. This method however, returns always the current active DN.
delete [line 495]
true delete(
[string|array
$attr = null])
|
|
Deletes an whole attribute or a value or the whole entry
The parameter can be one of the following:
"attributename" - The attribute as a whole will be deleted array("attributename1", "attributename2) - All given attributes will be deleted array("attributename" => "value") - The value will be deleted array("attributename" => array("value1", "value2") - The given values will be deleted If $attr is null or omitted , then the whole Entry will be deleted!
These changes are local to the entry and do not affect the entry on the server until update() is called.
Please note that you must select the attribute (at $ldap->search() for example) to be able to delete values of it, Otherwise update() will silently fail and remove nothing.
Parameters:
dn [line 220]
string|true dn(
[string
$dn = null])
|
|
Get or set the distinguished name of the entry
If called without an argument the current (or the new DN if set) DN gets returned. If you provide an DN, this entry is moved to the new location specified if a DN existed. If the DN was not set, the DN gets initialized. Call update() to actually create the new Entry in the directory. To fetch the current active DN after setting a new DN but before an update(), you can use currentDN() to retrieve the DN that is currently active.
Please note that special characters (eg german umlauts) should be encoded using utf8_encode(). You may use Net_LDAP_Util::canonical_dn() for properly encoding of the DN.
Parameters:
exists [line 411]
boolean exists(
string
$attr)
|
|
Returns whether an attribute exists or not
Parameters:
getChanges [line 910]
Returns the attribute changes to be carried out once update() is called
getLDAP [line 760]
Returns a reference to the LDAP-Object of this entry
getValue [line 363]
string|array|PEAR_Error getValue(
string
$attr, [string
$option = null])
|
|
Get the value of a specific attribute
The first parameter is the name of the attribute The second parameter influences the way the value is returned: 'single': only the first value is returned as string 'all': all values including the value count are returned in an array 'default': in all other cases an attribute value with a single value is returned as string, if it has multiple values it is returned as an array (without value count)
Parameters:
getValues [line 336]
Get the values of all attributes in a hash
The returned hash has the form array('attributename' => 'single value',
'attributename' => array('value1', value2', value3'))
get_value [line 386]
string|array|PEAR_Error get_value(
)
|
|
Alias function of getValue for perl-ldap interface
move [line 242]
true move(
string
$newdn)
|
|
Renames or moves the entry
This is just a convinience alias to dn() to make your code more meaningful.
Parameters:
preg_match [line 847]
boolean|Net_LDAP_Error preg_match(
string
$regex, string
$attr_name, [array
$matches = array()])
|
|
Applies a regular expression onto a single- or multivalued attribute (like preg_match())
This method behaves like PHPs preg_match() but with some exceptions. If you want to retrieve match information, then you MUST pass the $matches parameter via reference! otherwise you will get no matches. Since it is possible to have multi valued attributes the $matches array will have a additionally numerical dimension (one for each value): $matches = array(
)
Please note, that $matches will be initialized to an empty array inside.
Usage example: $result =
$entry->preg_match('/089(\d+)/', 'telephoneNumber', &$matches);
if ( $result === true ){
echo "First match: ".$matches[0][1]; // Match of value 1, content of first bracket
} else {
echo "Error: ".$result->getMessage();
} else {
echo "No match found.";
}
}
Please note that it is important to test for an Net_LDAP_Error, because objects are evaluating to true by default, thus if a error occured, and you only check using "==" then you get misleading results. Use the "identical" (===) operator to test for matches to avoid this as shown above.
Parameters:
replace [line 572]
Replaces attributes or its values
The parameter has to an array of the following form: array("attributename" => "single value", "attribute2name" => array("value1", "value2")) If the attribute does not yet exist it will be added instead. If the attribue value is null, the attribute will de deleted
These changes are local to the entry and do not affect the entry on the server until update() is called.
Parameters:
setLDAP [line 781]
Sets a reference to the LDAP-Object of this entry
After setting a Net_LDAP object, calling update() will use that object for updating directory contents. Use this to dynamicly switch directorys.
Parameters:
update [line 610]
Update the entry on the directory server
Parameters:
willBeDeleted [line 876]
Is this entry going to be deleted once update() is called?
willBeMoved [line 886]
Is this entry going to be moved once update() is called?