Hi,

Could you review the attached patch adding documention to the function ldap_control_paged_result & ldap_control_paged_result_response.

Regards,

NB : I'm not very familiar with doc process so correct me if I'm wrong.
--
Jean-Sébastien H.
au-fil-du.net


Index: en/reference/ldap/functions/ldap-control-paged-result-response.xml
===================================================================
--- en/reference/ldap/functions/ldap-control-paged-result-response.xml  
(révision 324333)
+++ en/reference/ldap/functions/ldap-control-paged-result-response.xml  (copie 
de travail)
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision$ --> 
+<!-- $Revision$ -->
 <refentry xml:id='function.ldap-control-paged-result-response' 
xmlns="http://docbook.org/ns/docbook";>
  <refnamediv>
   <refname>ldap_control_paged_result_response</refname>
-  <refpurpose>Extract paged results control response</refpurpose>
+  <refpurpose>Retrieve the pagination cookie.</refpurpose>
  </refnamediv>
-
+ 
  <refsect1 role="description">
   &reftitle.description;
   <methodsynopsis>
@@ -15,9 +15,64 @@
    <methodparam choice="opt"><type>string</type><parameter 
role="reference">cookie</parameter></methodparam>
    <methodparam choice="opt"><type>int</type><parameter 
role="reference">estimated</parameter></methodparam>
   </methodsynopsis>
-  &warn.undocumented.func;
+  <para>Retrieve the pagination information send by the server.</para>
  </refsect1>
 
+ <refsect1 role="parameters">
+  &reftitle.parameters;
+  <para>
+   <variablelist>
+    <varlistentry>
+     <term><parameter>link</parameter></term>
+     <listitem>
+      <para>
+       An LDAP link identifier, returned by <function>ldap_connect</function>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>result</parameter></term>
+     <listitem>
+      <para>
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>cookie</parameter></term>
+     <listitem>
+      <para>
+            An opaque structure sent by the server.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>estimated</parameter></term>
+     <listitem>
+      <para>
+       The estimated number of entries to retrieve.
+      </para>
+     </listitem>
+    </varlistentry>
+    </variablelist>
+  </para>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+  &reftitle.returnvalues;
+  <para>
+   Returns &true; or &false; on error.
+  </para>
+ </refsect1>
+
+ <refsect1 role="seealso">
+  &reftitle.seealso;
+  <para>
+   <simplelist>
+    <member><function>ldap_control_paged_result</function></member>
+    <member><link>http://www.ietf.org/rfc/rfc2696.txt</link></member>
+   </simplelist>
+  </para>
+ </refsect1>
 </refentry>
 
 <!-- Keep this comment at the end of the file
Index: en/reference/ldap/functions/ldap-control-paged-result.xml
===================================================================
--- en/reference/ldap/functions/ldap-control-paged-result.xml   (révision 
324333)
+++ en/reference/ldap/functions/ldap-control-paged-result.xml   (copie de 
travail)
@@ -1,22 +1,147 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision$ --> 
+<!-- $Revision$ -->
 <refentry xml:id='function.ldap-control-paged-result' 
xmlns="http://docbook.org/ns/docbook";>
  <refnamediv>
   <refname>ldap_control_paged_result</refname>
-  <refpurpose>Inject paged results control</refpurpose>
+  <refpurpose>Send LDAP pagination control</refpurpose>
  </refnamediv>
+ 
  <refsect1 role="description">
   &reftitle.description;
   <methodsynopsis>
-   <type>mixed</type><methodname>ldap_control_paged_result</methodname>
+   <type>bool</type><methodname>ldap_control_paged_result</methodname>
    <methodparam><type>resource</type><parameter>link</parameter></methodparam>
    <methodparam><type>int</type><parameter>pagesize</parameter></methodparam>
-   <methodparam choice="opt"><type>bool</type><parameter 
role="reference">iscritical</parameter></methodparam>
-   <methodparam choice="opt"><type>string</type><parameter 
role="reference">cookie</parameter></methodparam>
+   <methodparam 
choice="opt"><type>bool</type><parameter>iscritical</parameter></methodparam>
+   <methodparam 
choice="opt"><type>string</type><parameter>cookie</parameter></methodparam>
   </methodsynopsis>
-  &warn.undocumented.func;
+  <para>Enable LDAP pagination by sending the pagination control (page size, 
cookie...).</para>
  </refsect1>
 
+ <refsect1 role="parameters">
+  &reftitle.parameters;
+  <para>
+   <variablelist>
+    <varlistentry>
+     <term><parameter>link</parameter></term>
+     <listitem>
+      <para>
+       An LDAP link identifier, returned by <function>ldap_connect</function>.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>pagesize</parameter></term>
+     <listitem>
+      <para>
+       The number of entries by page.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>iscritical</parameter></term>
+     <listitem>
+      <para>
+            Indicates whether the pagination is critical of not. 
+            If true and if the server doesn't support pagination, the search
+            will return no result.
+      </para>
+     </listitem>
+    </varlistentry>
+    <varlistentry>
+     <term><parameter>cookie</parameter></term>
+     <listitem>
+      <para>
+       An opaque structure sent by the server 
(<function>ldap_control_paged_result_response</function>).
+      </para>
+     </listitem>
+    </varlistentry>
+    </variablelist>
+  </para>
+ </refsect1>
+
+<refsect1 role="returnvalues">
+  &reftitle.returnvalues;
+  <para>
+   Returns true or &false; on error.
+  </para>
+ </refsect1>
+ 
+ <refsect1 role="examples">
+  &reftitle.examples;
+  <para>
+   The example below show the retrieval of the first page of a search 
paginated with one entry by page.
+   <example>
+    <title>LDAP pagination</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+// $ds is a valid link identifier for a directory server
+// $person is all or part of a person's name, eg "Jo"
+
+$dn = "o=My Company, c=US";
+$filter="(|(sn=$person*)(givenname=$person*))";
+$justthese = array("ou", "sn", "givenname", "mail");
+
+// enable pagination with a page size of 1.
+ldap_control_paged_result($ds, 1);
+
+$sr=ldap_search($ds, $dn, $filter, $justthese);
+
+$info = ldap_get_entries($ds, $sr);
+
+echo $info["count"]." entries returned\n";
+
+?>
+]]>
+    </programlisting>
+   </example>
+  </para>  <para>
+   The example below show the retrieval of all the result paginated with 100 
entries by page.
+   <example>
+    <title>LDAP pagination</title>
+    <programlisting role="php">
+<![CDATA[
+<?php
+// $ds is a valid link identifier for a directory server
+// $person is all or part of a person's name, eg "Jo"
+
+$dn = "o=My Company, c=US";
+$filter="(|(sn=$person*)(givenname=$person*))";
+$justthese = array("ou", "sn", "givenname", "mail");
+
+// enable pagination with a page size of 100.
+$pageSize    = 100;
+
+$cookie = '';
+do {
+    ldap_control_paged_result($ds, $pageSize, true, $cookie);
+
+    $result = ldap_search($ds, $dn, $filter, $justthese);
+    $entries = ldap_get_entries($ds, $result);
+        
+    foreach ($entries as $e) {
+        print $e["dn"] . PHP_EOL;
+    }
+
+    ldap_control_paged_result_response($ds, $result, $cookie);
+  
+} while($cookie !== null && $cookie != '');
+?>
+]]>
+    </programlisting>
+   </example>
+  </para>
+ </refsect1>
+ <refsect1 role="seealso">
+  &reftitle.seealso;
+  <para>
+   <simplelist>
+    <member><function>ldap_control_paged_result_response</function></member>
+    <member><link>http://www.ietf.org/rfc/rfc2696.txt</link></member>
+   </simplelist>
+  </para>
+ </refsect1>
 </refentry>
 
 <!-- Keep this comment at the end of the file

Reply via email to