Selaa lähdekoodia

[DOCUMENTATION] English:

- manual fixes (Tab -> Space, XML Header)

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@16618 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 vuotta sitten
vanhempi
commit
8df6dac752

+ 82 - 80
documentation/manual/en/module_specs/Zend_Ldap-Introduction.xml

@@ -1,26 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.ldap.introduction">
-	<title>Introduction</title>
-	<para>
-		<code>Zend_Ldap</code> is a class for performing LDAP operations including but not limited to binding,
+    <title>Introduction</title>
+    <para>
+        <code>Zend_Ldap</code> is a class for performing LDAP operations including but not limited to binding,
         searching and modifying entries in an LDAP directory.
     </para>
-	<sect2 id="zend.ldap.introduction.theory-of-operations">
-		<title>Theory of operation</title>
-		<para>
+    <sect2 id="zend.ldap.introduction.theory-of-operations">
+        <title>Theory of operation</title>
+        <para>
             This component currently consists of the main <code>Zend_Ldap</code> class, that conceptually represents a binding to a
             single LDAP server and allows for executing operations against a LDAP server such as OpenLDAP or ActiveDirectory (AD) servers. The parameters for binding may be provided explicitly or in the form of an options array. <code>Zend_Ldap_Node</code> provides an object-oriented interface for single LDAP nodes and can be used to form a basis for an active-record-like interface for a LDAP-based domain model.
         </para>
-		<para>
+        <para>
             The component provides several helper classes to perform operations on LDAP entries (<code>Zend_Ldap_Attribute</code>) such as setting and retrieving attributes (date values, passwords, boolean values, ...), to create and modifiy LDAP filter strings (<code>Zend_Ldap_Filter</code>) and to manipulate LDAP distinguished names (DN) (<code>Zend_Ldap_Dn</code>).
         </para>
-		<para>
+        <para>
             Additionally the component abstracts LDAP schema browsing for OpenLDAP and ActiveDirectoy servers <code>Zend_Ldap_Node_Schema</code> and server information retrieval for OpenLDAP-, ActiveDirectory- and Novell eDirectory servers (<code>Zend_Ldap_Node_RootDse</code>).
         </para>
-		<para>
+        <para>
             Using the <code>Zend_Ldap</code> class depends on the type of LDAP server and is best summarized with some
             simple examples.
         </para>
-		<para>
+        <para>
             If you are using OpenLDAP, a simple example looks like the following (note that the
             <code>bindRequiresDn</code> option is important if you are <emphasis>not</emphasis> using AD):
 <example>
@@ -39,8 +41,8 @@ $acctname = $ldap->getCanonicalAccountName('abaker',
 echo "$acctname\n";
 ]]></programlisting>
 </example>
-		</para>
-		<para>
+        </para>
+        <para>
             If you are using Microsoft AD a simple example is:
 <example>
             <programlisting role="php"><![CDATA[
@@ -62,22 +64,22 @@ echo "$acctname\n";
             Note that we use the <code>getCanonicalAccountName()</code> method to retrieve the account DN here only
             because that is what exercises the most of what little code is currently present in this class.
         </para>
-		<sect3 id="zend.ldap.introduction.theory-of-operations.automatic-username-canonicalization">
-			<title>Automatic Username Canonicalization When Binding</title>
-			<para>
+        <sect3 id="zend.ldap.introduction.theory-of-operations.automatic-username-canonicalization">
+            <title>Automatic Username Canonicalization When Binding</title>
+            <para>
                 If <code>bind()</code> is called with a non-DN username but <code>bindRequiresDN</code> is
                 <code>true</code> and no username in DN form was supplied as an option, the bind will fail. However, if
                 a username in DN form is supplied in the options array, <code>Zend_Ldap</code> will first bind with
                 that username, retrieve the account DN for the username supplied to <code>bind()</code> and then re-
                 bind with that DN.
             </para>
-			<para>
+            <para>
                 This behavior is critical to <link linkend="zend.auth.adapter.ldap">
-					<code>Zend_Auth_Adapter_Ldap</code>
-				</link>, which passes the username supplied by
+                    <code>Zend_Auth_Adapter_Ldap</code>
+                </link>, which passes the username supplied by
                 the user directly to <code>bind()</code>.
             </para>
-			<para>
+            <para>
                 The following example illustrates how the non-DN username '<code>abaker</code>' can be used with
                 <code>bind()</code>:
 <example>
@@ -103,76 +105,76 @@ echo "$acctname\n";
                 '<code>abaker</code>', unbinds and then rebinds with the newly discovered
                 '<code>CN=Alice Baker,OU=Sales,DC=foo,DC=net</code>'.
             </para>
-		</sect3>
-		<sect3 id="zend.ldap.introduction.theory-of-operations.account-name-canonicalization">
-			<title>Account Name Canonicalization</title>
-			<para>
+        </sect3>
+        <sect3 id="zend.ldap.introduction.theory-of-operations.account-name-canonicalization">
+            <title>Account Name Canonicalization</title>
+            <para>
                 The <code>accountDomainName</code> and <code>accountDomainNameShort</code> options are used for two
                 purposes: (1) they facilitate multi-domain authentication and failover capability, and (2) they are
                 also used to canonicalize usernames. Specifically, names are canonicalized to the form specified by the
                 <code>accountCanonicalForm</code> option. This option may one of the following values:
 
                 <table id="zend.ldap.using.theory-of-operation.account-name-canonicalization.table">
-					<title>Options for <code>accountCanonicalForm</code>
-					</title>
-					<tgroup cols="3">
-						<thead>
-							<row>
-								<entry>Name</entry>
-								<entry>Value</entry>
-								<entry>Example</entry>
-							</row>
-						</thead>
-						<tbody>
-							<row>
-								<entry>
-									<code>ACCTNAME_FORM_DN</code>
-								</entry>
-								<entry>1</entry>
-								<entry>CN=Alice Baker,CN=Users,DC=example,DC=com</entry>
-							</row>
-							<row>
-								<entry>
-									<code>ACCTNAME_FORM_USERNAME</code>
-								</entry>
-								<entry>2</entry>
-								<entry>abaker</entry>
-							</row>
-							<row>
-								<entry>
-									<code>ACCTNAME_FORM_BACKSLASH</code>
-								</entry>
-								<entry>3</entry>
-								<entry>EXAMPLE\abaker</entry>
-							</row>
-							<row>
-								<entry>
-									<code>ACCTNAME_FORM_PRINCIPAL</code>
-								</entry>
-								<entry>4</entry>
-								<entry>abaker@example.com</entry>
-							</row>
-						</tbody>
-					</tgroup>
-				</table>
-			</para>
-			<para>
+                    <title>Options for <code>accountCanonicalForm</code>
+                    </title>
+                    <tgroup cols="3">
+                        <thead>
+                            <row>
+                                <entry>Name</entry>
+                                <entry>Value</entry>
+                                <entry>Example</entry>
+                            </row>
+                        </thead>
+                        <tbody>
+                            <row>
+                                <entry>
+                                    <code>ACCTNAME_FORM_DN</code>
+                                </entry>
+                                <entry>1</entry>
+                                <entry>CN=Alice Baker,CN=Users,DC=example,DC=com</entry>
+                            </row>
+                            <row>
+                                <entry>
+                                    <code>ACCTNAME_FORM_USERNAME</code>
+                                </entry>
+                                <entry>2</entry>
+                                <entry>abaker</entry>
+                            </row>
+                            <row>
+                                <entry>
+                                    <code>ACCTNAME_FORM_BACKSLASH</code>
+                                </entry>
+                                <entry>3</entry>
+                                <entry>EXAMPLE\abaker</entry>
+                            </row>
+                            <row>
+                                <entry>
+                                    <code>ACCTNAME_FORM_PRINCIPAL</code>
+                                </entry>
+                                <entry>4</entry>
+                                <entry>abaker@example.com</entry>
+                            </row>
+                        </tbody>
+                    </tgroup>
+                </table>
+            </para>
+            <para>
                 The default canonicalization depends on what account domain name options were supplied. If
                 <code>accountDomainNameShort</code> was supplied, the default <code>accountCanonicalForm</code> value
                 is <code>ACCTNAME_FORM_BACKSLASH</code>. Otherwise, if <code>accountDomainName</code> was supplied, the
                 default is <code>ACCTNAME_FORM_PRINCIPAL</code>.
             </para>
-			<para>
+            <para>
                 Account name canonicalization ensures that the string used to identify an account is consistent
                 regardless of what was supplied to <code>bind()</code>. For example, if the user supplies an account
                 name of <emphasis>abaker@example.com</emphasis> or just <emphasis>abaker</emphasis> and the
                 <code>accountCanonicalForm</code> is set to 3, the resulting canonicalized name would be
                 <emphasis>EXAMPLE\abaker</emphasis>.
             </para>
-		</sect3>
-		<sect3 id="zend.ldap.introduction.theory-of-operations.multi-domain-failover">
-			<title>Multi-domain Authentication and Failover</title>
-			<para>
+        </sect3>
+        <sect3 id="zend.ldap.introduction.theory-of-operations.multi-domain-failover">
+            <title>Multi-domain Authentication and Failover</title>
+            <para>
                 The <code>Zend_Ldap</code> component by itself makes no attempt to authenticate with multiple servers.
                 However, <code>Zend_Ldap</code> is specifically designed to handle this scenario gracefully. The
                 required technique is to simply iterate over an array of arrays of server options and attempt to bind
@@ -181,7 +183,7 @@ echo "$acctname\n";
                 <code>cdavis</code> - the <code>bind()</code> method will only succeed if the credentials were
                 successfully used in the bind.
             </para>
-			<para>
+            <para>
                 Consider the following example that illustrates the technique required to implement multi-domain
                 authentication and failover:
 <example>
@@ -235,13 +237,13 @@ foreach ($multiOptions as $name => $options) {
 </example>
                 If the bind fails for any reason, the next set of server options is tried.
             </para>
-			<para>
+            <para>
                 The <code>getCanonicalAccountName</code> call gets the canonical account name that the application
                 would presumably use to associate data with such as preferences. The
                 <code>accountCanonicalForm = 4</code> in all server options ensures that the canonical form is
                 consistent regardless of which server was ultimately used.
             </para>
-			<para>
+            <para>
                 The special <code>LDAP_X_DOMAIN_MISMATCH</code> exception occurs when an account name with a domain
                 component was supplied (e.g., <code>abaker@foo.net</code> or <code>FOO\abaker</code> and not just
                 <code>abaker</code>) but the domain component did not match either domain in the currently selected
@@ -252,14 +254,14 @@ foreach ($multiOptions as $name => $options) {
                 <code>LDAP_X_DOMAIN_MISMATCH</code> as well as <code>LDAP_NO_SUCH_OBJECT</code> and
                 <code>LDAP_INVALID_CREDENTIALS</code>.
             </para>
-			<para>
+            <para>
                 The above code is very similar to code used within
                 <link linkend="zend.auth.adapter.ldap">
-					<code>Zend_Auth_Adapter_Ldap</code>
-				</link>. In fact, we
+                    <code>Zend_Auth_Adapter_Ldap</code>
+                </link>. In fact, we
                 recommend that you simply use that authentication adapter for multi-domain + failover LDAP based
                 authentication (or copy the code).
             </para>
-		</sect3>
-	</sect2>
+        </sect3>
+    </sect2>
 </sect1>

+ 59 - 57
documentation/manual/en/module_specs/Zend_Ldap-LDIF.xml

@@ -1,31 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.ldap.ldif">
-	<title>Serializing LDAP data to and from LDIF</title>
-	<sect2 id="zend.ldap.ldif.encode">
-		<title>Serialize a LDAP entry to LDIF</title>
-		<para>
+    <title>Serializing LDAP data to and from LDIF</title>
+    <sect2 id="zend.ldap.ldif.encode">
+        <title>Serialize a LDAP entry to LDIF</title>
+        <para>
 <programlisting role="php"><![CDATA[
-$data = array(           
-	'dn'                         => 'uid=rogasawara,ou=営業部,o=Airius',           
-	'objectclass'                => array('top', 'person', 'organizationalPerson', 'inetOrgPerson'),            
-	'uid'                        => array('rogasawara'),            
-	'mail'                       => array('rogasawara@airius.co.jp'),           
-	'givenname;lang-ja'          => array('ロドニー'),           
-	'sn;lang-ja'                 => array('小笠原'),           
-	'cn;lang-ja'                 => array('小笠原 ロドニー'),           
-	'title;lang-ja'              => array('営業部 部長'),           
-	'preferredlanguage'          => array('ja'),           
-	'givenname'                  => array('ロドニー'),            
-	'sn'                         => array('小笠原'),           
-	'cn'                         => array('小笠原 ロドニー'),           
-	'title'                      => array('営業部 部長'),           
-	'givenname;lang-ja;phonetic' => array('ろどにー'),          
-	'sn;lang-ja;phonetic'        => array('おがさわら'),            
-	'cn;lang-ja;phonetic'        => array('おがさわら ろどにー'),            
-	'title;lang-ja;phonetic'     => array('えいぎょうぶ ぶちょう'),          
-	'givenname;lang-en'          => array('Rodney'),           
-	'sn;lang-en'                 => array('Ogasawara'),           
-	'cn;lang-en'                 => array('Rodney Ogasawara'),            
-	'title;lang-en'              => array('Sales, Director'),       
+$data = array(
+    'dn'                         => 'uid=rogasawara,ou=営業部,o=Airius',
+    'objectclass'                => array('top', 'person', 'organizationalPerson', 'inetOrgPerson'),
+    'uid'                        => array('rogasawara'),
+    'mail'                       => array('rogasawara@airius.co.jp'),
+    'givenname;lang-ja'          => array('ロドニー'),
+    'sn;lang-ja'                 => array('小笠原'),
+    'cn;lang-ja'                 => array('小笠原 ロドニー'),
+    'title;lang-ja'              => array('営業部 部長'),
+    'preferredlanguage'          => array('ja'),
+    'givenname'                  => array('ロドニー'),
+    'sn'                         => array('小笠原'),
+    'cn'                         => array('小笠原 ロドニー'),
+    'title'                      => array('営業部 部長'),
+    'givenname;lang-ja;phonetic' => array('ろどにー'),
+    'sn;lang-ja;phonetic'        => array('おがさわら'),
+    'cn;lang-ja;phonetic'        => array('おがさわら ろどにー'),
+    'title;lang-ja;phonetic'     => array('えいぎょうぶ ぶちょう'),
+    'givenname;lang-en'          => array('Rodney'),
+    'sn;lang-en'                 => array('Ogasawara'),
+    'cn;lang-en'                 => array('Rodney Ogasawara'),
+    'title;lang-en'              => array('Sales, Director'),
 );
 $ldif = Zend_Ldap_Ldif_Encoder::encode($data, array('sort' => false, 'version' => null));
 /*
@@ -55,12 +57,12 @@ sn;lang-en: Ogasawara
 cn;lang-en: Rodney Ogasawara
 title;lang-en: Sales, Director
 */
-]]></programlisting>	
-		</para>
-	</sect2>
-	<sect2 id="zend.ldap.ldif.encode">
-		<title>Deserialize a LDIF string into a LDAP entry</title>
-		<para>
+]]></programlisting>
+        </para>
+    </sect2>
+    <sect2 id="zend.ldap.ldif.encode">
+        <title>Deserialize a LDIF string into a LDAP entry</title>
+        <para>
 <programlisting role="php"><![CDATA[
 $ldif = "dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
 objectclass: top
@@ -88,32 +90,32 @@ cn;lang-en: Rodney Ogasawara
 title;lang-en: Sales, Director";
 $data = Zend_Ldap_Ldif_Encoder::decode($ldif);
 /*
-$data = array(           
-	'dn'                         => 'uid=rogasawara,ou=営業部,o=Airius',           
-	'objectclass'                => array('top', 'person', 'organizationalPerson', 'inetOrgPerson'),            
-	'uid'                        => array('rogasawara'),            
-	'mail'                       => array('rogasawara@airius.co.jp'),           
-	'givenname;lang-ja'          => array('ロドニー'),           
-	'sn;lang-ja'                 => array('小笠原'),           
-	'cn;lang-ja'                 => array('小笠原 ロドニー'),           
-	'title;lang-ja'              => array('営業部 部長'),           
-	'preferredlanguage'          => array('ja'),           
-	'givenname'                  => array('ロドニー'),            
-	'sn'                         => array('小笠原'),           
-	'cn'                         => array('小笠原 ロドニー'),           
-	'title'                      => array('営業部 部長'),           
-	'givenname;lang-ja;phonetic' => array('ろどにー'),          
-	'sn;lang-ja;phonetic'        => array('おがさわら'),            
-	'cn;lang-ja;phonetic'        => array('おがさわら ろどにー'),            
-	'title;lang-ja;phonetic'     => array('えいぎょうぶ ぶちょう'),          
-	'givenname;lang-en'          => array('Rodney'),           
-	'sn;lang-en'                 => array('Ogasawara'),           
-	'cn;lang-en'                 => array('Rodney Ogasawara'),            
-	'title;lang-en'              => array('Sales, Director'),       
+$data = array(
+    'dn'                         => 'uid=rogasawara,ou=営業部,o=Airius',
+    'objectclass'                => array('top', 'person', 'organizationalPerson', 'inetOrgPerson'),
+    'uid'                        => array('rogasawara'),
+    'mail'                       => array('rogasawara@airius.co.jp'),
+    'givenname;lang-ja'          => array('ロドニー'),
+    'sn;lang-ja'                 => array('小笠原'),
+    'cn;lang-ja'                 => array('小笠原 ロドニー'),
+    'title;lang-ja'              => array('営業部 部長'),
+    'preferredlanguage'          => array('ja'),
+    'givenname'                  => array('ロドニー'),
+    'sn'                         => array('小笠原'),
+    'cn'                         => array('小笠原 ロドニー'),
+    'title'                      => array('営業部 部長'),
+    'givenname;lang-ja;phonetic' => array('ろどにー'),
+    'sn;lang-ja;phonetic'        => array('おがさわら'),
+    'cn;lang-ja;phonetic'        => array('おがさわら ろどにー'),
+    'title;lang-ja;phonetic'     => array('えいぎょうぶ ぶちょう'),
+    'givenname;lang-en'          => array('Rodney'),
+    'sn;lang-en'                 => array('Ogasawara'),
+    'cn;lang-en'                 => array('Rodney Ogasawara'),
+    'title;lang-en'              => array('Sales, Director'),
 );
 */
-]]></programlisting>	
-		</para>
-	</sect2>
+]]></programlisting>
+        </para>
+    </sect2>
 </sect1>
 

+ 51 - 49
documentation/manual/en/module_specs/Zend_Ldap-Node.xml

@@ -1,53 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.ldap.node">
-	<title>Object oriented access to the LDAP tree using Zend_Ldap_Node</title>
-	<sect2 id="zend.ldap.node.basic">
-		<title>Basic CRUD operations</title>
-		<sect3 id="zend.ldap.node.basic.retrieve">
-			<title>Retrieving data from the LDAP</title>
-			<sect4 id="zend.ldap.node.basic.retrieve.dn">
-				<title>Getting a node by its DN</title>
-				<para/>
-			</sect4>
-			<sect4 id="zend.ldap.node.basic.retrieve.search">
-				<title>Searching a node's subtree</title>
-				<para/>
-			</sect4>
-		</sect3>
-		<sect3 id="zend.ldap.node.basic.add">
-			<title>Adding a new node to the LDAP</title>
-			<para/>
-		</sect3>
-		<sect3 id="zend.ldap.node.basic.delete">
-			<title>Deleting a node from the LDAP</title>
-			<para/>
-		</sect3>
-		<sect3 id="zend.ldap.node.basic.update">
-			<title>Updating a node on the LDAP</title>
-			<para/>
-		</sect3>
-	</sect2>
-	<sect2 id="zend.ldap.node.extended">
-		<title>Extended operations</title>
-		<sect3 id="zend.ldap.node.extended.copy-and-move">
-			<title>Copy and move nodes in the LDAP</title>
-			<para/>
-		</sect3>
-	</sect2>
-	<sect2 id="zend.ldap.node.traversal">
-		<title>Tree traversal</title>
-		
-			<example>
-			<title>Traverse LDAP tree recursively</title>
+    <title>Object oriented access to the LDAP tree using Zend_Ldap_Node</title>
+    <sect2 id="zend.ldap.node.basic">
+        <title>Basic CRUD operations</title>
+        <sect3 id="zend.ldap.node.basic.retrieve">
+            <title>Retrieving data from the LDAP</title>
+            <sect4 id="zend.ldap.node.basic.retrieve.dn">
+                <title>Getting a node by its DN</title>
+                <para/>
+            </sect4>
+            <sect4 id="zend.ldap.node.basic.retrieve.search">
+                <title>Searching a node's subtree</title>
+                <para/>
+            </sect4>
+        </sect3>
+        <sect3 id="zend.ldap.node.basic.add">
+            <title>Adding a new node to the LDAP</title>
+            <para/>
+        </sect3>
+        <sect3 id="zend.ldap.node.basic.delete">
+            <title>Deleting a node from the LDAP</title>
+            <para/>
+        </sect3>
+        <sect3 id="zend.ldap.node.basic.update">
+            <title>Updating a node on the LDAP</title>
+            <para/>
+        </sect3>
+    </sect2>
+    <sect2 id="zend.ldap.node.extended">
+        <title>Extended operations</title>
+        <sect3 id="zend.ldap.node.extended.copy-and-move">
+            <title>Copy and move nodes in the LDAP</title>
+            <para/>
+        </sect3>
+    </sect2>
+    <sect2 id="zend.ldap.node.traversal">
+        <title>Tree traversal</title>
+
+            <example>
+            <title>Traverse LDAP tree recursively</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$ri = new RecursiveIteratorIterator($ldap->getBaseNode(), RecursiveIteratorIterator::SELF_FIRST); 
-foreach ($ri as $rdn => $n) { 
-    var_dump($n); 
-} 
-]]></programlisting>			
-			</example>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$ri = new RecursiveIteratorIterator($ldap->getBaseNode(), RecursiveIteratorIterator::SELF_FIRST);
+foreach ($ri as $rdn => $n) {
+    var_dump($n);
+}
+]]></programlisting>
+            </example>
 
-	</sect2>
+    </sect2>
 </sect1>

+ 46 - 44
documentation/manual/en/module_specs/Zend_Ldap-Server.xml

@@ -1,50 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.ldap.server">
-	<title>Getting information from the LDAP server</title>
-	<sect2 id="zend.ldap.server.rootdse">
-		<title>RootDSE</title>
-		<para>See the following documents for more information on the attributes contained within the RootDSE for a given LDAP server.</para>
-		<itemizedlist> 
-  <listitem> 
-    <para><ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">OpenLDAP</ulink></para> 
-  </listitem> 
-  <listitem> 
-    <para><ulink url="http://msdn.microsoft.com/en-us/library/ms684291(VS.85).aspx">Microsoft ActiveDirectory</ulink></para> 
-  </listitem> 
-  <listitem> 
-    <para><ulink url="http://www.novell.com/documentation/edir88/edir88/index.html?page=/documentation/edir88/edir88/data/ah59jqq.html">Novell eDirectory</ulink></para> 
-  </listitem> 
-</itemizedlist> 
-	<example id="zend.ldap.server.rootdse.getting">
-		<title>Getting hands on the RootDSE</title>
-	<programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
+    <title>Getting information from the LDAP server</title>
+    <sect2 id="zend.ldap.server.rootdse">
+        <title>RootDSE</title>
+        <para>See the following documents for more information on the attributes contained within the RootDSE for a given LDAP server.</para>
+        <itemizedlist>
+  <listitem>
+    <para><ulink url="http://www.zytrax.com/books/ldap/ch3/#operational">OpenLDAP</ulink></para>
+  </listitem>
+  <listitem>
+    <para><ulink url="http://msdn.microsoft.com/en-us/library/ms684291(VS.85).aspx">Microsoft ActiveDirectory</ulink></para>
+  </listitem>
+  <listitem>
+    <para><ulink url="http://www.novell.com/documentation/edir88/edir88/index.html?page=/documentation/edir88/edir88/data/ah59jqq.html">Novell eDirectory</ulink></para>
+  </listitem>
+</itemizedlist>
+    <example id="zend.ldap.server.rootdse.getting">
+        <title>Getting hands on the RootDSE</title>
+    <programlisting role="php"><![CDATA[
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
 $rootdse = $ldap->getRootDse();
 $serverType = $rootdse->getServerType();
-]]></programlisting>	
-	</example>
-	</sect2>
-	<sect2 id="zend.ldap.server.schema">
-		<title>Schema Browsing</title>
-		<example id="zend.ldap.server.schema.getting">
-			<title>Getting hands on the server schema</title>
-			<programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
+]]></programlisting>
+    </example>
+    </sect2>
+    <sect2 id="zend.ldap.server.schema">
+        <title>Schema Browsing</title>
+        <example id="zend.ldap.server.schema.getting">
+            <title>Getting hands on the server schema</title>
+            <programlisting role="php"><![CDATA[
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
 $schema = $ldap->getSchema();
 $classes = $schema->getObjectClasses();
-]]></programlisting>	
-		</example>
-		<sect3 id="zend.ldap.server.schema.openldap">
-			<title>OpenLDAP</title>
-			<para/>
-		</sect3>
-		<sect3 id="zend.ldap.server.schema.activedirectory">
-			<title>ActiveDirectory</title>
-			<note>
-				<title>Schema browsing on ActiveDirectory servers</title>
-				<para>Due to restrictions on Microsoft ActiveDirectory servers regarding the number of entries returned by generic search routines and due to the structure of the ActiveDirectory schema repository, schema browsing is currently <emphasis>not</emphasis> available for Microsoft ActiveDirectory servers.</para>
-				</note>
-		</sect3>
-	</sect2>
+]]></programlisting>
+        </example>
+        <sect3 id="zend.ldap.server.schema.openldap">
+            <title>OpenLDAP</title>
+            <para/>
+        </sect3>
+        <sect3 id="zend.ldap.server.schema.activedirectory">
+            <title>ActiveDirectory</title>
+            <note>
+                <title>Schema browsing on ActiveDirectory servers</title>
+                <para>Due to restrictions on Microsoft ActiveDirectory servers regarding the number of entries returned by generic search routines and due to the structure of the ActiveDirectory schema repository, schema browsing is currently <emphasis>not</emphasis> available for Microsoft ActiveDirectory servers.</para>
+                </note>
+        </sect3>
+    </sect2>
 </sect1>

+ 38 - 36
documentation/manual/en/module_specs/Zend_Ldap-Tools.xml

@@ -1,42 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.ldap.tools">
-	<title>Tools</title>
-	<sect2 id="zend.ldap.tools.dn">
-		<title>Creation and modification of DN strings</title>
-		<para/>
-	</sect2>
-	<sect2 id="zend.ldap.tools.filter">
-		<title>Using the filter API to create search filters</title>
-		<example>
-		<title>Create simple LDAP filters</title>
+    <title>Tools</title>
+    <sect2 id="zend.ldap.tools.dn">
+        <title>Creation and modification of DN strings</title>
+        <para/>
+    </sect2>
+    <sect2 id="zend.ldap.tools.filter">
+        <title>Using the filter API to create search filters</title>
+        <example>
+        <title>Create simple LDAP filters</title>
 <programlisting role="php"><![CDATA[
-$f1  = Zend_Ldap_Filter::equals('name', 'value');         // (name=value) 
-$f2  = Zend_Ldap_Filter::begins('name', 'value');         // (name=value*) 
-$f3  = Zend_Ldap_Filter::ends('name', 'value');           // (name=*value) 
-$f4  = Zend_Ldap_Filter::contains('name', 'value');       // (name=*value*) 
-$f5  = Zend_Ldap_Filter::greater('name', 'value');        // (name>value) 
-$f6  = Zend_Ldap_Filter::greaterOrEqual('name', 'value'); // (name>=value) 
-$f7  = Zend_Ldap_Filter::less('name', 'value');           // (name<value) 
-$f8  = Zend_Ldap_Filter::lessOrEqual('name', 'value');    // (name<=value) 
-$f9  = Zend_Ldap_Filter::approx('name', 'value');         // (name~=value) 
-$f10 = Zend_Ldap_Filter::any('name');                     // (name=*) 
+$f1  = Zend_Ldap_Filter::equals('name', 'value');         // (name=value)
+$f2  = Zend_Ldap_Filter::begins('name', 'value');         // (name=value*)
+$f3  = Zend_Ldap_Filter::ends('name', 'value');           // (name=*value)
+$f4  = Zend_Ldap_Filter::contains('name', 'value');       // (name=*value*)
+$f5  = Zend_Ldap_Filter::greater('name', 'value');        // (name>value)
+$f6  = Zend_Ldap_Filter::greaterOrEqual('name', 'value'); // (name>=value)
+$f7  = Zend_Ldap_Filter::less('name', 'value');           // (name<value)
+$f8  = Zend_Ldap_Filter::lessOrEqual('name', 'value');    // (name<=value)
+$f9  = Zend_Ldap_Filter::approx('name', 'value');         // (name~=value)
+$f10 = Zend_Ldap_Filter::any('name');                     // (name=*)
 ]]></programlisting>
-		</example>
-		<example>
-		<title>Create more complex LDAP filters</title>
+        </example>
+        <example>
+        <title>Create more complex LDAP filters</title>
 <programlisting role="php"><![CDATA[
-$f1 = Zend_Ldap_Filter::ends('name', 'value')->negate(); // (!(name=*value)) 
- 
-$f2 = Zend_Ldap_Filter::equals('name', 'value'); 
-$f3 = Zend_Ldap_Filter::begins('name', 'value'); 
-$f4 = Zend_Ldap_Filter::ends('name', 'value'); 
-$f5 = Zend_Ldap_Filter::andFilter($f2, $f3, $f4);        // (&(name=value)(name=value*)(name=*value)) 
-$f6 = Zend_Ldap_Filter::orFilter($f2, $f3, $f4);         // (|(name=value)(name=value*)(name=*value)) 
+$f1 = Zend_Ldap_Filter::ends('name', 'value')->negate(); // (!(name=*value))
+
+$f2 = Zend_Ldap_Filter::equals('name', 'value');
+$f3 = Zend_Ldap_Filter::begins('name', 'value');
+$f4 = Zend_Ldap_Filter::ends('name', 'value');
+$f5 = Zend_Ldap_Filter::andFilter($f2, $f3, $f4);        // (&(name=value)(name=value*)(name=*value))
+$f6 = Zend_Ldap_Filter::orFilter($f2, $f3, $f4);         // (|(name=value)(name=value*)(name=*value))
 ]]></programlisting>
-		
-		</example>
-	</sect2>
-	<sect2 id="zend.ldap.tools.attribute">
-		<title>Modify LDAP entries using the Attribute API</title>
-		<para/>
-	</sect2>
+
+        </example>
+    </sect2>
+    <sect2 id="zend.ldap.tools.attribute">
+        <title>Modify LDAP entries using the Attribute API</title>
+        <para/>
+    </sect2>
 </sect1>

+ 122 - 120
documentation/manual/en/module_specs/Zend_Ldap-Usage.xml

@@ -1,27 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
 <sect1 id="zend.ldap.usage">
-	<title>Usage Scenarios</title>
-	<sect2 id="zend.ldap.usage.authentication">
-		<title>Authentication scenarios</title>
-		<sect3 id="zend.ldap.usage.authentication.openldap">
-			<title>OpenLDAP</title>
-			<para/>
-		</sect3>
-		<sect3 id="zend.ldap.usage.authentication.activedirectory">
-			<title>ActiveDirectory</title>
-			<para/>
-		</sect3>
-	</sect2>
-	<sect2 id="zend.ldap.usage.basic">
-		<title>Basic CRUD operations</title>
-		<sect3 id="zend.ldap.usage.basic.retrieve">
-			<title>Retrieving data from the LDAP</title>
-			<example id="zend.ldap.usage.basic.retrieve.dn">
-			<title>Getting an entry by its DN</title>
+    <title>Usage Scenarios</title>
+    <sect2 id="zend.ldap.usage.authentication">
+        <title>Authentication scenarios</title>
+        <sect3 id="zend.ldap.usage.authentication.openldap">
+            <title>OpenLDAP</title>
+            <para/>
+        </sect3>
+        <sect3 id="zend.ldap.usage.authentication.activedirectory">
+            <title>ActiveDirectory</title>
+            <para/>
+        </sect3>
+    </sect2>
+    <sect2 id="zend.ldap.usage.basic">
+        <title>Basic CRUD operations</title>
+        <sect3 id="zend.ldap.usage.basic.retrieve">
+            <title>Retrieving data from the LDAP</title>
+            <example id="zend.ldap.usage.basic.retrieve.dn">
+            <title>Getting an entry by its DN</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local'); 
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local');
 /*
 $hm is an array of the following structure
 array(
@@ -31,112 +33,112 @@ array(
     'objectclass' => array('inetOrgPerson', 'top'),
     ...
 )
-*/ 
-]]></programlisting>	
-			</example>
-			
-			<example id="zend.ldap.usage.basic.retrieve.exists">
-				<title>Check for the existence of a given DN</title>
+*/
+]]></programlisting>
+            </example>
+
+            <example id="zend.ldap.usage.basic.retrieve.exists">
+                <title>Check for the existence of a given DN</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$isThere = $ldap->exists('cn=Hugo Müller,ou=People,dc=my,dc=local'); 
-]]></programlisting>	
-			</example>
-			
-			<example id="zend.ldap.usage.basic.retrieve.counting-children">
-				<title>Count children of a given DN</title>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$isThere = $ldap->exists('cn=Hugo Müller,ou=People,dc=my,dc=local');
+]]></programlisting>
+            </example>
+
+            <example id="zend.ldap.usage.basic.retrieve.counting-children">
+                <title>Count children of a given DN</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$childrenCount = $ldap->countChildren('cn=Hugo Müller,ou=People,dc=my,dc=local'); 
-]]></programlisting>	
-		</example>
-			
-			<example id="zend.ldap.usage.basic.retrieve.search">
-				<title>Searching the LDAP tree</title>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$childrenCount = $ldap->countChildren('cn=Hugo Müller,ou=People,dc=my,dc=local');
+]]></programlisting>
+        </example>
+
+            <example id="zend.ldap.usage.basic.retrieve.search">
+                <title>Searching the LDAP tree</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$result = $ldap->search('(objectclass=*)', 'ou=People,dc=my,dc=local', Zend_Ldap_Ext::SEARCH_SCOPE_ONE); 
-foreach ($result as $item) { 
-    echo $item["dn"] . ': ' . $item['cn'][0] . PHP_EOL; 
-} 
-]]></programlisting>	
-			</example>
-		</sect3>
-		<sect3 id="zend.ldap.usage.basic.add">
-			<title>Adding data to the LDAP</title>
-			<example>
-			<title>Add a new entry to the LDAP</title>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$result = $ldap->search('(objectclass=*)', 'ou=People,dc=my,dc=local', Zend_Ldap_Ext::SEARCH_SCOPE_ONE);
+foreach ($result as $item) {
+    echo $item["dn"] . ': ' . $item['cn'][0] . PHP_EOL;
+}
+]]></programlisting>
+            </example>
+        </sect3>
+        <sect3 id="zend.ldap.usage.basic.add">
+            <title>Adding data to the LDAP</title>
+            <example>
+            <title>Add a new entry to the LDAP</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$entry = array(); 
-Zend_Ldap_Attribute::setAttribute($entry, 'cn', 'Hans Meier'); 
-Zend_Ldap_Attribute::setAttribute($entry, 'sn', 'Meier'); 
-Zend_Ldap_Attribute::setAttribute($entry, 'objectClass', 'inetOrgPerson'); 
-$ldap->add('cn=Hans Meier,ou=People,dc=my,dc=local', $entry); 
-]]></programlisting>	
-				</example>
-		</sect3>
-		<sect3 id="zend.ldap.usage.basic.delete">
-			<title>Deleting from the LDAP</title>
-			<example>
-			<title>Delete an existing entry from the LDAP</title>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$entry = array();
+Zend_Ldap_Attribute::setAttribute($entry, 'cn', 'Hans Meier');
+Zend_Ldap_Attribute::setAttribute($entry, 'sn', 'Meier');
+Zend_Ldap_Attribute::setAttribute($entry, 'objectClass', 'inetOrgPerson');
+$ldap->add('cn=Hans Meier,ou=People,dc=my,dc=local', $entry);
+]]></programlisting>
+                </example>
+        </sect3>
+        <sect3 id="zend.ldap.usage.basic.delete">
+            <title>Deleting from the LDAP</title>
+            <example>
+            <title>Delete an existing entry from the LDAP</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$ldap->delete('cn=Hans Meier,ou=People,dc=my,dc=local'); 
-]]></programlisting>	
-				</example>
-		</sect3>
-		<sect3 id="zend.ldap.usage.basic.update">
-			<title>Updating the LDAP</title>
-			<example>
-			<title>Update an existing entry on the LDAP</title>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$ldap->delete('cn=Hans Meier,ou=People,dc=my,dc=local');
+]]></programlisting>
+                </example>
+        </sect3>
+        <sect3 id="zend.ldap.usage.basic.update">
+            <title>Updating the LDAP</title>
+            <example>
+            <title>Update an existing entry on the LDAP</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local'); 
-Zend_Ldap_Attribute::setAttribute($hm, 'mail', 'mueller@my.local'); 
-Zend_Ldap_Attribute::setPassword($hm, 'newPa$$w0rd', Zend_Ldap_Attribute::PASSWORD_HASH_SHA1); 
-$ldap->update('cn=Hugo Müller,ou=People,dc=my,dc=local', $hm); 
-]]></programlisting>	
-				</example>
-		</sect3>
-	</sect2>
-	<sect2 id="zend.ldap.usage.extended">
-		<title>Extended operations</title>
-		<sect3 id="zend.ldap.usage.extended.copy-and-move">
-			<title>Copy and move entries in the LDAP</title>
-			
-				<example id="zend.ldap.usage.extended.copy-and-move.copy">
-				<title>Copy a LDAP entry recursively with all its descendants.</title>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$hm = $ldap->getEntry('cn=Hugo Müller,ou=People,dc=my,dc=local');
+Zend_Ldap_Attribute::setAttribute($hm, 'mail', 'mueller@my.local');
+Zend_Ldap_Attribute::setPassword($hm, 'newPa$$w0rd', Zend_Ldap_Attribute::PASSWORD_HASH_SHA1);
+$ldap->update('cn=Hugo Müller,ou=People,dc=my,dc=local', $hm);
+]]></programlisting>
+                </example>
+        </sect3>
+    </sect2>
+    <sect2 id="zend.ldap.usage.extended">
+        <title>Extended operations</title>
+        <sect3 id="zend.ldap.usage.extended.copy-and-move">
+            <title>Copy and move entries in the LDAP</title>
+
+                <example id="zend.ldap.usage.extended.copy-and-move.copy">
+                <title>Copy a LDAP entry recursively with all its descendants.</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
 $ldap->copy('cn=Hugo Müller,ou=People,dc=my,dc=local', 'cn=Hans Meier,ou=People,dc=my,dc=local', true);
-]]></programlisting>	
-				</example>
-			
-				<example id="zend.ldap.usage.extended.copy-and-move.move-to-subtree">
-					<title>Move a LDAP entry recursively with all its descendants to a different subtree.</title>
+]]></programlisting>
+                </example>
+
+                <example id="zend.ldap.usage.extended.copy-and-move.move-to-subtree">
+                    <title>Move a LDAP entry recursively with all its descendants to a different subtree.</title>
 <programlisting role="php"><![CDATA[
-$options = array(/* ... */); 
-$ldap = new Zend_Ldap($options); 
-$ldap->bind(); 
-$ldap->moveToSubtree('cn=Hugo Müller,ou=People,dc=my,dc=local', 'ou=Dismissed,dc=my,dc=local', true); 
-]]></programlisting>	
-				</example>
+$options = array(/* ... */);
+$ldap = new Zend_Ldap($options);
+$ldap->bind();
+$ldap->moveToSubtree('cn=Hugo Müller,ou=People,dc=my,dc=local', 'ou=Dismissed,dc=my,dc=local', true);
+]]></programlisting>
+                </example>
 
-		</sect3>
-	</sect2>
+        </sect3>
+    </sect2>
 </sect1>