[MANUAL] English:
[zend.git] / documentation / manual / en / module_specs / Zend_Ldap-API-Ldap-Node-RootDse.xml
blob386171152b7692a11e8032629c38a1fa5f3cee51
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
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>
8     <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
19         ro obvious reasons.
20     </para>
22     <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.table">
23         <title>Zend_Ldap_Node_RootDse API</title>
25         <tgroup cols="2">
26             <thead>
27                 <row>
28                     <entry>Method</entry>
29                     <entry>Description</entry>
30                 </row>
31             </thead>
33             <tbody>
34                 <row>
35                     <entry><code>Zend_Ldap_Dn getDn()</code></entry>
37                     <entry>
38                         Gets the DN of the current node as a <classname>Zend_Ldap_Dn</classname>.
39                     </entry>
40                 </row>
42                 <row>
43                     <entry><code>string getDnString(string $caseFold)</code></entry>
44                     <entry>Gets the DN of the current node as a string.</entry>
45                 </row>
47                 <row>
48                     <entry><code>array getDnArray(string $caseFold)</code></entry>
49                     <entry>Gets the DN of the current node as an array.</entry>
50                 </row>
52                 <row>
53                     <entry><code>string getRdnString(string $caseFold)</code></entry>
54                     <entry>Gets the <acronym>RDN</acronym> of the current node as a string.</entry>
55                 </row>
57                 <row>
58                     <entry><code>array getRdnArray(string $caseFold)</code></entry>
59                     <entry>Gets the <acronym>RDN</acronym> of the current node as an array.</entry>
60                 </row>
62                 <row>
63                     <entry><code>array getObjectClass()</code></entry>
64                     <entry>Returns the objectClass of the node.</entry>
65                 </row>
67                 <row>
68                     <entry><code>string toString()</code></entry>
70                     <entry>
71                         Returns the DN of the current node - proxies to
72                         <methodname>Zend_Ldap_Dn::getDnString()</methodname>.
73                     </entry>
74                 </row>
76                 <row>
77                     <entry><code>string __toString()</code></entry>
79                     <entry>
80                         Casts to string representation - proxies to
81                         <methodname>Zend_Ldap_Dn::toString()</methodname>.
82                     </entry>
83                 </row>
85                 <row>
86                     <entry><code>array toArray(boolean $includeSystemAttributes)</code></entry>
88                     <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>.
95                     </entry>
96                 </row>
98                 <row>
99                     <entry><code>string toJson(boolean $includeSystemAttributes)</code></entry>
101                     <entry>
102                         Returns a <acronym>JSON</acronym> representation of the current node using
103                         <methodname>Zend_Ldap_Node_RootDse::toArray()</methodname>.
104                     </entry>
105                 </row>
107                 <row>
108                     <entry><code>array getData(boolean $includeSystemAttributes)</code></entry>
110                     <entry>
111                         Returns the node's attributes. The array contains all
112                         attributes in its internal format (no conversion).
113                     </entry>
114                 </row>
116                 <row>
117                     <entry>
118                         <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
119                     </entry>
121                     <entry>
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
129                         key-collection.
130                     </entry>
131                 </row>
133                 <row>
134                     <entry>
135                         <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
136                     </entry>
138                     <entry>
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).
143                     </entry>
144                 </row>
146                 <row>
147                     <entry><code>integer count()</code></entry>
149                     <entry>
150                         Returns the number of attributes in the node. Implements Countable.
151                     </entry>
152                 </row>
154                 <row>
155                     <entry>
156                         <code>mixed getAttribute(string $name, integer|null $index)</code>
157                     </entry>
159                     <entry>
160                         Gets a <acronym>LDAP</acronym> attribute. Data conversion is applied using
161                         <methodname>Zend_Ldap_Attribute::getAttribute()</methodname>.
162                     </entry>
163                 </row>
165                 <row>
166                     <entry>
167                         <code>array getAttributes(boolean $includeSystemAttributes)</code>
168                     </entry>
170                     <entry>
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.
175                     </entry>
176                 </row>
178                 <row>
179                     <entry>
180                         <code>array|integer getDateTimeAttribute(string $name,
181                             integer|null $index)</code>
182                     </entry>
184                     <entry>
185                         Gets a <acronym>LDAP</acronym> date/time attribute. Data conversion is
186                         applied using
187                         <methodname>Zend_Ldap_Attribute::getDateTimeAttribute()</methodname>.
188                     </entry>
189                 </row>
191                 <row>
192                     <entry><code>Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap)</code></entry>
194                     <entry>
195                         Reloads the current node's attributes from the given <acronym>LDAP</acronym>
196                         server.
197                     </entry>
198                 </row>
200                 <row>
201                     <entry>
202                         <emphasis><code>Zend_Ldap_Node_RootDse create(Zend_Ldap
203                             $ldap)</code></emphasis>
204                     </entry>
206                     <entry>Factory method to create the RootDSE.</entry>
207                 </row>
209                 <row>
210                     <entry><code>array getNamingContexts()</code></entry>
211                     <entry>Gets the namingContexts.</entry>
212                 </row>
214                 <row>
215                     <entry><code>string|null getSubschemaSubentry()</code></entry>
216                     <entry>Gets the subschemaSubentry.</entry>
217                 </row>
219                 <row>
220                     <entry><code>boolean supportsVersion(string|int|array $versions)</code></entry>
221                     <entry>Determines if the <acronym>LDAP</acronym> version is supported.</entry>
222                 </row>
224                 <row>
225                     <entry>
226                         <code>boolean supportsSaslMechanism(string|array $mechlist)</code>
227                     </entry>
229                     <entry>Determines if the sasl mechanism is supported.</entry>
230                 </row>
232                 <row>
233                     <entry><code>integer getServerType()</code></entry>
235                     <entry>
236                         Gets the server type. Returns
238                         <variablelist>
239                             <varlistentry>
240                                 <term>
241                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_GENERIC</constant>
242                                 </term>
244                                 <listitem>
245                                     <para>for unknown <acronym>LDAP</acronym> servers</para>
246                                 </listitem>
247                             </varlistentry>
249                             <varlistentry>
250                                 <term>
251                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
252                                 </term>
254                                 <listitem><para>for OpenLDAP servers</para></listitem>
255                             </varlistentry>
257                             <varlistentry>
258                                 <term>
259                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
260                                 </term>
262                                 <listitem>
263                                     <para>for Microsoft ActiveDirectory servers</para>
264                                 </listitem>
265                             </varlistentry>
267                             <varlistentry>
268                                 <term>
269                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
270                                 </term>
272                                 <listitem><para>For Novell eDirectory servers</para></listitem>
273                             </varlistentry>
274                         </variablelist>
275                     </entry>
276                 </row>
278                 <row>
279                     <entry><code>Zend_Ldap_Dn getSchemaDn()</code></entry>
280                     <entry>Returns the schema DN.</entry>
281                 </row>
282             </tbody>
283         </tgroup>
284     </table>
286     <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap">
287         <title>OpenLDAP</title>
289         <para>
290             Additionally the common methods above apply to instances of
291             <classname>Zend_Ldap_Node_RootDse_OpenLdap</classname>.
292         </para>
294         <note>
295             <para>
296                 Refer to
297                 <ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">LDAP
298                 Operational Attributes and Objects</ulink>for information on the attributes
299                 of OpenLDAP RootDSE.
300             </para>
301         </note>
303         <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap.table">
304             <title>Zend_Ldap_Node_RootDse_OpenLdap API</title>
306             <tgroup cols="2">
307                 <thead>
308                     <row>
309                         <entry>Method</entry>
310                         <entry>Description</entry>
311                     </row>
312                 </thead>
314                 <tbody>
315                     <row>
316                         <entry><code>integer getServerType()</code></entry>
318                         <entry>
319                             Gets the server type. Returns
320                             <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
321                         </entry>
322                     </row>
324                     <row>
325                         <entry><code>string|null getConfigContext()</code></entry>
326                         <entry>Gets the configContext.</entry>
327                     </row>
329                     <row>
330                         <entry><code>string|null getMonitorContext()</code></entry>
331                         <entry>Gets the monitorContext.</entry>
332                     </row>
334                     <row>
335                         <entry><code>boolean supportsControl(string|array $oids)</code></entry>
336                         <entry>Determines if the control is supported.</entry>
337                     </row>
339                     <row>
340                         <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
341                         <entry>Determines if the extension is supported.</entry>
342                     </row>
344                     <row>
345                         <entry><code>boolean supportsFeature(string|array $oids)</code></entry>
346                         <entry>Determines if the feature is supported.</entry>
347                     </row>
348                 </tbody>
349             </tgroup>
350         </table>
351     </sect4>
353     <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory">
354         <title>ActiveDirectory</title>
356         <para>
357             Additionally the common methods above apply to instances of
358             <classname>Zend_Ldap_Node_RootDse_ActiveDirectory</classname>.
359         </para>
361         <note>
362             <para>
363                 Refer to
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.
367             </para>
368         </note>
370         <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory.table">
371             <title>Zend_Ldap_Node_RootDse_ActiveDirectory API</title>
373             <tgroup cols="2">
374                 <thead>
375                     <row>
376                         <entry>Method</entry>
377                         <entry>Description</entry>
378                     </row>
379                 </thead>
381                 <tbody>
382                     <row>
383                         <entry><code>integer getServerType()</code></entry>
385                         <entry>
386                             Gets the server type. Returns
387                             <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
388                         </entry>
389                     </row>
391                     <row>
392                         <entry><code>string|null getConfigurationNamingContext()</code></entry>
393                         <entry>Gets the configurationNamingContext.</entry>
394                     </row>
396                     <row>
397                         <entry><code>string|null getCurrentTime()</code></entry>
398                         <entry>Gets the currentTime.</entry>
399                     </row>
401                     <row>
402                         <entry><code>string|null getDefaultNamingContext()</code></entry>
403                         <entry>Gets the defaultNamingContext.</entry>
404                     </row>
406                     <row>
407                         <entry><code>string|null getDnsHostName()</code></entry>
408                         <entry>Gets the dnsHostName.</entry>
409                     </row>
411                     <row>
412                         <entry><code>string|null getDomainControllerFunctionality()</code></entry>
413                         <entry>Gets the domainControllerFunctionality.</entry>
414                     </row>
416                     <row>
417                         <entry><code>string|null getDomainFunctionality()</code></entry>
418                         <entry>Gets the domainFunctionality.</entry>
419                     </row>
421                     <row>
422                         <entry><code>string|null getDsServiceName()</code></entry>
423                         <entry>Gets the dsServiceName.</entry>
424                     </row>
426                     <row>
427                         <entry><code>string|null getForestFunctionality()</code></entry>
428                         <entry>Gets the forestFunctionality.</entry>
429                     </row>
431                     <row>
432                         <entry><code>string|null getHighestCommittedUSN()</code></entry>
433                         <entry>Gets the highestCommittedUSN.</entry>
434                     </row>
436                     <row>
437                         <entry><code>string|null getIsGlobalCatalogReady()</code></entry>
438                         <entry>Gets the isGlobalCatalogReady.</entry>
439                     </row>
441                     <row>
442                         <entry><code>string|null getIsSynchronized()</code></entry>
443                         <entry>Gets the isSynchronized.</entry>
444                     </row>
446                     <row>
447                         <entry><code>string|null getLdapServiceName()</code></entry>
448                         <entry>Gets the ldapServiceName.</entry>
449                     </row>
451                     <row>
452                         <entry><code>string|null getRootDomainNamingContext()</code></entry>
453                         <entry>Gets the rootDomainNamingContext.</entry>
454                     </row>
456                     <row>
457                         <entry><code>string|null getSchemaNamingContext()</code></entry>
458                         <entry>Gets the schemaNamingContext.</entry>
459                     </row>
461                     <row>
462                         <entry><code>string|null getServerName()</code></entry>
463                         <entry>Gets the serverName.</entry>
464                     </row>
466                     <row>
467                         <entry><code>boolean supportsCapability(string|array $oids)</code></entry>
468                         <entry>Determines if the capability is supported.</entry>
469                     </row>
471                     <row>
472                         <entry><code>boolean supportsControl(string|array $oids)</code></entry>
473                         <entry>Determines if the control is supported.</entry>
474                     </row>
476                     <row>
477                         <entry><code>boolean supportsPolicy(string|array $policies)</code></entry>
478                         <entry>Determines if the version is supported.</entry>
479                     </row>
480                 </tbody>
481             </tgroup>
482         </table>
483     </sect4>
485     <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory">
486         <title>eDirectory</title>
488         <para>
489             Additionally the common methods above apply to instances of
490             <code>Zend_Ldap_Node_RootDse_eDirectory</code>.
491         </para>
493         <note>
494             <para>
495                 Refer to <ulink
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.
499             </para>
500         </note>
502         <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory.table">
503             <title>Zend_Ldap_Node_RootDse_eDirectory API</title>
505             <tgroup cols="2">
506                 <thead>
507                     <row>
508                         <entry>Method</entry>
509                         <entry>Description</entry>
510                     </row>
511                 </thead>
513                 <tbody>
514                     <row>
515                         <entry><code>integer getServerType()</code></entry>
517                         <entry>
518                             Gets the server type. Returns
519                             <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
520                         </entry>
521                     </row>
523                     <row>
524                         <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
525                         <entry>Determines if the extension is supported.</entry>
526                     </row>
528                     <row>
529                         <entry><code>string|null getVendorName()</code></entry>
530                         <entry>Gets the vendorName.</entry>
531                     </row>
533                     <row>
534                         <entry><code>string|null getVendorVersion()</code></entry>
535                         <entry>Gets the vendorVersion.</entry>
536                     </row>
538                     <row>
539                         <entry><code>string|null getDsaName()</code></entry>
540                         <entry>Gets the dsaName.</entry>
541                     </row>
543                     <row>
544                         <entry><code>string|null getStatisticsErrors()</code></entry>
545                         <entry>Gets the server statistics "errors".</entry>
546                     </row>
548                     <row>
549                         <entry><code>string|null getStatisticsSecurityErrors()</code></entry>
550                         <entry>Gets the server statistics "securityErrors".</entry>
551                     </row>
553                     <row>
554                         <entry><code>string|null getStatisticsChainings()</code></entry>
555                         <entry>Gets the server statistics "chainings".</entry>
556                     </row>
558                     <row>
559                         <entry><code>string|null getStatisticsReferralsReturned()</code></entry>
560                         <entry>Gets the server statistics "referralsReturned".</entry>
561                     </row>
563                     <row>
564                         <entry><code>string|null getStatisticsExtendedOps()</code></entry>
565                         <entry>Gets the server statistics "extendedOps".</entry>
566                     </row>
568                     <row>
569                         <entry><code>string|null getStatisticsAbandonOps()</code></entry>
570                         <entry>Gets the server statistics "abandonOps".</entry>
571                     </row>
573                     <row>
574                         <entry><code>string|null getStatisticsWholeSubtreeSearchOps()</code></entry>
575                         <entry>Gets the server statistics "wholeSubtreeSearchOps".</entry>
576                     </row>
577                 </tbody>
578             </tgroup>
579         </table>
580     </sect4>
581 </sect3>