1 <?xml version="1.0" encoding="UTF-8"?>
3 <sect3 id="zend.ldap.api.reference.zend-ldap-node-rootdse">
4 <title>Zend_Ldap_Node_RootDse</title>
6 <para>The following methods are available on all vendor-specific subclasses.</para>
9 <classname>Zend_Ldap_Node_RootDse</classname> includes the magic property accessors
10 <methodname>__get()</methodname> and <methodname>__isset()</methodname> to access the
11 attributes by their name. They proxy to
12 <methodname>Zend_Ldap_Node_RootDse::getAttribute()</methodname> and
13 <methodname>Zend_Ldap_Node_RootDse::existsAttribute()</methodname> respectively.
14 <methodname>__set()</methodname> and <methodname>__unset()</methodname> are also implemented
15 but they throw a <code>BadMethodCallException</code> as modifications are not allowed on
16 RootDSE nodes. Furthermore the class implements <code>ArrayAccess</code> for
17 array-style-access to the attributes. <methodname>offsetSet()</methodname> and
18 <methodname>offsetUnset()</methodname> also throw a <code>BadMethodCallException</code> due
22 <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.table">
23 <title>Zend_Ldap_Node_RootDse API</title>
29 <entry>Description</entry>
35 <entry><code>Zend_Ldap_Dn getDn()</code></entry>
38 Gets the DN of the current node as a <classname>Zend_Ldap_Dn</classname>.
43 <entry><code>string getDnString(string $caseFold)</code></entry>
44 <entry>Gets the DN of the current node as a string.</entry>
48 <entry><code>array getDnArray(string $caseFold)</code></entry>
49 <entry>Gets the DN of the current node as an array.</entry>
53 <entry><code>string getRdnString(string $caseFold)</code></entry>
54 <entry>Gets the <acronym>RDN</acronym> of the current node as a string.</entry>
58 <entry><code>array getRdnArray(string $caseFold)</code></entry>
59 <entry>Gets the <acronym>RDN</acronym> of the current node as an array.</entry>
63 <entry><code>array getObjectClass()</code></entry>
64 <entry>Returns the objectClass of the node.</entry>
68 <entry><code>string toString()</code></entry>
71 Returns the DN of the current node - proxies to
72 <methodname>Zend_Ldap_Dn::getDnString()</methodname>.
77 <entry><code>string __toString()</code></entry>
80 Casts to string representation - proxies to
81 <methodname>Zend_Ldap_Dn::toString()</methodname>.
86 <entry><code>array toArray(boolean $includeSystemAttributes)</code></entry>
89 Returns an array representation of the current node. If
90 <varname>$includeSystemAttributes</varname> is <constant>FALSE</constant>
91 (defaults to <constant>TRUE</constant>) the system specific attributes are
92 stripped from the array. Unlike
93 <methodname>Zend_Ldap_Node_RootDse::getAttributes()</methodname> the
94 resulting array contains the DN with key <code>'dn'</code>.
99 <entry><code>string toJson(boolean $includeSystemAttributes)</code></entry>
102 Returns a <acronym>JSON</acronym> representation of the current node using
103 <methodname>Zend_Ldap_Node_RootDse::toArray()</methodname>.
108 <entry><code>array getData(boolean $includeSystemAttributes)</code></entry>
111 Returns the node's attributes. The array contains all
112 attributes in its internal format (no conversion).
118 <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
122 Checks whether a given attribute exists. If
123 <varname>$emptyExists</varname> is <constant>FALSE</constant>, empty
124 attributes (containing only array()) are treated as non-existent returning
125 <constant>FALSE</constant>. If <varname>$emptyExists</varname> is
126 <constant>TRUE</constant>, empty attributes are treated as existent
127 returning <constant>TRUE</constant>. In this case the method returns
128 <constant>FALSE</constant> only if the attribute name is missing in the
135 <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
139 Checks if the given value(s) exist in the attribute. The
140 method returns <constant>TRUE</constant> only if all values in
141 <varname>$value</varname> are present in the attribute. Comparison is
142 done strictly (respecting the data type).
147 <entry><code>integer count()</code></entry>
150 Returns the number of attributes in the node. Implements Countable.
156 <code>mixed getAttribute(string $name, integer|null $index)</code>
160 Gets a <acronym>LDAP</acronym> attribute. Data conversion is applied using
161 <methodname>Zend_Ldap_Attribute::getAttribute()</methodname>.
167 <code>array getAttributes(boolean $includeSystemAttributes)</code>
171 Gets all attributes of node. If
172 <varname>$includeSystemAttributes</varname> is <constant>FALSE</constant>
173 (defaults to <constant>TRUE</constant>) the system specific attributes are
174 stripped from the array.
180 <code>array|integer getDateTimeAttribute(string $name,
181 integer|null $index)</code>
185 Gets a <acronym>LDAP</acronym> date/time attribute. Data conversion is
187 <methodname>Zend_Ldap_Attribute::getDateTimeAttribute()</methodname>.
192 <entry><code>Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap)</code></entry>
195 Reloads the current node's attributes from the given <acronym>LDAP</acronym>
202 <emphasis><code>Zend_Ldap_Node_RootDse create(Zend_Ldap
203 $ldap)</code></emphasis>
206 <entry>Factory method to create the RootDSE.</entry>
210 <entry><code>array getNamingContexts()</code></entry>
211 <entry>Gets the namingContexts.</entry>
215 <entry><code>string|null getSubschemaSubentry()</code></entry>
216 <entry>Gets the subschemaSubentry.</entry>
220 <entry><code>boolean supportsVersion(string|int|array $versions)</code></entry>
221 <entry>Determines if the <acronym>LDAP</acronym> version is supported.</entry>
226 <code>boolean supportsSaslMechanism(string|array $mechlist)</code>
229 <entry>Determines if the sasl mechanism is supported.</entry>
233 <entry><code>integer getServerType()</code></entry>
236 Gets the server type. Returns
241 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_GENERIC</constant>
245 <para>for unknown <acronym>LDAP</acronym> servers</para>
251 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
254 <listitem><para>for OpenLDAP servers</para></listitem>
259 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
263 <para>for Microsoft ActiveDirectory servers</para>
269 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
272 <listitem><para>For Novell eDirectory servers</para></listitem>
279 <entry><code>Zend_Ldap_Dn getSchemaDn()</code></entry>
280 <entry>Returns the schema DN.</entry>
286 <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap">
287 <title>OpenLDAP</title>
290 Additionally the common methods above apply to instances of
291 <classname>Zend_Ldap_Node_RootDse_OpenLdap</classname>.
297 <ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">LDAP
298 Operational Attributes and Objects</ulink>for information on the attributes
303 <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap.table">
304 <title>Zend_Ldap_Node_RootDse_OpenLdap API</title>
309 <entry>Method</entry>
310 <entry>Description</entry>
316 <entry><code>integer getServerType()</code></entry>
319 Gets the server type. Returns
320 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
325 <entry><code>string|null getConfigContext()</code></entry>
326 <entry>Gets the configContext.</entry>
330 <entry><code>string|null getMonitorContext()</code></entry>
331 <entry>Gets the monitorContext.</entry>
335 <entry><code>boolean supportsControl(string|array $oids)</code></entry>
336 <entry>Determines if the control is supported.</entry>
340 <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
341 <entry>Determines if the extension is supported.</entry>
345 <entry><code>boolean supportsFeature(string|array $oids)</code></entry>
346 <entry>Determines if the feature is supported.</entry>
353 <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory">
354 <title>ActiveDirectory</title>
357 Additionally the common methods above apply to instances of
358 <classname>Zend_Ldap_Node_RootDse_ActiveDirectory</classname>.
364 <ulink url="http://msdn.microsoft.com/en-us/library/ms684291(VS.85).aspx">
365 RootDSE</ulink>for information on the attributes of Microsoft
366 ActiveDirectory RootDSE.
370 <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory.table">
371 <title>Zend_Ldap_Node_RootDse_ActiveDirectory API</title>
376 <entry>Method</entry>
377 <entry>Description</entry>
383 <entry><code>integer getServerType()</code></entry>
386 Gets the server type. Returns
387 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
392 <entry><code>string|null getConfigurationNamingContext()</code></entry>
393 <entry>Gets the configurationNamingContext.</entry>
397 <entry><code>string|null getCurrentTime()</code></entry>
398 <entry>Gets the currentTime.</entry>
402 <entry><code>string|null getDefaultNamingContext()</code></entry>
403 <entry>Gets the defaultNamingContext.</entry>
407 <entry><code>string|null getDnsHostName()</code></entry>
408 <entry>Gets the dnsHostName.</entry>
412 <entry><code>string|null getDomainControllerFunctionality()</code></entry>
413 <entry>Gets the domainControllerFunctionality.</entry>
417 <entry><code>string|null getDomainFunctionality()</code></entry>
418 <entry>Gets the domainFunctionality.</entry>
422 <entry><code>string|null getDsServiceName()</code></entry>
423 <entry>Gets the dsServiceName.</entry>
427 <entry><code>string|null getForestFunctionality()</code></entry>
428 <entry>Gets the forestFunctionality.</entry>
432 <entry><code>string|null getHighestCommittedUSN()</code></entry>
433 <entry>Gets the highestCommittedUSN.</entry>
437 <entry><code>string|null getIsGlobalCatalogReady()</code></entry>
438 <entry>Gets the isGlobalCatalogReady.</entry>
442 <entry><code>string|null getIsSynchronized()</code></entry>
443 <entry>Gets the isSynchronized.</entry>
447 <entry><code>string|null getLdapServiceName()</code></entry>
448 <entry>Gets the ldapServiceName.</entry>
452 <entry><code>string|null getRootDomainNamingContext()</code></entry>
453 <entry>Gets the rootDomainNamingContext.</entry>
457 <entry><code>string|null getSchemaNamingContext()</code></entry>
458 <entry>Gets the schemaNamingContext.</entry>
462 <entry><code>string|null getServerName()</code></entry>
463 <entry>Gets the serverName.</entry>
467 <entry><code>boolean supportsCapability(string|array $oids)</code></entry>
468 <entry>Determines if the capability is supported.</entry>
472 <entry><code>boolean supportsControl(string|array $oids)</code></entry>
473 <entry>Determines if the control is supported.</entry>
477 <entry><code>boolean supportsPolicy(string|array $policies)</code></entry>
478 <entry>Determines if the version is supported.</entry>
485 <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory">
486 <title>eDirectory</title>
489 Additionally the common methods above apply to instances of
490 <code>Zend_Ldap_Node_RootDse_eDirectory</code>.
496 url="http://www.novell.com/documentation/edir88/edir88/index.html?page=/documentation/edir88/edir88/data/ah59jqq.html">Getting
497 Information about the <acronym>LDAP</acronym> Server</ulink>for information on
498 the attributes of Novell eDirectory RootDSE.
502 <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory.table">
503 <title>Zend_Ldap_Node_RootDse_eDirectory API</title>
508 <entry>Method</entry>
509 <entry>Description</entry>
515 <entry><code>integer getServerType()</code></entry>
518 Gets the server type. Returns
519 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
524 <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
525 <entry>Determines if the extension is supported.</entry>
529 <entry><code>string|null getVendorName()</code></entry>
530 <entry>Gets the vendorName.</entry>
534 <entry><code>string|null getVendorVersion()</code></entry>
535 <entry>Gets the vendorVersion.</entry>
539 <entry><code>string|null getDsaName()</code></entry>
540 <entry>Gets the dsaName.</entry>
544 <entry><code>string|null getStatisticsErrors()</code></entry>
545 <entry>Gets the server statistics "errors".</entry>
549 <entry><code>string|null getStatisticsSecurityErrors()</code></entry>
550 <entry>Gets the server statistics "securityErrors".</entry>
554 <entry><code>string|null getStatisticsChainings()</code></entry>
555 <entry>Gets the server statistics "chainings".</entry>
559 <entry><code>string|null getStatisticsReferralsReturned()</code></entry>
560 <entry>Gets the server statistics "referralsReturned".</entry>
564 <entry><code>string|null getStatisticsExtendedOps()</code></entry>
565 <entry>Gets the server statistics "extendedOps".</entry>
569 <entry><code>string|null getStatisticsAbandonOps()</code></entry>
570 <entry>Gets the server statistics "abandonOps".</entry>
574 <entry><code>string|null getStatisticsWholeSubtreeSearchOps()</code></entry>
575 <entry>Gets the server statistics "wholeSubtreeSearchOps".</entry>