File: Zend_Ldap-API-Ldap-Dn.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (355 lines) | stat: -rw-r--r-- 14,737 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect3 id="zend.ldap.api.reference.zend-ldap-dn">
    <title>Zend_Ldap_Dn</title>

    <para>
        <classname>Zend_Ldap_Dn</classname> bietet ein objektorientiertes Interface für die
        Manipulation von <acronym>LDAP</acronym> Distinguished Names (DN). Der Parameter
        <varname>$caseFold</varname> wird in verschiedenen Methoden verwendet um festzustellen wie
        DN Attribute betreffend Ihres Schreibweise behandelt werden. Die erlaubten Werte für diesen
        Parameter sind:
    </para>

    <variablelist>
        <varlistentry>
            <term><constant>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</constant></term>
            <listitem><para>Es wird keine Änderung der Schreibweise durchgeführt.</para></listitem>
        </varlistentry>

        <varlistentry>
            <term><constant>Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER</constant></term>
            <listitem><para>Alle Attribute werden zur Großschreibung konvertiert.</para></listitem>
        </varlistentry>

        <varlistentry>
            <term><constant>Zend_Ldap_Dn::ATTR_CASEFOLD_LOWER</constant></term>
            <listitem><para>Alle Attribute werden zur Kleinschreibung konvertiert.</para></listitem>
        </varlistentry>
    </variablelist>

    <para>
        Die Standardmäßige Schreibweise ist <constant>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</constant>
        und kann mit <methodname>Zend_Ldap_Dn::setDefaultCaseFold()</methodname> gesetzt werden.
        Jede Instanz von <classname>Zend_Ldap_Dn</classname> kann Ihre eigenen Einstellungen für die
        Schreibweise haben. Wenn der Parameter <varname>$caseFold</varname> beim Methodenaufruf
        nicht angegeben wird dann ist er standardmäßig die Einstellung der Schreibweise von der
        Instanz.
    </para>

    <para>
        Die Klasse implementiert <code>ArrayAccess</code> um den indizierten Zugriff auf die
        unterschiedlichen Teile der DN zu gestatten. Die <code>ArrayAccess</code> Methoden verweisen
        für <code>offsetGet(integer $offset)</code> auf
        <methodname>Zend_Ldap_Dn::get($offset, 1, null)</methodname>, für
        <methodname>offsetSet()</methodname> auf
        <methodname>Zend_Ldap_Dn::set($offset, $value)</methodname> und für
        <methodname>offsetUnset()</methodname> auf
        <methodname>Zend_Ldap_Dn::remove($offset, 1)</methodname>.
        <methodname>offsetExists()</methodname> prüft einfach ob der Index innerhalb der Grenzen
        ist.
    </para>

    <table id="zend.ldap.api.reference.zend-ldap-dn.table">
        <title>Zend_Ldap_Dn API</title>

        <tgroup cols="2">
            <thead>
                <row>
                    <entry>Methode</entry>
                    <entry>Beschreibung</entry>
                </row>
            </thead>

            <tbody>
                <row>
                    <entry>
                        <emphasis><code>Zend_Ldap_Dn factory(string|array $dn,
                            string|null $caseFold)</code></emphasis>
                    </entry>

                    <entry>
                        Erstellt eine <classname>Zend_Ldap_Dn</classname> Instanz von einem Array
                        oder String. Das Array muß der unter
                        <methodname>Zend_Ldap_Dn::implodeDn()</methodname> beschriebenen
                        Arraystruktur entsprechen.
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>Zend_Ldap_Dn fromString(string $dn,
                            string|null $caseFold)</code></emphasis>
                    </entry>

                    <entry>
                        Erstellt eine <classname>Zend_Ldap_Dn</classname> Instanz von einem String.
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>Zend_Ldap_Dn fromArray(array $dn,
                            string|null $caseFold)</code></emphasis>
                    </entry>

                    <entry>
                        Erstellt eine <classname>Zend_Ldap_Dn</classname> Instanz von einem
                        Array. Das Array muß der Arraystruktur entsprechen welche unter
                        <methodname>Zend_Ldap_Dn::implodeDn()</methodname> beschrieben ist.
                    </entry>
                </row>

                <row>
                    <entry><code>array getRdn(string|null $caseFold)</code></entry>

                    <entry>
                        Gibt den <acronym>RDN</acronym> des aktuellen DN zurück. Der zurückgegebene
                        Wert ist ein Array wobei die Namen der Attribute von <acronym>RDN</acronym>
                        im Schlüssel gesetzt sind und die <acronym>RDN</acronym> Attribute als Wert.
                    </entry>
                </row>

                <row>
                    <entry><code>string getRdnString(string|null $caseFold)</code></entry>

                    <entry>
                        Gibt den <acronym>RDN</acronym> vom aktuellen DN zurück. Der zurückgegebene
                        Wert ist ein String.
                    </entry>
                </row>

                <row>
                    <entry><code>Zend_Ldap_Dn getParentDn(integer $levelUp)</code></entry>

                    <entry>
                        Gibt den DN des aktuellen DN Knotens, <varname>$levelUp</varname> Levels
                        höher, zurück. <varname>$levelUp</varname> ist standardmäßig <code>1</code>.
                    </entry>
                </row>

                <row>
                    <entry>
                        <code>array get(integer $index, integer $length, string|null
                            $caseFold)</code>
                    </entry>

                    <entry>
                        Gibt einen Teil des aktuellen DN zurück der von <varname>$index</varname>
                        und <varname>$length</varname> eingegrenzt wird. <varname>$index</varname>
                        beginnt mit <code>0</code> und der DN Teil von links.
                    </entry>
                </row>

                <row>
                    <entry>
                        <code>Zend_Ldap_Dn set(integer $index, array $value)</code>
                    </entry>

                    <entry>
                        Ersetzt den DN Teil im aktuellen DN. Diese Operation manipuliert die
                        aktuelle Instanz.
                    </entry>
                </row>

                <row>
                    <entry>
                        <code>Zend_Ldap_Dn remove(integer $index, integer $length)</code>
                    </entry>

                    <entry>
                        Entfernt einen DN Teil vom aktuellen DN. Diese Operation manipuliert die
                        aktuelle Instanz. <varname>$length</varname> ist standardmäßig
                        <code>1</code>.
                    </entry>
                </row>

                <row>
                    <entry><code>Zend_Ldap_Dn append(array $value)</code></entry>

                    <entry>
                        Fügt einen DN Teil zum aktuellen DN hinzu, Diese Operation manipuliert die
                        aktuelle Instanz.
                    </entry>
                </row>

                <row>
                    <entry><code>Zend_Ldap_Dn prepend(array $value)</code></entry>

                    <entry>
                        Fügt einen DN Teil vor dem aktuellen DN hinzu. Diese Operation manipuliert
                        die aktuelle Instanz.
                    </entry>
                </row>

                <row>
                    <entry>
                        <code>Zend_Ldap_Dn insert(integer $index, array $value)</code>
                    </entry>

                    <entry>
                        Fügt einen DN Teil nach dem Index <varname>$index</varname> in den aktuellen
                        DN ein. Diese Operation manipuliert die aktuelle Instanz.
                    </entry>
                </row>

                <row>
                    <entry><code>void setCaseFold(string|null $caseFold)</code></entry>

                    <entry>
                        Setzt die Option für die Schreibweise auf der aktuellen DN Instanz. Wenn
                        <varname>$caseFold</varname> <constant>NULL</constant> ist dann wird die
                        standardmäßige Einstellung der Schreibweise (standardmäßig ist
                        <constant>Zend_Ldap_Dn::ATTR_CASEFOLD_NONE</constant> oder über
                        <methodname>Zend_Ldap_Dn::setDefaultCaseFold()</methodname> gesetzt)
                        für die aktuelle Instanz gesetzt.
                    </entry>
                </row>

                <row>
                    <entry><code>string toString(string|null $caseFold)</code></entry>
                    <entry>Gibt den DN als String zurück.</entry>
                </row>

                <row>
                    <entry><code>array toArray(string|null $caseFold)</code></entry>
                    <entry>Gibt den DN als Array zurück.</entry>
                </row>

                <row>
                    <entry><code>string __toString()</code></entry>

                    <entry>
                        Gibt den DN als String zurück - verweist auf
                        <methodname>Zend_Ldap_Dn::toString(null)</methodname>.
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>void setDefaultCaseFold(string $caseFold)</code></emphasis>
                    </entry>

                    <entry>
                        Setzt die standardmäßige Option für die Schreibweise welche von allen
                        Instanzen bei der Erstellung standardmäßig verwendet wird. Bereits
                        existierende Instanzen sind von dieser Einstellung nicht betroffen.
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>array escapeValue(string|array $values)</code></emphasis>
                    </entry>

                    <entry>Escapt einen DN Wert entsprechend <acronym>RFC</acronym> 2253.</entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>array unescapeValue(string|array $values)</code></emphasis>
                    </entry>

                    <entry>
                        Macht die Konvertierung von
                        <methodname>Zend_Ldap_Dn::escapeValue()</methodname> rückgängig.
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>array explodeDn(string $dn, array
                            &amp;$keys, array &amp;$vals, string|null $caseFold)</code></emphasis>
                    </entry>

                    <entry>
                        <para>
                            Zerteilt den DN <varname>$dn</varname> in ein Array das alle Teile des
                            angegebenen DN enthält. <varname>$keys</varname> sind optional die DN
                            Schlüssel (z.B. CN, OU, DC, ...). <varname>$vals</varname> sind optional
                            die DN Werte. Das zurückgegebene Array ist vom Typ
                        </para>

                        <programlisting language="php"><![CDATA[
array(
array("cn" => "name1", "uid" => "user"),
array("cn" => "name2"),
array("dc" => "example"),
array("dc" => "org")
)
]]></programlisting>

                        <para>
                            für einen DN von
                            <code>cn=name1+uid=user,cn=name2,dc=example,dc=org</code>.
                        </para>
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>boolean checkDn(string $dn, array
                            &amp;$keys, array &amp;$vals, string|null $caseFold)</code></emphasis>
                    </entry>

                    <entry>
                        Prüft ob der gegebene DN <varname>$dn</varname> fehlerhaft ist. Wenn
                        <varname>$keys</varname> oder <varname>$keys</varname> und
                        <varname>$vals</varname> angegeben sind, werden diese Arrays mit dem
                        betreffenden DN Schlüssel und Werten gefüllt.
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>string implodeRdn(array $part, string|null
                            $caseFold)</code></emphasis>
                    </entry>

                    <entry>
                        Gibt den DN Teil in der Form <code>$attribute=$value</code> zurück.
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>string implodeDn(array $dnArray,
                            string|null $caseFold, string $separator)</code></emphasis>
                    </entry>

                    <entry>
                        <para>
                            Implodiert ein Array der Form die von
                            <methodname>Zend_Ldap_Dn::explodeDn()</methodname> kommt in einen DN
                            String. <varname>$separator</varname> ist standardmäßig <code>','</code>
                            aber einige LDAP Server verstehen auch <code>';'</code>.
                            <varname>$dnArray</varname> muß von folgendem Typ sein:
                        </para>

                        <programlisting language="php"><![CDATA[
array(
array("cn" => "name1", "uid" => "user"),
array("cn" => "name2"),
array("dc" => "example"),
array("dc" => "org")
)
]]></programlisting>
                    </entry>
                </row>

                <row>
                    <entry>
                        <emphasis><code>boolean isChildOf(string|Zend_Ldap_Dn
                            $childDn, string|Zend_Ldap_Dn $parentDn)</code></emphasis>
                    </entry>

                    <entry>
                        Prüft ob der angegebene <varname>$childDn</varname> unter dem
                        <varname>$parentDn</varname> Subbaum ist.
                    </entry>
                </row>
            </tbody>
        </tgroup>
    </table>
</sect3>