Zend_Ldap_Node
Zend_Ldap_Node enthält die magischen Zugriffsmethoden
__set(), __get(),
__unset() und __isset() um auf die
Attribute mit Ihrem Namen zugreifen zu können. Sie verweisen auf
Zend_Ldap_Node::setAttribute(),
Zend_Ldap_Node::getAttribute(),
Zend_Ldap_Node::deleteAttribute() und
Zend_Ldap_Node::existsAttribute(). Weiters implementiert die Klasse
ArrayAccess für einen Array-artigen Zugriff auf die Attribute.
Zend_Ldap_Node implementiert auch Iterator und
RecursiveIterator um rekursive Suchen im Baum zu erlauben.
Zend_Ldap_Node API
Methode
Beschreibung
Zend_Ldap getLdap()
Gibt die aktuelle LDAP Verbindung zurück. Wirft eine
Zend_Ldap_Exception wenn der aktuelle Node im
abgehängten Modus ist (nicht mit einer Zend_Ldap
Instanz verbunden).
Zend_Ldap_Node attachLdap(Zend_Ldap$ldap)
Hängt den aktuellen Node an die Zend_Ldap Instanz
$ldap an. Wirft eine
Zend_Ldap_Exception wenn $ldap
für den aktuellen Node nicht verantwortlich ist (wenn der Node kein Kind
der Basis DN von $ldap ist).
Zend_Ldap_Node detachLdap()
Hängt den Node von der LDAP Verbindung ab.
boolean isAttached()
Prüft ob der aktuelle Node an eine LDAP Verbindung
angehängt ist.
Zend_Ldap_Node create(string|array|Zend_Ldap_Dn $dn, array
$objectClass)
Factory Methode um einen neuen abgehängten
Zend_Ldap_Node für einen angegebenen DN zu erstellen.
Erstellt einen neuen Zend_Ldap_Node mit dem DN
$dn und der Objektklasse $objectClass.
Zend_Ldap_Node fromLdap(string|array|Zend_Ldap_Dn $dn, Zend_Ldap
$ldap)
Factory Methode um einen angehängten Zend_Ldap_Node
für einen angegebenen DN zu erstellen. Lädt einen existierenden
Zend_Ldap_Node mit dem DN $dn von
der LDAP Verbindung $ldap.
Zend_Ldap_Node fromArray((array $data, boolean
$fromDataSource)
Factory Methode um einen abgehängten Zend_Ldap_Node
aus den Array Daten $data zu erstellen. Wenn
$fromDataSource TRUE ist (der
Standardwert ist FALSE), werden die Daten als, in einem
LDAP Baum vorhanden, betrachtet.
boolean isNew()
Sagt ob der Node als Neu betrachtet wird (nicht auf dem Server vorhanden).
Es ist zu beachten dass das nicht sagt ob der Node wirklich auf dem Server
vorhanden ist. Man muss Zend_Ldap_Node::exists()
verwenden um zu sehen ob der Node dort bereits existiert.
boolean willBeDeleted()
Sagt ob dieser Node gelöscht wird sobald
Zend_Ldap_Node::update() aufgerufen wird.
Tells if this node is going to be deleted once
Zend_Ldap_Node::update() is called.
Zend_Ldap_Node delete()
Markiert den Node als gelöscht. Nodes werden beim Aufruf von
Zend_Ldap_Node::update() gelöscht, wenn
Zend_Ldap_Node::willBeDeleted()
TRUE ist.
boolean willBeMoved()
Sagt ob dieser Node verschoben wird sobald
Zend_Ldap_Node::update() aufgerufen wird.
Zend_Ldap_Node update(Zend_Ldap $ldap)
Sendet alle wartenden Änderungen an den LDAP Server. Wenn
$ldap unterdrückt wird, dann wird die aktuelle
LDAP Verbindung verwendet. Wenn der aktuelle Node von
einer LDAP Verbindung getrennt ist, wird eine
Zend_Ldap_Exception geworfen. Wenn
$ldap angegeben wird, dann wird der aktuelle Node an die
angegebene LDAP Verbindung angehängt.
Zend_Ldap_Dn getCurrentDn()
Gibt den aktuellen DN des aktuellen Nodes als
Zend_Ldap_Dn zurück. Das reflektiert mögliche
rename-Operationen.
Zend_Ldap_Dn getDn()
Gibt den originalen DN des aktuellen Nodes als
Zend_Ldap_Dn zurück. Das reflektiert mögliche
rename-Operationen.
string getDnString(string $caseFold)
Gibt den originalen DN des aktuellen Nodes als String zurück. Das
reflektiert mögliche rename-Operationen.
array getDnArray(string $caseFold)
Gibt den originalen DN des aktuellen Nodes als Array zurück. Das reflektiert
mögliche rename-Operationen.
string getRdnString(string $caseFold)
Gibt den RDN des aktuellen Nodes als String zurück. Das
reflektiert mögliche rename-Operationen.
array getRdnArray(string $caseFold)
Gibt den RDN des aktuellen Nodes als Array zurück. Das
reflektiert mögliche rename-Operationen.
Zend_Ldap_Node setDn(Zend_Ldap_Dn|string|array $newDn)
Setzt den neuen DB für diesen Node und verschiebt diesen Node effektiv
sobald Zend_Ldap_Node::update() aufgerufen wird.
Zend_Ldap_Node move(Zend_Ldap_Dn|string|array $newDn)
Das ist ein Alias für Zend_Ldap_Node::setDn().
Zend_Ldap_Node rename(Zend_Ldap_Dn|string|array $newDn)
Das ist ein Alias für Zend_Ldap_Node::setDn().
array getObjectClass()
Gibt objectClass des Nodes zurück.
Zend_Ldap_Node setObjectClass(array|string $value)
Setzt das objectClass Attribut.
Zend_Ldap_Node appendObjectClass(array|string $value)
Stellt dem objectClass Attribut voran.
string toLdif(array $options)
Gibt eine LDIF Repräsentation des aktuellen Nodes zurück.
$options wird an
Zend_Ldap_Ldif_Encoder übergeben.
array getChangedData()
Gibt geänderte Node Daten zurück. Das Array enthält alle geänderten
Attribute. Dieses format kann in Zend_Ldap::add()
und Zend_Ldap::update() verwendet werden.
array getChanges()
Gibt alle gemachten Änderungen zurück.
string toString()
Gibt den DN des aktuellen Nodes zurück - leitet auf
Zend_Ldap_Dn::getDnString() weiter.
string __toString()
Castet auf eine String Repräsentation - leitet auf
Zend_Ldap_Dn::toString() weiter.
array toArray(boolean $includeSystemAttributes)
Gibt eine Array Repräsentation des aktuellen Nodes zurück. Wenn
$includeSystemAttributes FALSE ist
(der Standardwert ist TRUE), werden Systemspezifische
Attribute vom Array entfernt. Anders als
Zend_Ldap_Node::getAttributes() enthält das
resultierende Array den DN mit dem Schlüssel 'dn'.
string toJson(boolean $includeSystemAttributes)
Gibt eine JSON Repräsentation des aktuellen Nodes zurück
wobei Zend_Ldap_Node::toArray() verwendet wird.
array getData(boolean $includeSystemAttributes)
Gibt die Attribute des Nodes zurück. Das Array enthält alle Attribute in
Ihrem internen Format (keine Konvertierung).
boolean existsAttribute(string $name, boolean $emptyExists)
Prüft ob ein angegebenes Attribut existiert. Wenn
$emptyExists FALSE ist werden leere
Attrbute (welche nur array() enthalten) als nicht-existent betrachtet und es
wird FALSE zurückgegeben. Wenn
$emptyExists TRUE ist werden leere
Attribute als existent betrachtet und es wird TRUE
zurückgegeben. In diesem Fall gibt die Methode nur dann
FALSE zurck wenn der Name des Attributs in der Sammlung
der Schlüssel fehlt.
boolean attributeHasValue(string $name, mixed|array $value)
Prüft ob die angegebenen Werte im Attribut existieren. Die Methode gibt nur
dann TRUE zurück wenn alle Werte von
$value im Attribut vorhanden sind. Der Vergleich wird
strikt durchgeführt (er respektiert den Datentyp).
integer count()
Gibt die Anzahl der Attribute im Node zurück. Implementiert Countable.
mixed getAttribute(string $name, integer|null $index)
Holt ein LDAP Attribut. Die Datenkonvertierung wird
angewendet durch Verwendung von
Zend_Ldap_Attribute::getAttribute().
array getAttributes(boolean $includeSystemAttributes)
Holt alle Attribute des Nodes. Wenn
$includeSystemAttributes FALSE ist
(der Standardwert ist TRUE) dann werden die System
spezifischen Attribute vom Array entfernt.
Zend_Ldap_Node setAttribute(string $name, mixed $value)
Setzt ein LDAP Attribut. Die Datenkonvertierung wird
angewendet durch Verwendung von
Zend_Ldap_Attribute::setAttribute().
Zend_Ldap_Node appendToAttribute(string $name, mixed $value)
Hängt etwas an ein LDAP Attribut an. Die
Datenkonvertierung wird angewendet durch Verwendung von
Zend_Ldap_Attribute::setAttribute().
array|integer getDateTimeAttribute(string $name,
integer|null $index)
Holt ein LDAP Date/Time Attribut. Die Datenkonvertierung
wird angewendet durch Verwendung von
Zend_Ldap_Attribute::setDateTimeAttribute().
Zend_Ldap_Node setDateTimeAttribute(string $name,
integer|array $value, boolean $utc)
Setzt ein LDAP Date/Time Attribut. Die Datenkonvertierung
wird angewendet durch Verwendung von
Zend_Ldap_Attribute::setDateTimeAttribute().
Zend_Ldap_Node appendToDateTimeAttribute(string $name,
integer|array $value, boolean $utc)
Hängt etwas an ein LDAP Date/Time Attribut an. Die
Datenkonvertierung wird angewendet durch Verwendung von
Zend_Ldap_Attribute::setDateTimeAttribute().
Zend_Ldap_Node setPasswordAttribute(string $password,
string $hashType, string $attribName)
Setzt ein LDAP Passwort bei
$attribName (der Standardwert ist
'userPassword') auf $password mit dem
Hashtyp $hashType (der Standardwert ist
Zend_Ldap_Attribute::PASSWORD_HASH_MD5).
Zend_Ldap_Node deleteAttribute(string $name)
Löscht ein LDAP Attribut.
void removeDuplicatesFromAttribute(string $name)
Entfernt doppelte Werte von einem LDAP Attribut.
void removeFromAttribute(string $attribName,
mixed|array $value)
Entfernt die angegebenen Werte von einem LDAP Attribut.
boolean exists(Zend_Ldap $ldap)
Prüft ob der aktuelle Node im angegebenen LDAP Server
existiert (der aktuelle Server wird verwendet wenn
NULL übergeben wird).
Zend_Ldap_Node reload(Zend_Ldap $ldap)
Lädt die Attribute des aktuellen Nodes nochmalig vom angegebenen
LDAP Server (der aktuelle Server wird verwendet wenn
NULL übergeben wird).
Zend_Ldap_Node_Collection
searchSubtree(string|Zend_Ldap_Filter_Abstract $filter, integer
$scope, string $sort)
Sucht den Unterbaum des Nodes mit dem angegebenen $filter
und den angegebenen Suchparametern ab. Siehe
Zend_Ldap::search() für Details über die
Parameter $scope und $sort.
integer countSubtree(string|Zend_Ldap_Filter_Abstract
$filter, integer $scope)
Zählt die Elemente des Unterbaums vom Node welche dem angegebenen
$filter entsprechen und dem angegebenen Suchbereich.
Siehe Zend_Ldap::search() für Details über den
$scope Parameter.
integer countChildren()
Zählt die Kinder des Nodes.
Zend_Ldap_Node_Collection
searchChildren(string|Zend_Ldap_Filter_Abstract $filter, string
$sort)
Sucht nach Kindern des Nodes die dem angegebenen $filter
entsprechen. Siehe Zend_Ldap::search() für Details
über den $sort Parameter.
boolean hasChildren()
Gibt zurück ob der aktuelle Node Kinder hat.
Zend_Ldap_Node_ChildrenIterator getChildren()
Gibt alle Kinder des aktuellen Nodes zurück.
Zend_Ldap_Node getParent(Zend_Ldap $ldap)
Gibt den Elternteil des aktuellen Nodes zurück wobei die
LDAP Verbindung $ldap verwendet wird
(verwendet die aktuelle LDAP Verbindung wenn diese nicht
angegeben wird).