Hi,

Le 22/03/2012 10:10, Jean-Sébastien H. a écrit :
Thanks for your feedback, I'll fix my patch soon.

In attachment, the new patch.

Regards,

--
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,9 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ --> 
-<refentry xml:id='function.ldap-control-paged-result-response' 
xmlns="http://docbook.org/ns/docbook";>
+<refentry xml:id='function.ldap-control-paged-result-response'
+xmlns="http://docbook.org/ns/docbook";
+xmlns:xlink="http://www.w3.org/1999/xlink";>
  <refnamediv>
   <refname>ldap_control_paged_result_response</refname>
-  <refpurpose>Extract paged results control response</refpurpose>
+  <refpurpose>Retrieve the LDAP pagination cookie</refpurpose>
  </refnamediv>
 
  <refsect1 role="description">
@@ -15,9 +17,67 @@
    <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>
+   &return.success;
+  </para>
+ </refsect1>
+
+ <refsect1 role="seealso">
+  &reftitle.seealso;
+  <para>
+   <simplelist>
+    <member><function>ldap_control_paged_result</function></member>
+    <member><link xlink:href="&url.rfc;2696">RFC2696 : LDAP Control Extension 
for Simple
+    Paged Results Manipulation</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,151 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ --> 
-<refentry xml:id='function.ldap-control-paged-result' 
xmlns="http://docbook.org/ns/docbook";>
+<refentry xml:id='function.ldap-control-paged-result'
+xmlns="http://docbook.org/ns/docbook";
+xmlns:xlink="http://www.w3.org/1999/xlink";>
  <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>
+   &return.success;
+  </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 (see ldap_connect)
+
+     $dn        = 'ou=example,dc=org';
+     $filter    = '(|(sn=Doe*)(givenname=John*))';
+     $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' . PHP_EOL;
+     ]]>
+    </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 (see ldap_connect)
+
+     $dn        = 'ou=example,dc=org';
+     $filter    = '(|(sn=Doe*)(givenname=John*))';
+     $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) {
+             echo $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 xlink:href="&url.rfc;2696">RFC2696 : LDAP Control Extension 
for Simple
+    Paged Results Manipulation</link></member>
+   </simplelist>
+  </para>
+ </refsect1>
 </refentry>
 
 <!-- Keep this comment at the end of the file

Reply via email to