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).