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>
36 <entry>Gets the DN of the current node as a Zend_Ldap_Dn.</entry>
40 <entry><code>string getDnString(string $caseFold)</code></entry>
41 <entry>Gets the DN of the current node as a string.</entry>
45 <entry><code>array getDnArray(string $caseFold)</code></entry>
46 <entry>Gets the DN of the current node as an array.</entry>
50 <entry><code>string getRdnString(string $caseFold)</code></entry>
51 <entry>Gets the <acronym>RDN</acronym> of the current node as a string.</entry>
55 <entry><code>array getRdnArray(string $caseFold)</code></entry>
56 <entry>Gets the <acronym>RDN</acronym> of the current node as an array.</entry>
60 <entry><code>array getObjectClass()</code></entry>
61 <entry>Returns the objectClass of the node.</entry>
65 <entry><code>string toString()</code></entry>
68 Returns the DN of the current node - proxies to
69 <methodname>Zend_Ldap_Dn::getDnString()</methodname>.
74 <entry><code>string __toString()</code></entry>
77 Casts to string representation - proxies to
78 <methodname>Zend_Ldap_Dn::toString()</methodname>.
83 <entry><code>array toArray(boolean $includeSystemAttributes)</code></entry>
86 Returns an array representation of the current node. If
87 <varname>$includeSystemAttributes</varname> is <constant>FALSE</constant>
88 (defaults to <constant>TRUE</constant>) the system specific attributes are
89 stripped from the array. Unlike
90 <methodname>Zend_Ldap_Node_RootDse::getAttributes()</methodname> the
91 resulting array contains the DN with key <code>'dn'</code>.
96 <entry><code>string toJson(boolean $includeSystemAttributes)</code></entry>
99 Returns a <acronym>JSON</acronym> representation of the current node using
100 <methodname>Zend_Ldap_Node_RootDse::toArray()</methodname>.
105 <entry><code>array getData(boolean $includeSystemAttributes)</code></entry>
108 Returns the node's attributes. The array contains all
109 attributes in its internal format (no conversion).
115 <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
119 Checks whether a given attribute exists. If
120 <varname>$emptyExists</varname> is <constant>FALSE</constant>, empty
121 attributes (containing only array()) are treated as non-existent returning
122 <constant>FALSE</constant>. If <varname>$emptyExists</varname> is
123 <constant>TRUE</constant>, empty attributes are treated as existent
124 returning <constant>TRUE</constant>. In this case the method returns
125 <constant>FALSE</constant> only if the attribute name is missing in the
132 <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
136 Checks if the given value(s) exist in the attribute. The
137 method returns <constant>TRUE</constant> only if all values in
138 <varname>$value</varname> are present in the attribute. Comparison is
139 done strictly (respecting the data type).
144 <entry><code>integer count()</code></entry>
147 Returns the number of attributes in the node. Implements Countable.
153 <code>mixed getAttribute(string $name, integer|null $index)</code>
157 Gets a <acronym>LDAP</acronym> attribute. Data conversion is applied using
158 <methodname>Zend_Ldap_Attribute::getAttribute()</methodname>.
164 <code>array getAttributes(boolean $includeSystemAttributes)</code>
168 Gets all attributes of node. If
169 <varname>$includeSystemAttributes</varname> is <constant>FALSE</constant>
170 (defaults to <constant>TRUE</constant>) the system specific attributes are
171 stripped from the array.
177 <code>array|integer getDateTimeAttribute(string $name,
178 integer|null $index)</code>
182 Gets a <acronym>LDAP</acronym> date/time attribute. Data conversion is
184 <methodname>Zend_Ldap_Attribute::getDateTimeAttribute()</methodname>.
189 <entry><code>Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap)</code></entry>
192 Reloads the current node's attributes from the given <acronym>LDAP</acronym>
199 <emphasis><code>Zend_Ldap_Node_RootDse create(Zend_Ldap
200 $ldap)</code></emphasis>
203 <entry>Factory method to create the RootDSE.</entry>
207 <entry><code>array getNamingContexts()</code></entry>
208 <entry>Gets the namingContexts.</entry>
212 <entry><code>string|null getSubschemaSubentry()</code></entry>
213 <entry>Gets the subschemaSubentry.</entry>
217 <entry><code>boolean supportsVersion(string|int|array $versions)</code></entry>
218 <entry>Determines if the <acronym>LDAP</acronym> version is supported.</entry>
223 <code>boolean supportsSaslMechanism(string|array $mechlist)</code>
226 <entry>Determines if the sasl mechanism is supported.</entry>
230 <entry><code>integer getServerType()</code></entry>
233 Gets the server type. Returns
238 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_GENERIC</constant>
242 <para>for unknown <acronym>LDAP</acronym> servers</para>
248 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
251 <listitem><para>for OpenLDAP servers</para></listitem>
256 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
260 <para>for Microsoft ActiveDirectory servers</para>
266 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
269 <listitem><para>For Novell eDirectory servers</para></listitem>
276 <entry><code>Zend_Ldap_Dn getSchemaDn()</code></entry>
277 <entry>Returns the schema DN.</entry>
283 <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap">
284 <title>OpenLDAP</title>
287 Additionally the common methods above apply to instances of
288 <classname>Zend_Ldap_Node_RootDse_OpenLdap</classname>.
294 <ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">LDAP
295 Operational Attributes and Objects</ulink>for information on the attributes
300 <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap.table">
301 <title>Zend_Ldap_Node_RootDse_OpenLdap API</title>
306 <entry>Method</entry>
307 <entry>Description</entry>
313 <entry><code>integer getServerType()</code></entry>
316 Gets the server type. Returns
317 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
322 <entry><code>string|null getConfigContext()</code></entry>
323 <entry>Gets the configContext.</entry>
327 <entry><code>string|null getMonitorContext()</code></entry>
328 <entry>Gets the monitorContext.</entry>
332 <entry><code>boolean supportsControl(string|array $oids)</code></entry>
333 <entry>Determines if the control is supported.</entry>
337 <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
338 <entry>Determines if the extension is supported.</entry>
342 <entry><code>boolean supportsFeature(string|array $oids)</code></entry>
343 <entry>Determines if the feature is supported.</entry>
350 <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory">
351 <title>ActiveDirectory</title>
354 Additionally the common methods above apply to instances of
355 <classname>Zend_Ldap_Node_RootDse_ActiveDirectory</classname>.
361 <ulink url="http://msdn.microsoft.com/en-us/library/ms684291(VS.85).aspx">
362 RootDSE</ulink>for information on the attributes of Microsoft
363 ActiveDirectory RootDSE.
367 <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory.table">
368 <title>Zend_Ldap_Node_RootDse_ActiveDirectory API</title>
373 <entry>Method</entry>
374 <entry>Description</entry>
380 <entry><code>integer getServerType()</code></entry>
383 Gets the server type. Returns
384 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
389 <entry><code>string|null getConfigurationNamingContext()</code></entry>
390 <entry>Gets the configurationNamingContext.</entry>
394 <entry><code>string|null getCurrentTime()</code></entry>
395 <entry>Gets the currentTime.</entry>
399 <entry><code>string|null getDefaultNamingContext()</code></entry>
400 <entry>Gets the defaultNamingContext.</entry>
404 <entry><code>string|null getDnsHostName()</code></entry>
405 <entry>Gets the dnsHostName.</entry>
409 <entry><code>string|null getDomainControllerFunctionality()</code></entry>
410 <entry>Gets the domainControllerFunctionality.</entry>
414 <entry><code>string|null getDomainFunctionality()</code></entry>
415 <entry>Gets the domainFunctionality.</entry>
419 <entry><code>string|null getDsServiceName()</code></entry>
420 <entry>Gets the dsServiceName.</entry>
424 <entry><code>string|null getForestFunctionality()</code></entry>
425 <entry>Gets the forestFunctionality.</entry>
429 <entry><code>string|null getHighestCommittedUSN()</code></entry>
430 <entry>Gets the highestCommittedUSN.</entry>
434 <entry><code>string|null getIsGlobalCatalogReady()</code></entry>
435 <entry>Gets the isGlobalCatalogReady.</entry>
439 <entry><code>string|null getIsSynchronized()</code></entry>
440 <entry>Gets the isSynchronized.</entry>
444 <entry><code>string|null getLdapServiceName()</code></entry>
445 <entry>Gets the ldapServiceName.</entry>
449 <entry><code>string|null getRootDomainNamingContext()</code></entry>
450 <entry>Gets the rootDomainNamingContext.</entry>
454 <entry><code>string|null getSchemaNamingContext()</code></entry>
455 <entry>Gets the schemaNamingContext.</entry>
459 <entry><code>string|null getServerName()</code></entry>
460 <entry>Gets the serverName.</entry>
464 <entry><code>boolean supportsCapability(string|array $oids)</code></entry>
465 <entry>Determines if the capability is supported.</entry>
469 <entry><code>boolean supportsControl(string|array $oids)</code></entry>
470 <entry>Determines if the control is supported.</entry>
474 <entry><code>boolean supportsPolicy(string|array $policies)</code></entry>
475 <entry>Determines if the version is supported.</entry>
482 <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory">
483 <title>eDirectory</title>
486 Additionally the common methods above apply to instances of
487 <code>Zend_Ldap_Node_RootDse_eDirectory</code>.
493 url="http://www.novell.com/documentation/edir88/edir88/index.html?page=/documentation/edir88/edir88/data/ah59jqq.html">Getting
494 Information about the <acronym>LDAP</acronym> Server</ulink>for information on
495 the attributes of Novell eDirectory RootDSE.
499 <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory.table">
500 <title>Zend_Ldap_Node_RootDse_eDirectory API</title>
505 <entry>Method</entry>
506 <entry>Description</entry>
512 <entry><code>integer getServerType()</code></entry>
515 Gets the server type. Returns
516 <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
521 <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
522 <entry>Determines if the extension is supported.</entry>
526 <entry><code>string|null getVendorName()</code></entry>
527 <entry>Gets the vendorName.</entry>
531 <entry><code>string|null getVendorVersion()</code></entry>
532 <entry>Gets the vendorVersion.</entry>
536 <entry><code>string|null getDsaName()</code></entry>
537 <entry>Gets the dsaName.</entry>
541 <entry><code>string|null getStatisticsErrors()</code></entry>
542 <entry>Gets the server statistics "errors".</entry>
546 <entry><code>string|null getStatisticsSecurityErrors()</code></entry>
547 <entry>Gets the server statistics "securityErrors".</entry>
551 <entry><code>string|null getStatisticsChainings()</code></entry>
552 <entry>Gets the server statistics "chainings".</entry>
556 <entry><code>string|null getStatisticsReferralsReturned()</code></entry>
557 <entry>Gets the server statistics "referralsReturned".</entry>
561 <entry><code>string|null getStatisticsExtendedOps()</code></entry>
562 <entry>Gets the server statistics "extendedOps".</entry>
566 <entry><code>string|null getStatisticsAbandonOps()</code></entry>
567 <entry>Gets the server statistics "abandonOps".</entry>
571 <entry><code>string|null getStatisticsWholeSubtreeSearchOps()</code></entry>
572 <entry>Gets the server statistics "wholeSubtreeSearchOps".</entry>