[MANUAL] English:
[zend.git] / documentation / manual / en / module_specs / Zend_Ldap-API-Ldap-Node-RootDse.xml
blob27706aa6660fb84b23b38cf778f87ebda98512a1
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>
36                     <entry>Gets the DN of the current node as a Zend_Ldap_Dn.</entry>
37                 </row>
39                 <row>
40                     <entry><code>string getDnString(string $caseFold)</code></entry>
41                     <entry>Gets the DN of the current node as a string.</entry>
42                 </row>
44                 <row>
45                     <entry><code>array getDnArray(string $caseFold)</code></entry>
46                     <entry>Gets the DN of the current node as an array.</entry>
47                 </row>
49                 <row>
50                     <entry><code>string getRdnString(string $caseFold)</code></entry>
51                     <entry>Gets the <acronym>RDN</acronym> of the current node as a string.</entry>
52                 </row>
54                 <row>
55                     <entry><code>array getRdnArray(string $caseFold)</code></entry>
56                     <entry>Gets the <acronym>RDN</acronym> of the current node as an array.</entry>
57                 </row>
59                 <row>
60                     <entry><code>array getObjectClass()</code></entry>
61                     <entry>Returns the objectClass of the node.</entry>
62                 </row>
64                 <row>
65                     <entry><code>string toString()</code></entry>
67                     <entry>
68                         Returns the DN of the current node - proxies to
69                         <methodname>Zend_Ldap_Dn::getDnString()</methodname>.
70                     </entry>
71                 </row>
73                 <row>
74                     <entry><code>string __toString()</code></entry>
76                     <entry>
77                         Casts to string representation - proxies to
78                         <methodname>Zend_Ldap_Dn::toString()</methodname>.
79                     </entry>
80                 </row>
82                 <row>
83                     <entry><code>array toArray(boolean $includeSystemAttributes)</code></entry>
85                     <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>.
92                     </entry>
93                 </row>
95                 <row>
96                     <entry><code>string toJson(boolean $includeSystemAttributes)</code></entry>
98                     <entry>
99                         Returns a <acronym>JSON</acronym> representation of the current node using
100                         <methodname>Zend_Ldap_Node_RootDse::toArray()</methodname>.
101                     </entry>
102                 </row>
104                 <row>
105                     <entry><code>array getData(boolean $includeSystemAttributes)</code></entry>
107                     <entry>
108                         Returns the node's attributes. The array contains all
109                         attributes in its internal format (no conversion).
110                     </entry>
111                 </row>
113                 <row>
114                     <entry>
115                         <code>boolean existsAttribute(string $name, boolean $emptyExists)</code>
116                     </entry>
118                     <entry>
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
126                         key-collection.
127                     </entry>
128                 </row>
130                 <row>
131                     <entry>
132                         <code>boolean attributeHasValue(string $name, mixed|array $value)</code>
133                     </entry>
135                     <entry>
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).
140                     </entry>
141                 </row>
143                 <row>
144                     <entry><code>integer count()</code></entry>
146                     <entry>
147                         Returns the number of attributes in the node. Implements Countable.
148                     </entry>
149                 </row>
151                 <row>
152                     <entry>
153                         <code>mixed getAttribute(string $name, integer|null $index)</code>
154                     </entry>
156                     <entry>
157                         Gets a <acronym>LDAP</acronym> attribute. Data conversion is applied using
158                         <methodname>Zend_Ldap_Attribute::getAttribute()</methodname>.
159                     </entry>
160                 </row>
162                 <row>
163                     <entry>
164                         <code>array getAttributes(boolean $includeSystemAttributes)</code>
165                     </entry>
167                     <entry>
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.
172                     </entry>
173                 </row>
175                 <row>
176                     <entry>
177                         <code>array|integer getDateTimeAttribute(string $name,
178                             integer|null $index)</code>
179                     </entry>
181                     <entry>
182                         Gets a <acronym>LDAP</acronym> date/time attribute. Data conversion is
183                         applied using
184                         <methodname>Zend_Ldap_Attribute::getDateTimeAttribute()</methodname>.
185                     </entry>
186                 </row>
188                 <row>
189                     <entry><code>Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap)</code></entry>
191                     <entry>
192                         Reloads the current node's attributes from the given <acronym>LDAP</acronym>
193                         server.
194                     </entry>
195                 </row>
197                 <row>
198                     <entry>
199                         <emphasis><code>Zend_Ldap_Node_RootDse create(Zend_Ldap
200                             $ldap)</code></emphasis>
201                     </entry>
203                     <entry>Factory method to create the RootDSE.</entry>
204                 </row>
206                 <row>
207                     <entry><code>array getNamingContexts()</code></entry>
208                     <entry>Gets the namingContexts.</entry>
209                 </row>
211                 <row>
212                     <entry><code>string|null getSubschemaSubentry()</code></entry>
213                     <entry>Gets the subschemaSubentry.</entry>
214                 </row>
216                 <row>
217                     <entry><code>boolean supportsVersion(string|int|array $versions)</code></entry>
218                     <entry>Determines if the <acronym>LDAP</acronym> version is supported.</entry>
219                 </row>
221                 <row>
222                     <entry>
223                         <code>boolean supportsSaslMechanism(string|array $mechlist)</code>
224                     </entry>
226                     <entry>Determines if the sasl mechanism is supported.</entry>
227                 </row>
229                 <row>
230                     <entry><code>integer getServerType()</code></entry>
232                     <entry>
233                         Gets the server type. Returns
235                         <variablelist>
236                             <varlistentry>
237                                 <term>
238                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_GENERIC</constant>
239                                 </term>
241                                 <listitem>
242                                     <para>for unknown <acronym>LDAP</acronym> servers</para>
243                                 </listitem>
244                             </varlistentry>
246                             <varlistentry>
247                                 <term>
248                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
249                                 </term>
251                                 <listitem><para>for OpenLDAP servers</para></listitem>
252                             </varlistentry>
254                             <varlistentry>
255                                 <term>
256                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
257                                 </term>
259                                 <listitem>
260                                     <para>for Microsoft ActiveDirectory servers</para>
261                                 </listitem>
262                             </varlistentry>
264                             <varlistentry>
265                                 <term>
266                                     <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
267                                 </term>
269                                 <listitem><para>For Novell eDirectory servers</para></listitem>
270                             </varlistentry>
271                         </variablelist>
272                     </entry>
273                 </row>
275                 <row>
276                     <entry><code>Zend_Ldap_Dn getSchemaDn()</code></entry>
277                     <entry>Returns the schema DN.</entry>
278                 </row>
279             </tbody>
280         </tgroup>
281     </table>
283     <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap">
284         <title>OpenLDAP</title>
286         <para>
287             Additionally the common methods above apply to instances of
288             <classname>Zend_Ldap_Node_RootDse_OpenLdap</classname>.
289         </para>
291         <note>
292             <para>
293                 Refer to
294                 <ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">LDAP
295                 Operational Attributes and Objects</ulink>for information on the attributes
296                 of OpenLDAP RootDSE.
297             </para>
298         </note>
300         <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.openldap.table">
301             <title>Zend_Ldap_Node_RootDse_OpenLdap API</title>
303             <tgroup cols="2">
304                 <thead>
305                     <row>
306                         <entry>Method</entry>
307                         <entry>Description</entry>
308                     </row>
309                 </thead>
311                 <tbody>
312                     <row>
313                         <entry><code>integer getServerType()</code></entry>
315                         <entry>
316                             Gets the server type. Returns
317                             <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP</constant>
318                         </entry>
319                     </row>
321                     <row>
322                         <entry><code>string|null getConfigContext()</code></entry>
323                         <entry>Gets the configContext.</entry>
324                     </row>
326                     <row>
327                         <entry><code>string|null getMonitorContext()</code></entry>
328                         <entry>Gets the monitorContext.</entry>
329                     </row>
331                     <row>
332                         <entry><code>boolean supportsControl(string|array $oids)</code></entry>
333                         <entry>Determines if the control is supported.</entry>
334                     </row>
336                     <row>
337                         <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
338                         <entry>Determines if the extension is supported.</entry>
339                     </row>
341                     <row>
342                         <entry><code>boolean supportsFeature(string|array $oids)</code></entry>
343                         <entry>Determines if the feature is supported.</entry>
344                     </row>
345                 </tbody>
346             </tgroup>
347         </table>
348     </sect4>
350     <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory">
351         <title>ActiveDirectory</title>
353         <para>
354             Additionally the common methods above apply to instances of
355             <classname>Zend_Ldap_Node_RootDse_ActiveDirectory</classname>.
356         </para>
358         <note>
359             <para>
360                 Refer to
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.
364             </para>
365         </note>
367         <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.activedirectory.table">
368             <title>Zend_Ldap_Node_RootDse_ActiveDirectory API</title>
370             <tgroup cols="2">
371                 <thead>
372                     <row>
373                         <entry>Method</entry>
374                         <entry>Description</entry>
375                     </row>
376                 </thead>
378                 <tbody>
379                     <row>
380                         <entry><code>integer getServerType()</code></entry>
382                         <entry>
383                             Gets the server type. Returns
384                             <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY</constant>
385                         </entry>
386                     </row>
388                     <row>
389                         <entry><code>string|null getConfigurationNamingContext()</code></entry>
390                         <entry>Gets the configurationNamingContext.</entry>
391                     </row>
393                     <row>
394                         <entry><code>string|null getCurrentTime()</code></entry>
395                         <entry>Gets the currentTime.</entry>
396                     </row>
398                     <row>
399                         <entry><code>string|null getDefaultNamingContext()</code></entry>
400                         <entry>Gets the defaultNamingContext.</entry>
401                     </row>
403                     <row>
404                         <entry><code>string|null getDnsHostName()</code></entry>
405                         <entry>Gets the dnsHostName.</entry>
406                     </row>
408                     <row>
409                         <entry><code>string|null getDomainControllerFunctionality()</code></entry>
410                         <entry>Gets the domainControllerFunctionality.</entry>
411                     </row>
413                     <row>
414                         <entry><code>string|null getDomainFunctionality()</code></entry>
415                         <entry>Gets the domainFunctionality.</entry>
416                     </row>
418                     <row>
419                         <entry><code>string|null getDsServiceName()</code></entry>
420                         <entry>Gets the dsServiceName.</entry>
421                     </row>
423                     <row>
424                         <entry><code>string|null getForestFunctionality()</code></entry>
425                         <entry>Gets the forestFunctionality.</entry>
426                     </row>
428                     <row>
429                         <entry><code>string|null getHighestCommittedUSN()</code></entry>
430                         <entry>Gets the highestCommittedUSN.</entry>
431                     </row>
433                     <row>
434                         <entry><code>string|null getIsGlobalCatalogReady()</code></entry>
435                         <entry>Gets the isGlobalCatalogReady.</entry>
436                     </row>
438                     <row>
439                         <entry><code>string|null getIsSynchronized()</code></entry>
440                         <entry>Gets the isSynchronized.</entry>
441                     </row>
443                     <row>
444                         <entry><code>string|null getLdapServiceName()</code></entry>
445                         <entry>Gets the ldapServiceName.</entry>
446                     </row>
448                     <row>
449                         <entry><code>string|null getRootDomainNamingContext()</code></entry>
450                         <entry>Gets the rootDomainNamingContext.</entry>
451                     </row>
453                     <row>
454                         <entry><code>string|null getSchemaNamingContext()</code></entry>
455                         <entry>Gets the schemaNamingContext.</entry>
456                     </row>
458                     <row>
459                         <entry><code>string|null getServerName()</code></entry>
460                         <entry>Gets the serverName.</entry>
461                     </row>
463                     <row>
464                         <entry><code>boolean supportsCapability(string|array $oids)</code></entry>
465                         <entry>Determines if the capability is supported.</entry>
466                     </row>
468                     <row>
469                         <entry><code>boolean supportsControl(string|array $oids)</code></entry>
470                         <entry>Determines if the control is supported.</entry>
471                     </row>
473                     <row>
474                         <entry><code>boolean supportsPolicy(string|array $policies)</code></entry>
475                         <entry>Determines if the version is supported.</entry>
476                     </row>
477                 </tbody>
478             </tgroup>
479         </table>
480     </sect4>
482     <sect4 id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory">
483         <title>eDirectory</title>
485         <para>
486             Additionally the common methods above apply to instances of
487             <code>Zend_Ldap_Node_RootDse_eDirectory</code>.
488         </para>
490         <note>
491             <para>
492                 Refer to <ulink
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.
496             </para>
497         </note>
499         <table id="zend.ldap.api.reference.zend-ldap-node-rootdse.edirectory.table">
500             <title>Zend_Ldap_Node_RootDse_eDirectory API</title>
502             <tgroup cols="2">
503                 <thead>
504                     <row>
505                         <entry>Method</entry>
506                         <entry>Description</entry>
507                     </row>
508                 </thead>
510                 <tbody>
511                     <row>
512                         <entry><code>integer getServerType()</code></entry>
514                         <entry>
515                             Gets the server type. Returns
516                             <constant>Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY</constant>
517                         </entry>
518                     </row>
520                     <row>
521                         <entry><code>boolean supportsExtension(string|array $oids)</code></entry>
522                         <entry>Determines if the extension is supported.</entry>
523                     </row>
525                     <row>
526                         <entry><code>string|null getVendorName()</code></entry>
527                         <entry>Gets the vendorName.</entry>
528                     </row>
530                     <row>
531                         <entry><code>string|null getVendorVersion()</code></entry>
532                         <entry>Gets the vendorVersion.</entry>
533                     </row>
535                     <row>
536                         <entry><code>string|null getDsaName()</code></entry>
537                         <entry>Gets the dsaName.</entry>
538                     </row>
540                     <row>
541                         <entry><code>string|null getStatisticsErrors()</code></entry>
542                         <entry>Gets the server statistics "errors".</entry>
543                     </row>
545                     <row>
546                         <entry><code>string|null getStatisticsSecurityErrors()</code></entry>
547                         <entry>Gets the server statistics "securityErrors".</entry>
548                     </row>
550                     <row>
551                         <entry><code>string|null getStatisticsChainings()</code></entry>
552                         <entry>Gets the server statistics "chainings".</entry>
553                     </row>
555                     <row>
556                         <entry><code>string|null getStatisticsReferralsReturned()</code></entry>
557                         <entry>Gets the server statistics "referralsReturned".</entry>
558                     </row>
560                     <row>
561                         <entry><code>string|null getStatisticsExtendedOps()</code></entry>
562                         <entry>Gets the server statistics "extendedOps".</entry>
563                     </row>
565                     <row>
566                         <entry><code>string|null getStatisticsAbandonOps()</code></entry>
567                         <entry>Gets the server statistics "abandonOps".</entry>
568                     </row>
570                     <row>
571                         <entry><code>string|null getStatisticsWholeSubtreeSearchOps()</code></entry>
572                         <entry>Gets the server statistics "wholeSubtreeSearchOps".</entry>
573                     </row>
574                 </tbody>
575             </tgroup>
576         </table>
577     </sect4>
578 </sect3>