cvs: phpdoc /fr/functions ldap.xml

From: Date: Tue, 31 Jul 2001 06:52:45 +0000
Subject: cvs: phpdoc /fr/functions ldap.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969336613@lists.php.net to get a copy of this message
dams Tue Jul 31 02:52:45 2001 EDT Modified files: /phpdoc/fr/functions ldap.xml Log: Added note for ldap_rename

Index: phpdoc/fr/functions/ldap.xml diff -u phpdoc/fr/functions/ldap.xml:1.9 phpdoc/fr/functions/ldap.xml:1.10 --- phpdoc/fr/functions/ldap.xml:1.9 Sat Jul 7 18:22:13 2001 +++ phpdoc/fr/functions/ldap.xml Tue Jul 31 02:52:45 2001 @@ -1,84 +1,84 @@ - <reference id="ref.ldap"> - <title>LDAP</title> - <titleabbrev>LDAP</titleabbrev> - <partintro> - <sect1 id="ldap.intro"> - <title>Introduction &agrave; LDAP</title> - <para> - LDAP est l'acronyme de Lightweight Directory Access Protocol, c'est &agrave; - dire Protocole L&eacute;ger d'Acc&egrave;s aux Dossiers. C'est un protocole - utilis&eacute; pour acc&eacute;der &agrave; des "serveurs de dossiers", des - serveurs qui g&egrave;rent les informations de mani&egrave;re - hi&eacute;rarchique. - </para> - <para> - Le concept est similaire &agrave; la structure de votre disque dur, hormis - le fait que la racine s'appelle ici : "The world" (le monde), et que les - dossiers du premier niveau sont assimil&eacute;s &agrave; des pays. Les - niveaux inf&eacute;rieurs de la structure contiennent des entr&eacute;es - de soci&eacute;t&eacute;s, d'organisations ou de lieux tandis que les - niveaux encore inf&eacute;rieurs sont des gens, voire des &eacute;quipements - ou des documents. - </para> - <para> - Pour acc&eacute;der &agrave; un fichier sur votre disque, vous devez utiliser - la syntaxe suivante : - </para> - <literallayout> +<reference id="ref.ldap"> + <title>LDAP</title> + <titleabbrev>LDAP</titleabbrev> + <partintro> + <sect1 id="ldap.intro"> + <title>Introduction &agrave; LDAP</title> + <para> + LDAP est l'acronyme de Lightweight Directory Access Protocol, c'est &agrave; + dire Protocole L&eacute;ger d'Acc&egrave;s aux Dossiers. C'est un protocole + utilis&eacute; pour acc&eacute;der &agrave; des "serveurs de dossiers", des + serveurs qui g&egrave;rent les informations de mani&egrave;re + hi&eacute;rarchique. + </para> + <para> + Le concept est similaire &agrave; la structure de votre disque dur, hormis + le fait que la racine s'appelle ici : "The world" (le monde), et que les + dossiers du premier niveau sont assimil&eacute;s &agrave; des pays. Les + niveaux inf&eacute;rieurs de la structure contiennent des entr&eacute;es + de soci&eacute;t&eacute;s, d'organisations ou de lieux tandis que les + niveaux encore inf&eacute;rieurs sont des gens, voire des &eacute;quipements + ou des documents. + </para> + <para> + Pour acc&eacute;der &agrave; un fichier sur votre disque, vous devez utiliser + la syntaxe suivante : + </para> + <literallayout> /usr/local/myapp/docs - </literallayout> - <para> - Le slash indique une division de la r&eacute;f&eacute;rence, et la - s&eacute;quence est lue de gauche &agrave; droite. - </para> - <para> - Avec tous les d&eacute;tails, une r&eacute;f&eacute;rence LDAP s'appelle un "nom - distingu&eacute;" ("distinguished name"), appel&eacute; aussi "nd" ("dn" en anglais). - Par exemple : - </para> - <literallayout> + </literallayout> + <para> + Le slash indique une division de la r&eacute;f&eacute;rence, et la + s&eacute;quence est lue de gauche &agrave; droite. + </para> + <para> + Avec tous les d&eacute;tails, une r&eacute;f&eacute;rence LDAP s'appelle un "nom + distingu&eacute;" ("distinguished name"), appel&eacute; aussi "nd" ("dn" en anglais). + Par exemple : + </para> + <literallayout> cn=Jean Dupont,ou=Comptes,o=Ma Soci&eacute;t&eacute;,c=Fr - </literallayout> - <para> - La virgule marque une division de la r&eacute;f&eacute;r&eacute;nce, et - la s&eacute;quence est lue de droite &agrave; gauche. Vous pouvez la lire - comme ceci : - </para> - <literallayout> + </literallayout> + <para> + La virgule marque une division de la r&eacute;f&eacute;r&eacute;nce, et + la s&eacute;quence est lue de droite &agrave; gauche. Vous pouvez la lire + comme ceci : + </para> + <literallayout> country = Fr organization = Ma Soci&eacute;t&eacute; organizationalUnit = Comptes commonName = Jean Dupont - </literallayout> - <para> - De la m&ecirc;me fa&ccedil;on qu'il n'y a pas de r&egrave;gle universelle - d'organisation d'un disque dur, un serveur de dossier peut supporter - n'importe quelle structure du moment qu'elle a un sens pour ce qu'on en - fait. Cependant, il existe quelques conventions : il est impossible - d'&eacute;crire un code d'acc&egrave;s &agrave; un dossier sans en - conna&icirc;tre sa structure, de la m&ecirc;me fa&ccedil;on que vous - ne pouvez pas utiliser une base de donn&eacute;es sans en conna&icirc;tre - les tables. - </para> - </sect1> - <sect1 id="ldap-example"> - <title>Exemple complet </title> - <para> - Recup&eacute;rer toutes les entr&eacute;es dont le nom commence par "S" - dans un serveur, et afficher le nom et l'adresse email. - </para> - <example> - <title>Recherche LDAP </title> - <programlisting role="php"> + </literallayout> + <para> + De la m&ecirc;me fa&ccedil;on qu'il n'y a pas de r&egrave;gle universelle + d'organisation d'un disque dur, un serveur de dossier peut supporter + n'importe quelle structure du moment qu'elle a un sens pour ce qu'on en + fait. Cependant, il existe quelques conventions : il est impossible + d'&eacute;crire un code d'acc&egrave;s &agrave; un dossier sans en + conna&icirc;tre sa structure, de la m&ecirc;me fa&ccedil;on que vous + ne pouvez pas utiliser une base de donn&eacute;es sans en conna&icirc;tre + les tables. + </para> + </sect1> + <sect1 id="ldap-example"> + <title>Exemple complet </title> + <para> + Recup&eacute;rer toutes les entr&eacute;es dont le nom commence par "S" + dans un serveur, et afficher le nom et l'adresse email. + </para> + <example> + <title>Recherche LDAP </title> + <programlisting role="php"> &lt;?php // Structure d'une commande simple : // connexion, lien, recherche, interpretation de la recherche // r&eacute;sultat, d&eacute;connexion -echo "&lt;?h3>LDAP query test&lt;?/h3>"; -echo "Connexion ..."; -$ds=ldap_connect("localhost"); // Doit &ecirc;tre un serveur LDAP valide! -echo "R&eacute;sultat de la connexion : ".$ds."&lt;?p>"; -if ($ds) { + echo "&lt;?h3>LDAP query test&lt;?/h3>"; + echo "Connexion ..."; + $ds=ldap_connect("localhost"); // Doit &ecirc;tre un serveur LDAP valide! + echo "R&eacute;sultat de la connexion : ".$ds."&lt;?p>"; + if ($ds) { echo "Lien ..."; $r=ldap_bind($ds); // Ceci est un lien "anonymous", typiquement // en lecture seule. En cas d'acc&egrave;s, affiche @@ -99,45 +99,45 @@ } echo "D&eacute;connexion "; ldap_close($ds); -} else { + } else { echo "&lt;?h4>Impossible de se connecter &agrave; un serveur LDAP &lt;?/h4>"; -} + } ?&gt; -</programlisting> - </example> - <sect2 id="ldap.using"> - <title>Utilisation des fonctions PHP LDAP </title> + </programlisting> + </example> + <sect2 id="ldap.using"> + <title>Utilisation des fonctions PHP LDAP </title> + <para> + Il faut d'abord que les biblioth&egrave;ques client LDAP soient + compil&eacute;es avec PHP. Vous pouvez vous procurer ces + biblioth&egrave;ques University of Michigan (ldap-3.3 package) ou + chez Netscape (Netscape Directory SDK). + </para><para> + Avant d'utiliser les fonctions LDAP il faut savoir : + <itemizedlist> + <listitem> <para> - Il faut d'abord que les biblioth&egrave;ques client LDAP soient - compil&eacute;es avec PHP. Vous pouvez vous procurer ces - biblioth&egrave;ques University of Michigan (ldap-3.3 package) ou - chez Netscape (Netscape Directory SDK). - </para><para> - Avant d'utiliser les fonctions LDAP il faut savoir : - <itemizedlist> - <listitem> - <para> - Le nom ou l'adresse du serveur &agrave; utiliser - </para> - </listitem> - <listitem> - <para> - Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, - ce qui peut correspondre &agrave; "o=Ma soci&eacute;t&eacute;,c=Fr") - </para> - </listitem> - <listitem> - <para> - Eventuellement, un mot de passe pour acc&eacute;der au serveur (de nombreux - serveur fournisse un acc&egrave;s en lien anonymes ("anonymous bind") - mais requi&egrave;rent un mot de passe pour tout le reste). - </para> - </listitem> - </itemizedlist> - </para> - <para> - Une s&eacute;quence habituelle LDAP suivra le sch&eacute;ma suivant : - <literallayout> + Le nom ou l'adresse du serveur &agrave; utiliser + </para> + </listitem> + <listitem> + <para> + Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, + ce qui peut correspondre &agrave; "o=Ma soci&eacute;t&eacute;,c=Fr") + </para> + </listitem> + <listitem> + <para> + Eventuellement, un mot de passe pour acc&eacute;der au serveur (de nombreux + serveusr fournissent un acc&egrave;s anonyme ("anonymous bind") + mais requi&egrave;rent un mot de passe pour tous les autres). + </para> + </listitem> + </itemizedlist> + </para> + <para> + Une s&eacute;quence habituelle LDAP suivra le sch&eacute;ma suivant : + <literallayout> ldap_connect() // &eacute;tablit une connexion &agrave; un serveur | ldap_bind() // nom de compte "login" ou anonyme @@ -146,85 +146,86 @@ une modification de donn&eacute;es avec affichage | ldap_close() // "d&eacute;connexion" - </literallayout> - </para> - </sect2> - <sect2 id="ldap.moreinfo"> - <title>Plus d'informations</title> - <para> - Vous pouvez en apprendre encore plus, mais en anglais, aux adresses suivantes : - </para> - <itemizedlist> - <listitem> - <para> - <ulink url="&url.ldap.netscape;">Netscape</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="&url.ldap.michigan;">University of Michigan</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="&url.ldap.openldap;">OpenLDAP Project</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="&url.ldap.ldapworld;">LDAP World</ulink> - </para> - </listitem> - </itemizedlist> - <para> - Le SDK Netscape contient un guide du programmeur au format HTML - particuli&egrave;rement pratique (en anglais). - </para> - </sect2> - </sect1> - </partintro> - <refentry id="function.ldap-add"> - <refnamediv> - <refname>ldap_add</refname> - <refpurpose>Ajoute une entr&eacute;e &agrave; un dossier LDAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_add</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>dn</parameter></paramdef> - <paramdef>array <parameter>entry</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_add</function> retourne &true; en cas de succ&egrave;s, - ou &false; en cas d'erreur. + </literallayout> + </para> + </sect2> + <sect2 id="ldap.moreinfo"> + <title>Plus d'informations</title> + <para> + Vous pouvez en apprendre encore plus, mais en anglais, aux adresses suivantes : + </para> + <itemizedlist> + <listitem> + <para> + <ulink url="&url.ldap.netscape;">Netscape</ulink> + </para> + </listitem> + <listitem> + <para> + <ulink url="&url.ldap.michigan;">University of Michigan</ulink> + </para> + </listitem> + <listitem> + <para> + <ulink url="&url.ldap.openldap;">OpenLDAP Project</ulink> + </para> + </listitem> + <listitem> + <para> + <ulink url="&url.ldap.ldapworld;">LDAP World</ulink> + </para> + </listitem> + </itemizedlist> + <para> + Le SDK Netscape contient un guide du programmeur au format HTML + particuli&egrave;rement pratique (en anglais). + </para> + </sect2> + </sect1> + </partintro> + <refentry id="function.ldap-add"> + <refnamediv> + <refname>ldap_add</refname> + <refpurpose>Ajoute une entr&eacute;e &agrave; un dossier LDAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_add</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>array <parameter>entry</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_add</function> retourne <literal>TRUE</literal> en cas de succ&egrave;s, + ou <literal>FALSE</literal> en cas d'erreur. </para><para> - <function>ldap_add</function> sert &agrave; ajouter une entr&eacute;e - dans un dossier LDAP. Le ND de l'entr&eacute;e sera ajout&eacute; &agrave; - la <parameter>dn</parameter> du dossier sp&eacute;cifi&eacute;. Le tableau - <parameter>entry</parameter> sp&eacute;cifie les informations de la nouvelle - entr&eacute;e. Les valeurs de l'entr&eacute;e sont index&eacute;es dans les - attributs de l'entr&eacute;e. Si un attribut a de multiples valeurs, elles - seront index&eacute;es dans un tableau, &agrave; partir de l'index 0. - </para> - <informalexample> -<literallayout> + <function>ldap_add</function> sert &agrave; ajouter une entr&eacute;e + dans un dossier LDAP. Le ND de l'entr&eacute;e sera ajout&eacute; &agrave; + la <parameter>dn</parameter> du dossier sp&eacute;cifi&eacute;. Le tableau + <parameter>entry</parameter> sp&eacute;cifie les informations de la nouvelle + entr&eacute;e. Les valeurs de l'entr&eacute;e sont index&eacute;es dans les + attributs de l'entr&eacute;e. Si un attribut a de multiples valeurs, elles + seront index&eacute;es dans un tableau, &agrave; partir de l'index 0. + </para> + <informalexample> + <literallayout> entree["attribut1"] = valeur entree["attribut2"][0] = valeur1 entree["attribut2"][1] = valeur2 -</literallayout> - </informalexample> - <example> - <title>Exemple complet avec lien authentifi&eacute;</title> -<programlisting role="php"> + </literallayout> + </informalexample> + <example> + <title>Exemple complet avec lien authentifi&eacute;</title> + <programlisting role="php"> &lt;?php -$ds=ldap_connect("localhost"); // On suppose que le serveur LDAP est sur cet hote -if ($ds) { + $ds=ldap_connect("localhost"); +// On suppose que le serveur LDAP est sur cet h&ocirc;te + if ($ds) { // liaison avec le nd appropri&eacute;, pour avoir un acc&egrave;s en modification - $r=ldap_bind($ds,"cn=root, o=Ma Soci&eacute;t&eacute;, c=Fr", "secret"); + $r=ldap_bind($ds,"cn=root, o=Ma Soci&eacute;t&eacute;, c=Fr", "secret"); // preparation des donn&eacute;es $info["cn"]="John Jones"; $info["sn"]="Jones"; @@ -233,109 +234,110 @@ // Ajout des donn&eacute;es dans le dossier $r=ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info); ldap_close($ds); -} else { + } else { echo "Impossible de se connecter au serveur LDAP "; -} + } ?&gt; - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ldap-bind"> - <refnamediv> - <refname>ldap_bind</refname> - <refpurpose>Se lie &agrave; un serveur LDAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_bind</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter><optional>bind_rdn</optional></parameter></paramdef> - <paramdef>string <parameter><optional>bind_password</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_bind</function> lie un serveur LDAP avec le RDN - <parameter>bind_rdn</parameter> et mot de passe - <parameter>bind_password</parameter>. <function>ldap_bind</function> retourne - &true; en cas de succ&egrave;s, et - &false; sinon. - </para> - <para> - <function>ldap_bind</function> effectue une op&eacute;ration de liaison - sur le serveur. <parameter>bind_rdn</parameter> et - <parameter>bind_password</parameter> sont optionnels. Si ils - manquent, la liaison se fera en mode anonyme. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-close"> - <refnamediv> - <refname>ldap_close</refname> - <refpurpose>D&eacute;connecte d'un serveur LDAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_close</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_close</function> retourne &true; en cas de succ&egrave;s, - et &false; sinon. - </para> - <para> - <function>ldap_close</function> ferme le lien au serveur LDAP - associ&eacute; &agrave; l'identifiant <parameter>link_identifier</parameter>. - </para> - <para> - Cet appel est identique &agrave; <function>ldap_unbind</function>, en interne. - Les API LDAP utilisent la fonction <function>ldap_unbind</function> : il est - probablement mieux que vous utilisiez cette fonction l&agrave; plut&ocirc;t - que <function>ldap_close</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-compare"> - <refnamediv> - <refname>ldap_compare</refname> - <refpurpose>Compare les valeurs des attributs trouv&eacute;s dans un ND</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_compare</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>dn</parameter></paramdef> - <paramdef>string <parameter>attribute</parameter></paramdef> - <paramdef>string <parameter>value</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <simpara> - <function>ldap_compare</function> retournr &true; si - <parameter>value</parameter> un fichier correspond &agrave; la recherche; retourne - -1 si une erreur survient. - </simpara> - <para> - <function>ldap_compare</function> sert &agrave; comparer la valeur - <parameter>value</parameter> de l'attribut <parameter>attribute</parameter> - aux valeurs du m&ecirc;me atribut dans l'annuaire LDAP <parameter>dn</parameter>. - </para> - <simpara> - L'exemple suivant montre comment v&eacute;rifier qu'un mot de passe correspond - bien &agrave; celui qui est stock&eacute; dans l'annuaire. - </simpara> - <example> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ldap-bind"> + <refnamediv> + <refname>ldap_bind</refname> + <refpurpose>Se lie &agrave; un serveur LDAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_bind</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter><optional>bind_rdn</optional></parameter></paramdef> + <paramdef>string <parameter><optional>bind_password</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_bind</function> lie un serveur LDAP avec le RDN + <parameter>bind_rdn</parameter> et mot de passe + <parameter>bind_password</parameter>. <function>ldap_bind</function> retourne + <literal>TRUE</literal> en cas de succ&egrave;s, et + <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_bind</function> effectue une op&eacute;ration de liaison + sur le serveur. <parameter>bind_rdn</parameter> et + <parameter>bind_password</parameter> sont optionnels. S'ils + manquent, la liaison se fera en mode anonyme. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-close"> + <refnamediv> + <refname>ldap_close</refname> + <refpurpose>D&eacute;connecte d'un serveur LDAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_close</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_close</function> retourne <literal>TRUE</literal> en cas de succ&egrave;s, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_close</function> ferme le lien au serveur LDAP + associ&eacute; &agrave; l'identifiant <parameter>link_identifier</parameter>. + </para> + <para> + Cet appel est identique &agrave; <function>ldap_unbind</function>, en interne. + Les API LDAP utilisent la fonction <function>ldap_unbind</function> : il est + probablement mieux que vous utilisiez cette fonction l&agrave; plut&ocirc;t + que <function>ldap_close</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-compare"> + <refnamediv> + <refname>ldap_compare</refname> + <refpurpose>Compare les valeurs des attributs trouv&eacute;s dans un ND</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_compare</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>string <parameter>attribute</parameter></paramdef> + <paramdef>string <parameter>value</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <simpara> + <function>ldap_compare</function> retournr <literal>TRUE</literal> si + <parameter>value</parameter> un fichier correspond &agrave; la recherche; retourne + -1 si une erreur survient. + </simpara> + <para> + <function>ldap_compare</function> sert &agrave; comparer la valeur + <parameter>value</parameter> de l'attribut <parameter>attribute</parameter> + aux valeurs du m&ecirc;me atribut dans l'annuaire LDAP <parameter>dn</parameter>. + </para> + <simpara> + L'exemple suivant montre comment v&eacute;rifier qu'un mot de passe correspond + bien &agrave; celui qui est stock&eacute; dans l'annuaire. + </simpara> + <example> <title>V&eacute;rification d'un mot de passe avec LDAP</title> - <programlisting role="php"> + <programlisting role="php"> &lt;?php -$ds=ldap_connect("localhost"); // on suppose que le serveur LDAP est sur le serveur local -if ($ds) { + $ds=ldap_connect("localhost"); +// on suppose que le serveur LDAP est sur le serveur local + if ($ds) { // liaison if(ldap_bind($ds)) { // pr&eacute;pare les donn&eacute;es @@ -349,623 +351,637 @@ } elseif ($r === <literal>TRUE</literal>) { echo "Mot de passe correct."; } elseif ($r === <literal>FALSE</literal>) { - echo "Mot de passe erronn&eacute;!"; + echo "Mot de passe erron&eacute;!"; } } else { echo "Connexion impossible."; } ldap_close($ds); -} else { + } else { echo "Impossible de se connecter au serveur LDAP."; -} + } ?&gt; - </programlisting> - </example> - <note> - <para> - <function>ldap_compare</function> ne peut pas comparer des donn&eacute;es binaires. - </para> - </note> - <note> - <para> - Cette fonction a &eacute;t&eacute; ajout&eacute;e en 4.0.2. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.ldap-connect"> - <refnamediv> - <refname>ldap_connect</refname> - <refpurpose>Se connecte &agrave; un serveur LDAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>ldap_connect</function></funcdef> - <paramdef>string <parameter><optional>hostname</optional></parameter></paramdef> - <paramdef>int <parameter><optional>port</optional></parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_connect</function> retourne un identifiant positif de serveur - LDAP en cas de succ&egrave;s, ou bien &false; en cas d'erreur. - </para> - <para> - <function>ldap_connect</function> &eacute;tablit une connexion avec un serveur. - Le serveur LDAP situ&eacute; sur l'h&ocirc;te <parameter>hostname</parameter> et - <parameter>port</parameter>. Les deux arguments sont optionnels. Sans argument, - l'identifiant de la derni&egrave;re connexion ouverte sera retourn&eacute;e. Si - seul <parameter>hostname</parameter> est sp&eacute;cifi&eacute;, le port par - d&eacute;faut est 389. - </para> - <para> - Si vous utilisez OpenLDAP 2.x.x, vous pouvez sp&eacute;cifier une URL au - lieu d'un nom d'h&ocirc;te. Pour utiliser LDAP avec SSL, compilez - OpenLDAP 2.x.x avec le support SSL, configurez PHP avec SSL, et - utilisez ldaps://hostname/ comme nom d'h&ocirc;te. Le param&egrave;tre de - port <parameter>port</parameter> n'est pas utile lorsqu'utilis&eacute; - avec des URL. Le support des URL et SSL a &eacute;t&eacute; ajout&eacute; dans PHP 4.0.4. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-count-entries"> - <refnamediv> - <refname>ldap_count_entries</refname> - <refpurpose>Compte le nombre d'entr&eacute;es d'une recherche.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_count_entries</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_count_entries</function> retourne le nombre - d'entr&eacute;es en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_count_entries</function> retourne le nombre d'entr&eacute;es - plac&eacute;es dans le r&eacute;sultat par les recherches - pr&eacute;c&eacute;dentes. <parameter>result_identifier</parameter> - identifie un r&eacute;sultat LDAP interne. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-delete"> - <refnamediv> - <refname>ldap_delete</refname> - <refpurpose>Efface une entr&eacute;e dans un dossier.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_delete</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>dn</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_delete</function> retourne &true; en cas de succ&egrave;s, - et &false; sinon. - </para> - <para> - <function>ldap_delete</function> efface une entr&eacute;e dans un dossier - LDAP sp&eacute;cifi&eacute; par le nd <parameter>dn</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-dn2ufn"> - <refnamediv> - <refname>ldap_dn2ufn</refname> - <refpurpose>Convertit un ND dans un format plus accessible.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ldap_dn2ufn</function></funcdef> - <paramdef>string <parameter>dn</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_dn2ufn</function> sert &agrave; mettre le nd - <parameter>dn</parameter> dans un format plus agr&eacute;able, - notamment en supprimant les noms des types. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-err2str"> - <refnamediv> - <refname>ldap_err2str</refname> - <refpurpose> - Convertit un num&eacute;ro d'erreur LDAP en message d'erreur. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ldap_err2str</function></funcdef> - <paramdef>int <parameter>errno</parameter></paramdef> - </funcprototype> - </funcsynopsis> + </programlisting> + </example> + <note> <para> - <function>ldap_err2str</function> retourne un message d'erreur. + <function>ldap_compare</function> ne peut pas comparer des donn&eacute;es binaires. </para> + </note> + <note> <para> - <function>ldap_err2str</function> retourne le message d'erreur li&eacute; - au num&eacute;r d'erreur <parameter>errno</parameter>. M&ecirc;me si les - num&eacute;ros d'erreur LDAP sont standardis&eacute;s, diff&eacute;rentes - librairies retournent diff&eacute;rents messages, ou parfois, des messages - en langue locale. Ne vous fiez pas au message d'erreur, mais bien au - num&eacute;ro d'erreur. + Cette fonction a &eacute;t&eacute; ajout&eacute;e en 4.0.2. </para> - <para> - Voir aussi <function>ldap_errno</function> et <function>ldap_error</function>. - <example> - <title>Enum&eacute;rer tous les messages d'erreur LDAP</title> - <programlisting role="php"> + </note> + </refsect1> + </refentry> + <refentry id="function.ldap-connect"> + <refnamediv> + <refname>ldap_connect</refname> + <refpurpose>Se connecte &agrave; un serveur LDAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>resource <function>ldap_connect</function></funcdef> + <paramdef>string <parameter><optional>hostname</optional></parameter></paramdef> + <paramdef>int <parameter><optional>port</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_connect</function> retourne un identifiant positif de serveur + LDAP en cas de succ&egrave;s, ou bien <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <function>ldap_connect</function> &eacute;tablit une connexion avec un serveur. + Le serveur LDAP situ&eacute; sur l'h&ocirc;te <parameter>hostname</parameter> et + <parameter>port</parameter>. Les deux arguments sont optionnels. Sans argument, + l'identifiant de la derni&egrave;re connexion ouverte sera retourn&eacute;e. Si + seul <parameter>hostname</parameter> est sp&eacute;cifi&eacute;, le port par + d&eacute;faut est 389. + </para> + <para> + Si vous utilisez OpenLDAP 2.x.x, vous pouvez sp&eacute;cifier une URL au + lieu d'un nom d'h&ocirc;te. Pour utiliser LDAP avec SSL, compilez + OpenLDAP 2.x.x avec le support SSL, configurez PHP avec SSL, et + utilisez ldaps://hostname/ comme nom d'h&ocirc;te. Le param&egrave;tre de + port <parameter>port</parameter> n'est pas utile lorsqu'utilis&eacute; + avec des URL. Le support des URL et SSL a &eacute;t&eacute; ajout&eacute; + en PHP 4.0.4. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-count-entries"> + <refnamediv> + <refname>ldap_count_entries</refname> + <refpurpose>Compte le nombre d'entr&eacute;es d'une recherche.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_count_entries</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_count_entries</function> retourne le nombre + d'entr&eacute;es en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_count_entries</function> retourne le nombre d'entr&eacute;es + plac&eacute;es dans le r&eacute;sultat par les recherches + pr&eacute;c&eacute;dentes. <parameter>result_identifier</parameter> + identifie un r&eacute;sultat LDAP interne. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-delete"> + <refnamediv> + <refname>ldap_delete</refname> + <refpurpose>Efface une entr&eacute;e dans un dossier.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_delete</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_delete</function> retourne <literal>TRUE</literal> en cas de succ&egrave;s, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_delete</function> efface une entr&eacute;e dans un dossier + LDAP sp&eacute;cifi&eacute; par le nd <parameter>dn</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-dn2ufn"> + <refnamediv> + <refname>ldap_dn2ufn</refname> + <refpurpose>Convertit un ND dans un format plus accessible.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ldap_dn2ufn</function></funcdef> + <paramdef>string <parameter>dn</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_dn2ufn</function> sert &agrave; mettre le nd + <parameter>dn</parameter> dans un format plus agr&eacute;able, + notamment en supprimant les noms des types. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-err2str"> + <refnamediv> + <refname>ldap_err2str</refname> + <refpurpose> + Convertit un num&eacute;ro d'erreur LDAP en message d'erreur. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ldap_err2str</function></funcdef> + <paramdef>int <parameter>errno</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_err2str</function> retourne un message d'erreur. + </para> + <para> + <function>ldap_err2str</function> retourne le message d'erreur li&eacute; + au num&eacute;r d'erreur <parameter>errno</parameter>. M&ecirc;me si les + num&eacute;ros d'erreur LDAP sont standardis&eacute;s, diff&eacute;rentes + librairies retournent diff&eacute;rents messages, ou parfois, des messages + en langue locale. Ne vous fiez pas au message d'erreur, mais bien au + num&eacute;ro d'erreur. + </para> + <para> + Voir aussi + <function>ldap_errno</function> et + <function>ldap_error</function>. + <example> + <title>Enum&eacute;rer tous les messages d'erreur LDAP</title> + <programlisting role="php"> &lt;?php for($i=0; $i<100; $i++) { - printf("Error $i: %s&lt;br>\n", ldap_str2err($i)); + printf("Error $i: %s&lt;br&gt;\n", ldap_str2err($i)); } ?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-errno"> - <refnamediv> - <refname>ldap_errno</refname> - <refpurpose> - Retourne le num&eacute;ro d'erreur LDAP de la derni&egrave;re - commande ex&eacute;cut&eacute;e. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_errno</function></funcdef> - <paramdef>resource <parameter>link_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_errno</function> retourne le num&eacute;ro d'erreur - LDAP g&eacute;n&eacute;r&eacute; par la derni&egrave;re commande. - </para> - <para> - <function>ldap_errno</function> retourne le num&eacute;ro d'erreur - standard, g&eacute;n&eacute;r&eacute; par la derni&egrave;re commande - LDAP, pour la connexion <parameter>link_id</parameter>. Ce num&eacute;ro - peut &ecirc;tre converti en message textuel avec - <function>ldap_err2str</function>. - </para> - <para> - A moins que vous n'abaissiez suffisamment le niveau d'erreur dans - <filename>php.ini</filename> (ou <filename>php3.ini</filename>), ou que - vous ne pr&eacute;fixiez vos commandes LDAP avec <literal>@</literal> - (at) pour supprimer les affichages, les erreurs LDAP s'afficheront aussi - dans le code PHP. - <example> - <title>Gen&eacute;rer et intercepter une erreur</title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-errno"> + <refnamediv> + <refname>ldap_errno</refname> + <refpurpose> + Retourne le num&eacute;ro d'erreur LDAP de la derni&egrave;re + commande ex&eacute;cut&eacute;e. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_errno</function></funcdef> + <paramdef>resource <parameter>link_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_errno</function> retourne le num&eacute;ro d'erreur + LDAP g&eacute;n&eacute;r&eacute; par la derni&egrave;re commande. + </para> + <para> + <function>ldap_errno</function> retourne le num&eacute;ro d'erreur + standard, g&eacute;n&eacute;r&eacute; par la derni&egrave;re commande + LDAP, pour la connexion <parameter>link_id</parameter>. Ce num&eacute;ro + peut &ecirc;tre converti en message textuel avec + <function>ldap_err2str</function>. + </para> + <para> + A moins que vous n'abaissiez suffisamment le niveau d'erreur dans + <filename>php.ini</filename> (ou <filename>php3.ini</filename>), ou que + vous ne pr&eacute;fixiez vos commandes LDAP avec <literal>&#64;</literal> + (at) pour supprimer les affichages, les erreurs LDAP s'afficheront aussi + dans le code PHP. + <example> + <title>Gen&eacute;rer et intercepter une erreur</title> + <programlisting role="php"> &lt;?php // Cet exemple contient une erreur, que nous allons intercepter. -$ld = ldap_connect("localhost"); -$bind = ldap_bind($ld); + $ld = ldap_connect("localhost"); + $bind = ldap_bind($ld); // Erreur de syntaxe dans l'expression du filtre (errno 87), // ce doit &ecirc;tre "objectclass=*" -$res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass"); -if (!$res) { - printf("LDAP-Errno: %s&lt;br>\n", ldap_errno($ld)); - printf("LDAP-Error: %s&lt;br>\n", ldap_error($ld)); - die("Argh!&lt;br>\n"); -} -$info = ldap_get_entries($ld, $res); -printf("%d entr&eacute;es trouv&eacute;es.&lt;br>\n", $info["count"]); -?&gt; - </programlisting> - </example> - </para> - <para> - Voir aussi <function>ldap_err2str</function> et <function>ldap_error</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-error"> - <refnamediv> - <refname>ldap_error</refname> - <refpurpose> - Retourne le message LDAP de la derni&egrave;re commande LDAP. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ldap_error</function></funcdef> - <paramdef>resource <parameter>link_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_error</function> retourne un message d'erreur. - </para> - <para> - <function>ldap_error</function> retourne le message d'erreur li&eacute; - &agrave; la connexion <parameter>link_id</parameter>. M&ecirc;me si les - num&eacute;ros d'erreur LDAP sont standardis&eacute;s, diff&eacute;rentes - librairies retournent diff&eacute;rents messages, ou parfois, des messages - en langue locale. Ne vous fiez pas au message d'erreur, mais bien au - num&eacute;ro d'erreur. - </para> - <para> - A moins que vous n'abaissiez suffisamment le niveau d'erreur dans - <filename>php.ini</filename> (ou <filename>php3.ini</filename>), ou que vous ne - pr&eacute;fixiez vos commandes LDAP avec <literal>@</literal> pour supprimer - les affichages, les erreurs LDAP s'afficheront aussi dans le code PHP. - </para> - <para> - Voir aussi <function>ldap_err2str</function> et <function>ldap_errno</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-explode-dn"> - <refnamediv> - <refname>ldap_explode_dn</refname> - <refpurpose>Scinde un ND en plusieurs composants.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ldap_explode_dn</function></funcdef> - <paramdef>string <parameter>dn</parameter></paramdef> - <paramdef>int <parameter>with_attrib</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_explode_dn</function> sert &agrave; scinder le nd - <parameter>dn</parameter> retourn&eacute; par <function>ldap_get_dn</function> - en plusieurs composants. Chaque composant est reconnu sous le nom - Nom Distinct Relatif (ou RDN, en anglais). <function>ldap_explode_dn</function> - retourne un tableau qui contient ces composants. - <parameter>with_attrib</parameter> sert &agrave; pr&eacute;ciser si le RDN est - retourn&eacute; avec ses attributs, ou seul. Pour obtenir le RDN et ses - attributs, mettez <parameter>with_attrib</parameter> &agrave; 0 et pour - n'avoir que les valeurs, mettez le &agrave; 1. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-first-attribute"> - <refnamediv> - <refname>ldap_first_attribute</refname> - <refpurpose>Retourne le premier attribut.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcdef>string <function>ldap_first_attribute</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> - <paramdef>int <parameter>ber_identifier</parameter></paramdef> - </funcsynopsis> - <para> - <function>ldap_first_attribute</function> retourne le premier attribut - en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - Le comportement est similaire pour les entr&eacute;es. Les attributs sont lus - s&eacute;quentiellement dans une entr&eacute;e particuli&egrave;re. - <function>ldap_first_attribute</function> retourne le premier attribut de - l'entr&eacute;e d&eacute;sign&eacute;e par l'identifiant d'entr&eacute;e. Les - attributs suivants sont accessibles avec - <function>ldap_next_attribute</function>. <parameter>ber_identifier</parameter> - est un identifiant de pointeur de m&eacute;moire interne. Il est pass&eacute; - par r&eacute;f&eacute;rence. Le m&ecirc;me identifiant - <parameter>ber_identifier</parameter> est pass&eacute; &agrave; - <function>ldap_next_attribute</function>, qui modifie ce pointeur. - </para> - <para> - Voir aussi <function>ldap_get_attributes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-first-entry"> - <refnamediv> - <refname>ldap_first_entry</refname> - <refpurpose>Retourne l'identifiant du premier attribut.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_first_entry</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_first_entry</function> retourne un identifiant sur la - premi&egrave;re entr&eacute;e en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - Les entr&eacute;es d'un r&eacute;sultat sont lues s&eacute;quentiellement, - en utilisant <function>ldap_first_entry</function> et - <function>ldap_next_entry</function>. <function>ldap_first_entry</function> - retourne l'identifiant de la premi&egrave;re entr&eacute;e du r&eacute;sultat. - Cet identifiant sera fourni &agrave; <function>ldap_next_entry</function> pour - acc&eacute;der &agrave; la procha&icirc;ne entr&eacute;e. - </para> - <para> - Voir aussi <function>ldap_get_entries</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-free-result"> - <refnamediv> - <refname>ldap_free_result</refname> - <refpurpose> - Lib&egrave;re la m&eacute;moire prise par un r&eacute;sultat. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_free_result</function></funcdef> - <paramdef>resource <parameter>result_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_free_result</function> retourne &true; en cas de - succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_free_result</function> lib&egrave;re la m&eacute;moire - allou&eacute;e en interne pour enregistrer le r&eacute;sultat point&eacute; - par <parameter>result_identifier</parameter>. A la fin de chaque script, la - m&eacute;moire sera de toute mani&egrave;re lib&eacute;r&eacute;e. - </para> - <para> - G&eacute;n&eacute;ralement, il n'y a pas besoin de lib&eacute;rer la - m&eacute;moire, et le m&eacute;canisme automatique de fin de script est - suffisant. Cependant, dans les cas o&uacute; le script effectue plusieurs - recherches successives, o&uacute; que les r&eacute;sultats retourn&eacute;s - sont tr&egrave;s grands, <function>ldap_free_result</function> permet de - r&eacute;duire la consommation de m&eacute;moire. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-attributes"> - <refnamediv> - <refname>ldap_get_attributes</refname> - <refpurpose> - Retourne les attributs d'une entr&eacute;e d'un r&eacute;sultat. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ldap_get_attributes</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource - <parameter>result_entry_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_get_attributes</function> retourne un tableau multi-dimensionel - en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_get_attributes</function> sert &agrave; simplifier la lecture - des attributs et des valeurs d'une entr&eacute;e dans un r&eacute;sultat. - Le r&eacute;sultat est un tableau multi-dimensionnel, avec les attributs - en cl&eacute;, et les valeurs des attributs en valeurs. - </para> - <para> - Une fois que vous avez rep&eacute;r&eacute; une entr&eacute; dans un - dossier, vous pouvez lire les informations de cette entr&eacute;e avec - cette fonction. Vous pouvez utiliser cette fonction pour cr&eacute;er une - application qui se d&eacute;place dans les dossiers, sans en conna&icirc;tre - la structure au pr&eacute;alable. Dans de nombreux cas, vous ne chercherez - qu'un attribut particulier (le email, par exemple) et vous ne vous - int&eacute;resserez pas aux autres valeurs. - </para> - <para> - <example> - <title>Affichage de la liste des attributs d'une entr&eacute;e</title> - <programlisting role="php"> -&lt;?php -// $ds est l'identifiant de lien pour ce dossier -// $sr est un r&eacute;sultat de recherche valide, obtenu lors d'une recherche -// pr&eacute;c&eacute;dente -$entry = ldap_first_entry($ds, $sr); -$attrs = ldap_get_attributes($ds, $entry); -echo $attrs["count"]." Attributs dans cette entr&eacute;e:&lt;p>"; -for ($i=0; $i<$attrs["compte"]; $i++) - echo $attrs[$i]."&lt;br>"; + $res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass"); + if (!$res) { + printf("LDAP-Errno: %s&lt;br&gt;\n", ldap_errno($ld)); + printf("LDAP-Error: %s&lt;br&gt;\n", ldap_error($ld)); + die("Argh!&lt;br&gt;\n"); + } + $info = ldap_get_entries($ld, $res); + printf("%d entr&eacute;es trouv&eacute;es.&lt;br&gt;\n", $info["count"]); ?&gt; </programlisting> </example> </para> <para> - Voir aussi <function>ldap_first_attribute</function> et - <function>ldap_next_attribute</function>. + Voir aussi + <function>ldap_err2str</function> et + <function>ldap_error</function>. </para> </refsect1> </refentry> - <refentry id="function.ldap-get-dn"> - <refnamediv> - <refname>ldap_get_dn</refname> - <refpurpose>Retourne un ND d'une entr&eacute;e d'un r&eacute;sultat.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ldap_get_dn</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_get_dn</function> retourne le DN de l'entr&eacute;e - en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_get_dn</function> sert &agrave; obtenir le ND d'une - entr&eacute;e d'un r&eacute;sultat. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-entries"> - <refnamediv> - <refname>ldap_get_entries</refname> - <refpurpose>Retourne toutes les entr&eacute;es.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ldap_get_entries</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_get_entries</function> retourne un tableau multi-dimensionnel - en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_get_entries</function> sert &agrave; simplifier la lecture - d'un r&eacute;sultat &agrave; plusieurs entr&eacute;es. Toutes les - informations sont retourn&eacute;es sous la forme d'un tableau - multi-dimensionnel. La structure de ce tableau est la suivante : - </para> - <para> - Les attributs servent d'index et sont mis en minuscules (les attributs sont - insensibles &agrave; la casse sur les serveurs, mais peuvent ne pas - l'&ecirc;tre quand ils sont utilis&eacute;s comme index) - <informalexample> - <literallayout> -r&eacute;sultat ["compte"] = nombre d'entr&eacute;es du r&eacute;sultat -r&eacute;sultat [0] : correspond aux d&eacute;tails de la premi&egrave;re entr&eacute;e : -r&eacute;sultat [i]["nd"] = ND de la i-i&egrave;me entr&eacute;e -r&eacute;sultat [i][" compte "] = nombre d'attributs de la i-i&egrave;me entr&eacute;e -r&eacute;sultat [i][j] = j-i&egrave;me attribut de la i-i&egrave;me entr&eacute;e -r&eacute;sultat [i]["attribut"]["count"] = nombre de valeur pour l'attribut -r&eacute;sultat [i]["attribut"][j] = j-i&egrave;me valeur de l'attribut - </literallayout> - </informalexample> + <refentry id="function.ldap-error"> + <refnamediv> + <refname>ldap_error</refname> + <refpurpose> + Retourne le message LDAP de la derni&egrave;re commande LDAP. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ldap_error</function></funcdef> + <paramdef>resource <parameter>link_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_error</function> retourne un message d'erreur. </para> <para> - Voir aussi <function>ldap_first_entry</function> et - <function>ldap_next_entry</function>. + <function>ldap_error</function> retourne le message d'erreur li&eacute; + &agrave; la connexion <parameter>link_id</parameter>. M&ecirc;me si les + num&eacute;ros d'erreur LDAP sont standardis&eacute;s, diff&eacute;rentes + librairies retournent diff&eacute;rents messages, ou parfois, des messages + en langue locale. Ne vous fiez pas au message d'erreur, mais bien au + num&eacute;ro d'erreur. </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-option"> - <refnamediv> - <refname>ldap_get_option</refname> - <refpurpose>Lit la valeur courante d'une option</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>ldap_get_option</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>int <parameter>option</parameter></paramdef> - <paramdef>mixed <parameter>retval</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_get_option</function> remplace la valeur courante de - l'option <parameter>option</parameter> par <parameter>retval</parameter>, - et retourne &true; en cas de succ&egrave;s, &false; sinon. - </para> - <para> - Le param&egrave;tre <parameter>option</parameter> peut prendre l'une des valeurs : - LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, - LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, - LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, - LDAP_OPT_MATCHED_DN. Elles sont d&eacute;crites dans - <ulink url="&url.ldap.openldap-c-api;">draft-ietf-ldapext-ldap-c-api-xx.txt</ulink> - </para> - <para> - <function>ldap_get_option</function> n'est disponible que si vous utilisez - OpenLDAP 2.x.x ou Netscape Directory SDK x.x. Elle a &eacute;t&eacute; ajout&eacute;e dans - PHP 4.0.4. - </para> - <para> - <example> - <title>V&eacute;rification de la version du protocole</title> - <programlisting role="php"> + <para> + A moins que vous n'abaissiez suffisamment le niveau d'erreur dans + <filename>php.ini</filename> (ou <filename>php3.ini</filename>), ou que vous ne + pr&eacute;fixiez vos commandes LDAP avec <literal>&#64;</literal> pour supprimer + les affichages, les erreurs LDAP s'afficheront aussi dans le code PHP. + </para> + <para> + Voir aussi + <function>ldap_err2str</function> et + <function>ldap_errno</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-explode-dn"> + <refnamediv> + <refname>ldap_explode_dn</refname> + <refpurpose>Scinde un ND en plusieurs composants.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ldap_explode_dn</function></funcdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>int <parameter>with_attrib</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_explode_dn</function> sert &agrave; scinder le nd + <parameter>dn</parameter> retourn&eacute; par <function>ldap_get_dn</function> + en plusieurs composants. Chaque composant est reconnu sous le nom + Nom Distinct Relatif (ou RDN, en anglais). <function>ldap_explode_dn</function> + retourne un tableau qui contient ces composants. + <parameter>with_attrib</parameter> sert &agrave; pr&eacute;ciser si le RDN est + retourn&eacute; avec ses attributs, ou seul. Pour obtenir le RDN et ses + attributs, mettez <parameter>with_attrib</parameter> &agrave; 0 et pour + n'avoir que les valeurs, mettez le &agrave; 1. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-first-attribute"> + <refnamediv> + <refname>ldap_first_attribute</refname> + <refpurpose>Retourne le premier attribut.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ldap_first_attribute</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> + <paramdef>int <parameter>ber_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_first_attribute</function> retourne le premier attribut + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + Le comportement est similaire pour les entr&eacute;es. Les attributs sont lus + s&eacute;quentiellement dans une entr&eacute;e particuli&egrave;re. + <function>ldap_first_attribute</function> retourne le premier attribut de + l'entr&eacute;e d&eacute;sign&eacute;e par l'identifiant d'entr&eacute;e. Les + attributs suivants sont accessibles avec + <function>ldap_next_attribute</function>. <parameter>ber_identifier</parameter> + est un identifiant de pointeur de m&eacute;moire interne. Il est pass&eacute; + par r&eacute;f&eacute;rence. Le m&ecirc;me identifiant + <parameter>ber_identifier</parameter> est pass&eacute; &agrave; + <function>ldap_next_attribute</function>, qui modifie ce pointeur. + </para> + <para> + Voir aussi + <function>ldap_get_attributes</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-first-entry"> + <refnamediv> + <refname>ldap_first_entry</refname> + <refpurpose>Retourne l'identifiant du premier attribut.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_first_entry</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_first_entry</function> retourne un identifiant sur la + premi&egrave;re entr&eacute;e en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + Les entr&eacute;es d'un r&eacute;sultat sont lues s&eacute;quentiellement, + en utilisant <function>ldap_first_entry</function> et + <function>ldap_next_entry</function>. <function>ldap_first_entry</function> + retourne l'identifiant de la premi&egrave;re entr&eacute;e du r&eacute;sultat. + Cet identifiant sera fourni &agrave; <function>ldap_next_entry</function> pour + acc&eacute;der &agrave; la prochaine entr&eacute;e. + </para> + <para> + Voir aussi + <function>ldap_get_entries</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-free-result"> + <refnamediv> + <refname>ldap_free_result</refname> + <refpurpose> + Lib&egrave;re la m&eacute;moire prise par un r&eacute;sultat. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_free_result</function></funcdef> + <paramdef>resource <parameter>result_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_free_result</function> retourne <literal>TRUE</literal> en cas de + succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_free_result</function> lib&egrave;re la m&eacute;moire + allou&eacute;e en interne pour enregistrer le r&eacute;sultat point&eacute; + par <parameter>result_identifier</parameter>. A la fin de chaque script, la + m&eacute;moire sera de toute mani&egrave;re lib&eacute;r&eacute;e. + </para> + <para> + G&eacute;n&eacute;ralement, il n'y a pas besoin de lib&eacute;rer la + m&eacute;moire, et le m&eacute;canisme automatique de fin de script est + suffisant. Cependant, dans les cas o&ugrave; le script effectue plusieurs + recherches successives, o&ugrave; que les r&eacute;sultats retourn&eacute;s + sont tr&egrave;s grands, <function>ldap_free_result</function> permet de + r&eacute;duire la consommation de m&eacute;moire. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-attributes"> + <refnamediv> + <refname>ldap_get_attributes</refname> + <refpurpose> + Retourne les attributs d'une entr&eacute;e d'un r&eacute;sultat. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ldap_get_attributes</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource + <parameter>result_entry_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_get_attributes</function> retourne un tableau multi-dimensionel + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_attributes</function> sert &agrave; simplifier la lecture + des attributs et des valeurs d'une entr&eacute;e dans un r&eacute;sultat. + Le r&eacute;sultat est un tableau multi-dimensionnel, avec les attributs + en cl&eacute;, et les valeurs des attributs en valeurs. + </para> + <para> + Une fois que vous avez rep&eacute;r&eacute; une entr&eacute; dans un + dossier, vous pouvez lire les informations de cette entr&eacute;e avec + cette fonction. Vous pouvez utiliser cette fonction pour cr&eacute;er une + application qui se d&eacute;place dans les dossiers, sans en conna&icirc;tre + la structure au pr&eacute;alable. Dans de nombreux cas, vous ne chercherez + qu'un attribut particulier (le email, par exemple) et vous ne vous + int&eacute;resserez pas aux autres valeurs. + </para> + <para> + <example> + <title>Affichage de la liste des attributs d'une entr&eacute;e</title> + <programlisting role="php"> +&lt;?php +// $ds est l'identifiant de lien pour ce dossier +// $sr est un r&eacute;sultat de recherche valide, obtenu lors d'une recherche +// pr&eacute;c&eacute;dente + $entry = ldap_first_entry($ds, $sr); + $attrs = ldap_get_attributes($ds, $entry); + echo $attrs["count"]." Attributs dans cette entr&eacute;e:&lt;p>"; + for ($i=0; $i<$attrs["compte"]; $i++) + echo $attrs[$i]."&lt;br&gt;"; +?&gt; + </programlisting> + </example> + </para> + <para> + Voir aussi + <function>ldap_first_attribute</function> et + <function>ldap_next_attribute</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-dn"> + <refnamediv> + <refname>ldap_get_dn</refname> + <refpurpose>Retourne un ND d'une entr&eacute;e d'un r&eacute;sultat.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ldap_get_dn</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_get_dn</function> retourne le DN de l'entr&eacute;e + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_dn</function> sert &agrave; obtenir le ND d'une + entr&eacute;e d'un r&eacute;sultat. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-entries"> + <refnamediv> + <refname>ldap_get_entries</refname> + <refpurpose>Retourne toutes les entr&eacute;es.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ldap_get_entries</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_get_entries</function> retourne un tableau multi-dimensionnel + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_entries</function> sert &agrave; simplifier la lecture + d'un r&eacute;sultat &agrave; plusieurs entr&eacute;es. Toutes les + informations sont retourn&eacute;es sous la forme d'un tableau + multi-dimensionnel. La structure de ce tableau est la suivante : + </para> + <para> + Les attributs servent d'index et sont mis en minuscules (les attributs sont + insensibles &agrave; la casse sur les serveurs, mais peuvent ne pas + l'&ecirc;tre quand ils sont utilis&eacute;s comme index) + <informalexample> + <literallayout> +r&eacute;sultat ["compte"] = nombre d'entr&eacute;es du r&eacute;sultat +r&eacute;sultat [0] : correspond aux d&eacute;tails de la premi&egrave;re entr&eacute;e : +r&eacute;sultat [i]["nd"] = ND de la i-i&egrave;me entr&eacute;e +r&eacute;sultat [i][" compte "] = nombre d'attributs de la i-i&egrave;me entr&eacute;e +r&eacute;sultat [i][j] = j-i&egrave;me attribut de la i-i&egrave;me entr&eacute;e +r&eacute;sultat [i]["attribut"]["count"] = nombre de valeur pour l'attribut +r&eacute;sultat [i]["attribut"][j] = j-i&egrave;me valeur de l'attribut + </literallayout> + </informalexample> + </para> + <para> + Voir aussi + <function>ldap_first_entry</function> et + <function>ldap_next_entry</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-option"> + <refnamediv> + <refname>ldap_get_option</refname> + <refpurpose>Lit la valeur courante d'une option</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>ldap_get_option</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>int <parameter>option</parameter></paramdef> + <paramdef>mixed <parameter>retval</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_get_option</function> remplace la valeur courante de + l'option <parameter>option</parameter> par <parameter>retval</parameter>, + et retourne <literal>TRUE</literal> en cas de succ&egrave;s, <literal>FALSE</literal> sinon. + </para> + <para> + Le param&egrave;tre <parameter>option</parameter> peut prendre l'une des valeurs : + LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, + LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, + LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, + LDAP_OPT_MATCHED_DN. Elles sont d&eacute;crites dans + <ulink url="&url.ldap.openldap-c-api;">draft-ietf-ldapext-ldap-c-api-xx.txt</ulink> + </para> + <para> + <function>ldap_get_option</function> n'est disponible que si vous utilisez + OpenLDAP 2.x.x ou Netscape Directory SDK x.x. Elle a &eacute;t&eacute; ajout&eacute;e dans + PHP 4.0.4. + </para> + <para> + <example> + <title>V&eacute;rification de la version du protocole</title> + <programlisting role="php"> &lt;?php // $ds est un identifiant valide d'annuaire -if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) + if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) echo "La version du protocole est $version"; -else + else echo "Impossible de lire la version du protocole"; ?&gt; - </programlisting> - </example> - </para> - <para> - Voir aussi <function>ldap_set_option</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-values"> - <refnamediv> - <refname>ldap_get_values</refname> - <refpurpose>Retourne toutes les entr&eacute;es d'un r&eacute;sultat.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ldap_get_values</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> - <paramdef>string <parameter>attribute</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_get_option</function> retourne un tableau de valeurs en - cas de succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_get_values</function> sert &agrave; lire toutes les valeurs - d'un attribut dans une entr&eacute;e. L'entr&eacute;e est - r&eacute;f&eacute;renc&eacute;e par - <parameter>result_entry_identifier</parameter>. Le nombre de valeurs - peut &ecirc;tre trouv&eacute; &agrave; l'index "count" dans le r&eacute;sultat. - Les valeurs sont accessibles par un index entier, qui commence &agrave; 0. - </para> - <para> - <function>ldap_get_values</function> n&eacute;cessite un pointeur de - r&eacute;sultat <parameter>result_entry_identifier</parameter>, ce qui - implique qu'il ait &eacute;t&eacute; pr&eacute;c&eacute;d&eacute; d'une - recherche sur le serveur, et de l'obtention d'une entr&eacute;e. - </para> - <para> - Votre application pourra utiliser des noms d'attributs en dur dans le code, ou - bien, utiliser la fonction <function>ldap_get_attributes</function> pour y - acc&eacute;der dynamiquement. - </para> - <para> - LDAP autorise plus d'une entr&eacute;e par attribut, ce qui permet, - par exemple, d'&eacute;tiqueter tous les adresses email d'un utilisateur - avec l'attribut "mail" + </programlisting> + </example> + </para> + <para> + Voir aussi + <function>ldap_set_option</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-values"> + <refnamediv> + <refname>ldap_get_values</refname> + <refpurpose>Retourne toutes les entr&eacute;es d'un r&eacute;sultat.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ldap_get_values</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> + <paramdef>string <parameter>attribute</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_get_option</function> retourne un tableau de valeurs en + cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_values</function> sert &agrave; lire toutes les valeurs + d'un attribut dans une entr&eacute;e. L'entr&eacute;e est + r&eacute;f&eacute;renc&eacute;e par + <parameter>result_entry_identifier</parameter>. Le nombre de valeurs + peut &ecirc;tre trouv&eacute; &agrave; l'index "count" dans le r&eacute;sultat. + Les valeurs sont accessibles par un index entier, qui commence &agrave; 0. + </para> + <para> + <function>ldap_get_values</function> n&eacute;cessite un pointeur de + r&eacute;sultat <parameter>result_entry_identifier</parameter>, ce qui + implique qu'il ait &eacute;t&eacute; pr&eacute;c&eacute;d&eacute; d'une + recherche sur le serveur, et de l'obtention d'une entr&eacute;e. + </para> + <para> + Votre application pourra utiliser des noms d'attributs en dur dans le code, ou + bien, utiliser la fonction <function>ldap_get_attributes</function> pour y + acc&eacute;der dynamiquement. + </para> + <para> + LDAP autorise plus d'une entr&eacute;e par attribut, ce qui permet, + par exemple, d'&eacute;tiqueter tous les adresses email d'un utilisateur + avec l'attribut "mail" <informalexample> <literallayout> return_value["count"] = nombre de valeurs de l'attribut @@ -973,448 +989,488 @@ return_value[i] = n-i&egrave;me valeur de attribut </literallayout> </informalexample> - <example> - <title>Liste toutes les valeurs avec l'attribut "mail" </title> - <programlisting role="php"> + <example> + <title>Liste toutes les valeurs avec l'attribut "mail" </title> + <programlisting role="php"> &lt;?php // $ds est l'identifiant de lien pour ce dossier // $sr est un r&eacute;sultat de recherche valide, obtenu lors d'une recherche // pr&eacute;c&eacute;dente // $entry est un identifiant valide d'entr&eacute;e -$values = ldap_get_values($ds, $entry,"mail"); -echo $values["count"]." Adresse email dans ce r&eacute;sultat.&lt;p>"; -for ($i=0; $i &lt; $values["count"]; $i++) - echo $values[$i]."&lt;br>"; + $values = ldap_get_values($ds, $entry,"mail"); + echo $values["count"]." Adresse email dans ce r&eacute;sultat.&lt;p>"; + for ($i=0; $i &lt; $values["count"]; $i++) + echo $values[$i]."&lt;br&gt;"; ?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-values-len"> - <refnamediv> - <refname>ldap_get_values_len</refname> - <refpurpose> - Retourne toutes les valeurs binaires &agrave; partir d'un identifiant - de r&eacute;sultat. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ldap_get_values_len</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> - <paramdef>string <parameter>attribute</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_get_values_len</function> retourne un tableau de valeurs - pour l'attribut, ou bien &false; en cas d'erreur. - </para> - <para> - <function>ldap_get_values_len</function> sert &agrave; lire toutes les - valeurs d'un attribut d'une entr&eacute;e dans un r&eacute;sultat. - L'entr&eacute;e est sp&eacute;cifi&eacute;e par - <parameter>result_entry_identifier</parameter>. Le nombre de valeurs - trouv&eacute;es peut &ecirc;tre retrouv&eacute; en indexant "count" dans - le tableau r&eacute;sultat. On peut acc&eacute;der aux valeurs individuelles - avec un index num&eacute;rique, commencant &agrave; 0. - </para> - <para> - <function>ldap_get_values_len</function> est utilis&eacute;e exactement - comme <function>ldap_get_values</function> mais elle g&egrave;re les - donn&eacute;es binaires, et non pas les cha&icirc;nes. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-list"> - <refnamediv> - <refname>ldap_list</refname> - <refpurpose>Recherche dans un seul niveau.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ldap_list</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>base_dn</parameter></paramdef> - <paramdef>string <parameter>filter</parameter></paramdef> - <paramdef>array - <parameter><optional>attributes</optional></parameter></paramdef> - <paramdef>int - <parameter><optional>attrsonly</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>sizelimit</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>timelimit</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>deref</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_list</function> retourne &true; en cas de succ&egrave;s, - et &false; sinon. - </para> - <para> - <function>ldap_list</function> effecture une recherche avec le filtre7 - donn&eacute;e, et limit&eacute; un dossier. - </para> - <para> - LDAP_SCOPE_ONELEVEL indique que la recherche ne doit s'&eacute;tendre que - dans le dossier imm&eacute;diatement sous le nd <parameter>base_dn</parameter>. - (Equivalent &agrave; taper "ls" et obtenir la liste des fichiers et dossiers du - dossier courant). - </para> - <para> - Cette appel prend un quatri&egrave;me argument optionnel : un tableau contenant - les attributs recherch&eacute;s. Reportez vous &agrave; - <function>ldap_search</function> pour plus de d&eacute;tails. - <example> - <title>Affiche une liste d'unit&eacute;s organisationnelle</title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-values-len"> + <refnamediv> + <refname>ldap_get_values_len</refname> + <refpurpose> + Retourne toutes les valeurs binaires &agrave; partir d'un identifiant + de r&eacute;sultat. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ldap_get_values_len</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> + <paramdef>string <parameter>attribute</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_get_values_len</function> retourne un tableau de valeurs + pour l'attribut, ou bien <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <function>ldap_get_values_len</function> sert &agrave; lire toutes les + valeurs d'un attribut d'une entr&eacute;e dans un r&eacute;sultat. + L'entr&eacute;e est sp&eacute;cifi&eacute;e par + <parameter>result_entry_identifier</parameter>. Le nombre de valeurs + trouv&eacute;es peut &ecirc;tre retrouv&eacute; en indexant "count" dans + le tableau r&eacute;sultat. On peut acc&eacute;der aux valeurs individuelles + avec un index num&eacute;rique, commen&ccedil;ant &agrave; 0. + </para> + <para> + <function>ldap_get_values_len</function> est utilis&eacute;e exactement + comme <function>ldap_get_values</function> mais elle g&egrave;re les + donn&eacute;es binaires, et non pas les cha&icirc;nes. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-list"> + <refnamediv> + <refname>ldap_list</refname> + <refpurpose>Recherche dans un seul niveau.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>ldap_list</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>base_dn</parameter></paramdef> + <paramdef>string <parameter>filter</parameter></paramdef> + <paramdef>array + <parameter><optional>attributes</optional></parameter></paramdef> + <paramdef>int + <parameter><optional>attrsonly</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>sizelimit</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>timelimit</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>deref</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_list</function> retourne <literal>TRUE</literal> en cas de succ&egrave;s, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_list</function> effecture une recherche avec le filtre7 + donn&eacute;e, et limit&eacute; un dossier. + </para> + <para> + LDAP_SCOPE_ONELEVEL indique que la recherche ne doit s'&eacute;tendre que + dans le dossier imm&eacute;diatement sous le nd <parameter>base_dn</parameter>. + (Equivalent &agrave; taper "ls" et obtenir la liste des fichiers et dossiers du + dossier courant). + </para> + <para> + Cette appel prend un quatri&egrave;me argument optionnel : un tableau contenant + les attributs recherch&eacute;s. Reportez-vous &agrave; + <function>ldap_search</function> pour plus de d&eacute;tails. + <example> + <title>Affiche une liste d'unit&eacute;s organisationnelle</title> + <programlisting role="php"> &lt;?php // $ds est un identifiant de connexion valide. -$basedn = "o=Ma Soci&eacute;t&eacute;, c=Fr"; -$justthese = array("ou"); -$sr=ldap_list($ds, $basedn, "ou=*", $justthese); -$info = ldap_get_entries($ds, $sr); -for ($i=0; $i&lt;$info["count"]; $i++) + $basedn = "o=Ma Soci&eacute;t&eacute;, c=Fr"; + $justthese = array("ou"); + $sr=ldap_list($ds, $basedn, "ou=*", $justthese); + $info = ldap_get_entries($ds, $sr); + for ($i=0; $i&lt;$info["count"]; $i++) echo $info[$i]["ou"][0] ; ?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-modify"> - <refnamediv> - <refname>ldap_modify</refname> - <refpurpose>Modifie une entr&eacute;e LDAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_modify</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>dn</parameter></paramdef> - <paramdef>array <parameter>entry</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_modify</function> retourne &true; en cas de succ&egrave;s, - et &false; sinon. - </para> - <para> - <function>ldap_modify</function> sert &agrave; modifier les entr&eacute;es - existantes dans un dossier LDAP. La structure de l'entr&eacute;e est la - m&ecirc;me que d&eacute;crite dans <function>ldap_add</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-mod-add"> - <refnamediv> - <refname>ldap_mod_add</refname> - <refpurpose>Ajoute un attribut</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>ldap_mod_add</function></funcdef> - <paramdef>int <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>dn</parameter></paramdef> - <paramdef>array <parameter>entry</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_mod_add</function> retourne &true; en cas de - succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_mod_add</function> ajoute les attributs <parameter>entry</parameter> - &agrave; l'entr&eacute;e <parameter>dn</parameter>. - La modification s'applique au niveau local (par opposition - au niveau objet). Les ajouts au niveau de l'objet sont pris - en charge par <function>ldap_add</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-mod-del"> - <refnamediv> - <refname>ldap_mod_del</refname> - <refpurpose>Efface un attribut</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_mod_del</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>dn</parameter></paramdef> - <paramdef>array <parameter>entry</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_mod_del</function> retourne &true; en cas de - succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_mod_del</function> efface les attributs <parameter>entry</parameter> - &agrave; l'entr&eacute;e <parameter>dn</parameter>. - La modification s'applique au niveau local (par opposition - au niveau objet). Les ajouts au niveau de l'objet sont pris - en charge par <function>ldap_delete</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-mod-replace"> - <refnamediv> - <refname>ldap_mod_replace</refname> - <refpurpose>Remplace un attribut</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_mod_replace</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>dn</parameter></paramdef> - <paramdef>array <parameter>entry</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_mod_replace</function> retourne &true; en cas de - succ&egrave;s, et &false; sinon.</para> - <para> - <function>ldap_mod_replace</function> remplace les attributs - <parameter>entry</parameter> &agrave; l'entr&eacute;e <parameter>dn</parameter>. - La modification s'applique au niveau local (par opposition - au niveau objet). Les ajouts au niveau de l'objet sont pris - en charge par <function>ldap_modify</function> . - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-next-attribute"> - <refnamediv> - <refname>ldap_next_attribute</refname> - <refpurpose>Lit l'attribut suivant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ldap_next_attribute</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> - <paramdef>int <parameter>ber_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_next_attribute</function> retourne l'attribut suivant en - cas de succ&egrave;s, et sinon, une erreur. - </para> - <para> - <function>ldap_next_attribute</function> sert &agrave; lire tous les attributs - d'une entr&eacute;e. Le pointeur interne est g&eacute;r&eacute; par - <parameter>ber_identifier</parameter>. Il est pass&eacute; par - r&eacute;f&eacute;rence &agrave; la fonction. Le premier appel &agrave; - <function>ldap_next_attribute</function> est fait avec le - <parameter>result_entry_identifier</parameter> retourn&eacute; par - <function>ldap_first_attribute</function>. - </para> - <para> - Voir aussi <function>ldap_get_attributes</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-next-entry"> - <refnamediv> - <refname>ldap_next_entry</refname> - <refpurpose>Lit l'attribut suivant.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_next_entry</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_next_entry</function> retourne l'identifiant de - l'entr&eacute;e suivante, dans le r&eacute;sultat qui a &eacute;t&eacute; - initialis&eacute; par <function>ldap_first_entry</function>. Si il n'y a - plus d'entr&eacute;e, retourne &false;. - </para> - <para> - <function>ldap_next_entry</function> sert &agrave; retrouver toutes les - entr&eacute;es qui sont stock&eacute;es dans un r&eacute;sultat. Les - appels successifs &agrave; <function>ldap_next_entry</function> retourneront - les entr&eacute;es une &agrave; une. Le premier appel &agrave; - <function>ldap_next_entry</function> est fait apr&egrave;s un appel &agrave; - <function>ldap_first_entry</function> avec - <parameter>result_entry_identifier</parameter> retourn&eacute; par - <function>ldap_first_entry</function>. - </para> - <para> - Voir aussi <function>ldap_get_entries</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-read"> - <refnamediv> - <refname>ldap_read</refname> - <refpurpose>Lit une entr&eacute;e.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>ldap_read</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>base_dn</parameter></paramdef> - <paramdef>string <parameter>filter</parameter></paramdef> - <paramdef>array - <parameter><optional>attributes</optional></parameter></paramdef> - <paramdef>int - <parameter><optional>attrsonly</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>sizelimit</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>timelimit</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>deref</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_read</function> retourne un identifiant de r&eacute;sultat - en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_read</function> effectue une recherche avec le filter - <parameter>filter</parameter> dans le dossier base_dn et avec l'option - LDAP_SCOPE_BASE (recherche limit&eacute;e au dossier, ou r&eacute;cursive). - Cela revient &agrave; lire une entr&eacute;e dans un dossier. - </para> - <para> - Les filtres vides ne sont pas autoris&eacute;s. Si vous souhaitez lire - toutes les informations d'un dossier, utiliser le filtre suivant : - "objectClass=*". Si vous savez quel est le type des entr&eacute;es dans - le dossier que vous fouillez, vous pouvez aussi adapter ce filter de la - fa&ccedil;on suivante "objectClass=inetOrgPerson". - </para> - <para> - <function>ldap_read</function> dispose de 5 arguments optionnels. - Reportez vous &agrave; <function>ldap_search</function>. - </para> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-modify"> + <refnamediv> + <refname>ldap_modify</refname> + <refpurpose>Modifie une entr&eacute;e LDAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_modify</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>array <parameter>entry</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_modify</function> retourne <literal>TRUE</literal> en cas de succ&egrave;s, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_modify</function> sert &agrave; modifier les entr&eacute;es + existantes dans un dossier LDAP. La structure de l'entr&eacute;e est la + m&ecirc;me que d&eacute;crite dans <function>ldap_add</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-mod-add"> + <refnamediv> + <refname>ldap_mod_add</refname> + <refpurpose>Ajoute un attribut</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>resource <function>ldap_mod_add</function></funcdef> + <paramdef>int <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>array <parameter>entry</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_mod_add</function> retourne <literal>TRUE</literal> en cas de + succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_mod_add</function> ajoute les attributs <parameter>entry</parameter> + &agrave; l'entr&eacute;e <parameter>dn</parameter>. + La modification s'applique au niveau local (par opposition + au niveau objet). Les ajouts au niveau de l'objet sont pris + en charge par <function>ldap_add</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-mod-del"> + <refnamediv> + <refname>ldap_mod_del</refname> + <refpurpose>Efface un attribut</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_mod_del</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>array <parameter>entry</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_mod_del</function> retourne <literal>TRUE</literal> en cas de + succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_mod_del</function> efface les attributs <parameter>entry</parameter> + &agrave; l'entr&eacute;e <parameter>dn</parameter>. + La modification s'applique au niveau local (par opposition + au niveau objet). Les ajouts au niveau de l'objet sont pris + en charge par <function>ldap_delete</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-mod-replace"> + <refnamediv> + <refname>ldap_mod_replace</refname> + <refpurpose>Remplace un attribut</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_mod_replace</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>array <parameter>entry</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_mod_replace</function> retourne <literal>TRUE</literal> en cas de + succ&egrave;s, et <literal>FALSE</literal> sinon.</para> + <para> + <function>ldap_mod_replace</function> remplace les attributs + <parameter>entry</parameter> &agrave; l'entr&eacute;e <parameter>dn</parameter>. + La modification s'applique au niveau local (par opposition + au niveau objet). Les ajouts au niveau de l'objet sont pris + en charge par <function>ldap_modify</function> . + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-next-attribute"> + <refnamediv> + <refname>ldap_next_attribute</refname> + <refpurpose>Lit l'attribut suivant.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ldap_next_attribute</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> + <paramdef>int <parameter>ber_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_next_attribute</function> retourne l'attribut suivant en + cas de succ&egrave;s, et sinon, une erreur. + </para> + <para> + <function>ldap_next_attribute</function> sert &agrave; lire tous les attributs + d'une entr&eacute;e. Le pointeur interne est g&eacute;r&eacute; par + <parameter>ber_identifier</parameter>. Il est pass&eacute; par + r&eacute;f&eacute;rence &agrave; la fonction. Le premier appel &agrave; + <function>ldap_next_attribute</function> est fait avec le + <parameter>result_entry_identifier</parameter> retourn&eacute; par + <function>ldap_first_attribute</function>. + </para> + <para> + Voir aussi + <function>ldap_get_attributes</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-next-entry"> + <refnamediv> + <refname>ldap_next_entry</refname> + <refpurpose>Lit l'attribut suivant.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_next_entry</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>resource <parameter>result_entry_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_next_entry</function> retourne l'identifiant de + l'entr&eacute;e suivante, dans le r&eacute;sultat qui a &eacute;t&eacute; + initialis&eacute; par <function>ldap_first_entry</function>. S'il n'y a + plus d'entr&eacute;e, retourne <literal>FALSE</literal>. + </para> + <para> + <function>ldap_next_entry</function> sert &agrave; retrouver toutes les + entr&eacute;es qui sont stock&eacute;es dans un r&eacute;sultat. Les + appels successifs &agrave; <function>ldap_next_entry</function> retourneront + les entr&eacute;es une &agrave; une. Le premier appel &agrave; + <function>ldap_next_entry</function> est fait apr&egrave;s un appel &agrave; + <function>ldap_first_entry</function> avec + <parameter>result_entry_identifier</parameter> retourn&eacute; par + <function>ldap_first_entry</function>. + </para> + <para> + Voir aussi + <function>ldap_get_entries</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-read"> + <refnamediv> + <refname>ldap_read</refname> + <refpurpose>Lit une entr&eacute;e.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>resource <function>ldap_read</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>base_dn</parameter></paramdef> + <paramdef>string <parameter>filter</parameter></paramdef> + <paramdef>array + <parameter><optional>attributes</optional></parameter></paramdef> + <paramdef>int + <parameter><optional>attrsonly</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>sizelimit</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>timelimit</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>deref</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_read</function> retourne un identifiant de r&eacute;sultat + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_read</function> effectue une recherche avec le filter + <parameter>filter</parameter> dans le dossier base_dn et avec l'option + LDAP_SCOPE_BASE (recherche limit&eacute;e au dossier, ou r&eacute;cursive). + Cela revient &agrave; lire une entr&eacute;e dans un dossier. + </para> + <para> + Les filtres vides ne sont pas autoris&eacute;s. Si vous souhaitez lire + toutes les informations d'un dossier, utiliser le filtre suivant : + "objectClass=*". Si vous savez quel est le type des entr&eacute;es dans + le dossier que vous fouillez, vous pouvez aussi adapter ce filter de la + fa&ccedil;on suivante "objectClass=inetOrgPerson". + </para> + <para> + <function>ldap_read</function> dispose de 5 arguments optionnels. + Reportez-vous &agrave; <function>ldap_search</function>. + </para> <note> - <para> - Ces param&egrave;tres optionnels ont &eacute;t&eacute; ajout&eacute;s &agrave; partir de la version 4.0.2: - <parameter>attrsonly</parameter>, - <parameter>sizelimit</parameter>, - <parameter>timelimit</parameter>, - <parameter>deref</parameter>. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.ldap-search"> - <refnamediv> - <refname>ldap_search</refname> - <refpurpose>Recherche dans tout l'arbre LDAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>resource <function>ldap_search</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>string <parameter>base_dn</parameter></paramdef> - <paramdef>string <parameter>filter</parameter></paramdef> - <paramdef>array - <parameter><optional>attributes</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>attrsonly</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>sizelimit</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>timelimit</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>deref</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_search</function> retourne un identifiant de r&eacute;sultat - en cas de succ&egrave;s, et &false; sinon. - </para> - <para> - <function>ldap_search</function> effectue une recherche avec le filtre - <parameter>filter</parameter> dans le dossier <parameter>base_dn</parameter>, - et avec l'option de r&eacute;cursivit&eacute; LDAP_SCOPE_SUBTREE. Cela revient - &agrave; rechercher dans toute la base sous le dossier - <parameter>base_dn</parameter>. - </para> - <para> - Le quatri&egrave;me param&egrave;tre est optionnel, et peut &ecirc;tre - ajout&eacute; pour restreindre les attributs et les valeurs retourn&eacute;es. - Il est beaucoup plus efficace que la m&eacute;thode qui consiste &agrave; lire - tous les attributs et leur valeurs associ&eacute;es. L'utilisation - de ce quatri&egrave;me param&egrave;tre est encourag&eacute;. - </para> - <para> - Le quatri&egrave;me param&egrave;tre est un tableau de cha&icirc;nes, qui - contient les attributs d&eacute;sir&eacute;s, array("mail","sn","cn"). Notez - que le nd <parameter>base_dn</parameter> est toujours retourn&eacute;, - quelques que soient les attributs demand&eacute;s. - </para> <para> - Notez que certains serveurs sont configur&eacute;s pour limiter le nombre - de r&eacute;sultats. Si cela arrive, le serveur indiquera qu'il n'a - transf&eacute;r&eacute; qu'une partie du r&eacute;sultat. Cela arrivera - aussi si le sixi&egrave;me param&egrave;tre <parameter>sizelimit</parameter> a &eacute;t&eacute; - utilis&eacute; pour limiter le nombre de lignes lues. + Ces param&egrave;tres optionnels ont &eacute;t&eacute; ajout&eacute;s &agrave; partir de la version 4.0.2: + <parameter>attrsonly</parameter>, + <parameter>sizelimit</parameter>, + <parameter>timelimit</parameter>, + <parameter>deref</parameter>. </para> + </note> + </refsect1> + </refentry> + <refentry id="function.ldap-rename"> + <refnamediv> + <refname>ldap_rename</refname> + <refpurpose>Modifie le nom d'une entr&eacute;e</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>ldap_rename</function></funcdef> + <paramdef>int <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>dn</parameter></paramdef> + <paramdef>string <parameter>newrdn</parameter></paramdef> + <paramdef>string <parameter>newparent</parameter></paramdef> + <paramdef>boolean <parameter>deleteoldrdn</parameter></paramdef> + </funcprototype> + </funcsynopsis> <para> - Le cinqui&egrave;me param&egrave;tre <parameter>attrsonly</parameter> - doit &ecirc;tre mis &agrave; 1 si seuls les types d'attributs sont - demand&eacute;s. S'il est mis &agrave; 0, les types des attributs et leur - valeur seront lue (comportement par d&eacute;faut). - </para> - <para> - Le sixi&egrave;me param&egrave;tre <parameter>sizelimit</parameter> permet de - limiter le nombre de lignes lues. 0 indique qu'il n'y a pas - de limite. NOTE : ce param&egrave;tre ne peut PAS annuler la configuration - du serveur. Il peut seulement la r&eacute;duire. - </para> - <para> - Le septi&egrave;me param&egrave;tre <parameter>timelimit</parameter> fixe la dur&eacute;e - de la recherche en seconde. 0 indique qu'il n'y a pas - de limite. NOTE : ce param&egrave;tre ne peut PAS annuler la configuration - du serveur. Il peut seulement la r&eacute;duire. - </para> - <para> - Le huiti&egrave;me param&egrave;tre <parameter>deref</parameter> indique - le comportement &agrave; suivre avec les alias durant une recherche. - Sa valeur peut &ecirc;tre l'une de celles-ci : - <itemizedlist> + <function>ldap_rename</function> renomme (ou d&eacute;place) l'entr&eacute;e + <parameter>dn</parameter>. Le nouveau RDN est sp&eacute;cifi&eacute; par + <parameter>newrdn</parameter> et le nouveau p&egrave;re est sp&eacute;cifi&eacute; par + <parameter>newparent</parameter>. Si le param&egrave;tre + <parameter>deleteoldrdn</parameter> est <literal>TRUE</literal>, + l'ancienne valeur sera supprim&eacute;e et la nouvelle valeur sera + retenue. <function>ldap_rename</function> retourne <literal>TRUE</literal> + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_rename</function> ne fonctionne qu'avec LDAPv3. + Pour les anciennes versions, utilisez plut&ocirc;t la fonction + <function>ldap_set_option</function>. + </para> + <para> + <function>ldap_rename</function> n'est disponible qu'avec les + serveurs OpenLDAP 2.x.x ou Netscape Directory SDK x.x, et a &eacute;t&eacute; ajout&eacute;e + en PHP 4.0.5.</para> + </refsect1> + </refentry> + <refentry id="function.ldap-search"> + <refnamediv> + <refname>ldap_search</refname> + <refpurpose>Recherche dans tout l'arbre LDAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>resource <function>ldap_search</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>string <parameter>base_dn</parameter></paramdef> + <paramdef>string <parameter>filter</parameter></paramdef> + <paramdef>array + <parameter><optional>attributes</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>attrsonly</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>sizelimit</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>timelimit</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>deref</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_search</function> retourne un identifiant de r&eacute;sultat + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_search</function> effectue une recherche avec le filtre + <parameter>filter</parameter> dans le dossier <parameter>base_dn</parameter>, + et avec l'option de r&eacute;cursivit&eacute; LDAP_SCOPE_SUBTREE. Cela revient + &agrave; rechercher dans toute la base sous le dossier + <parameter>base_dn</parameter>. + </para> + <para> + Le quatri&egrave;me param&egrave;tre est optionnel, et peut &ecirc;tre + ajout&eacute; pour restreindre les attributs et les valeurs retourn&eacute;es. + Il est beaucoup plus efficace que la m&eacute;thode qui consiste &agrave; lire + tous les attributs et leur valeurs associ&eacute;es. L'utilisation + de ce quatri&egrave;me param&egrave;tre est encourag&eacute;. + </para> + <para> + Le quatri&egrave;me param&egrave;tre est un tableau de cha&icirc;nes, qui + contient les attributs d&eacute;sir&eacute;s, array("mail","sn","cn"). Notez + que le nd <parameter>base_dn</parameter> est toujours retourn&eacute;, + quelques que soient les attributs demand&eacute;s. + </para> + <para> + Notez que certains serveurs sont configur&eacute;s pour limiter le nombre + de r&eacute;sultats. Si cela arrive, le serveur indiquera qu'il n'a + transf&eacute;r&eacute; qu'une partie du r&eacute;sultat. Cela arrivera + aussi si le sixi&egrave;me param&egrave;tre <parameter>sizelimit</parameter> a &eacute;t&eacute; + utilis&eacute; pour limiter le nombre de lignes lues. + </para> + <para> + Le cinqui&egrave;me param&egrave;tre <parameter>attrsonly</parameter> + doit &ecirc;tre mis &agrave; 1 si seuls les types d'attributs sont + demand&eacute;s. S'il est mis &agrave; 0, les types des attributs et leur + valeur seront lue (comportement par d&eacute;faut). + </para> + <para> + Le sixi&egrave;me param&egrave;tre <parameter>sizelimit</parameter> permet de + limiter le nombre de lignes lues. 0 indique qu'il n'y a pas + de limite. NOTE : ce param&egrave;tre ne peut PAS annuler la configuration + du serveur. Il peut seulement la r&eacute;duire. + </para> + <para> + Le septi&egrave;me param&egrave;tre <parameter>timelimit</parameter> fixe la dur&eacute;e + de la recherche en seconde. 0 indique qu'il n'y a pas + de limite. NOTE : ce param&egrave;tre ne peut PAS annuler la configuration + du serveur. Il peut seulement la r&eacute;duire. + </para> + <para> + Le huiti&egrave;me param&egrave;tre <parameter>deref</parameter> indique + le comportement &agrave; suivre avec les alias durant une recherche. + Sa valeur peut &ecirc;tre l'une de celles-ci : + <itemizedlist> <listitem> <simpara> LDAP_DEREF_NEVER - (par d&eacute;faut) les alias ne sont pas d&eacute;r&eacute;f&eacute;renc&eacute;s. @@ -1437,150 +1493,157 @@ LDAP_DEREF_ALWAYS - les alias sont toujours d&eacute;r&eacute;f&eacute;renc&eacute;s. </simpara> </listitem> - </itemizedlist> - </para> - <para> - Ces param&egrave;tres optionnels ont &eacute;t&eacute; ajout&eacute;s &agrave; partir de la version 4.0.2: - <parameter>attrsonly</parameter>, - <parameter>sizelimit</parameter>, - <parameter>timelimit</parameter>, - <parameter>deref</parameter>. - </para> - <para> - La cha&icirc;ne de filtre peut &ecirc;tre simple ou complexe. Elle utilise les op&eacute;rateurs - bool&eacute;ens au m&ecirc;me format que celui d&eacute;crit dans les documentations LDAP. - (Allez voir celle de <ulink url="&url.ldap.netscape;">Netscape Directory SDK</ulink> - pour plus d'informations sur les filtres). - </para> - <para> - L'exemple suivant r&eacute;cup&egrave;re toutes les unit&eacute;s organisationnelles, le nom, pr&eacute;nom et - email, dans la soci&eacute;t&eacute; "Ma Soci&eacute;t&eacute;" o&uacute; le nom et pr&eacute;nom contiennent la sous-cha&icirc;ne - $person. Cet exemple utilise un filtre bool&eacute;en pour indiquer au serveur qu'il doit - rechercher des informations dans plusieurs attributs. - <example> - <title>Recherche LDAP</title> - <programlisting role="php"> + </itemizedlist> + </para> + <para> + Ces param&egrave;tres optionnels ont &eacute;t&eacute; ajout&eacute;s &agrave; partir de la version 4.0.2: + <parameter>attrsonly</parameter>, + <parameter>sizelimit</parameter>, + <parameter>timelimit</parameter>, + <parameter>deref</parameter>. + </para> + <para> + La cha&icirc;ne de filtre peut &ecirc;tre simple ou complexe. Elle utilise les op&eacute;rateurs + bool&eacute;ens au m&ecirc;me format que celui d&eacute;crit dans les documentations LDAP. + (Allez voir celle de <ulink url="&url.ldap.netscape;">Netscape Directory SDK</ulink> + pour plus d'informations sur les filtres). + </para> + <para> + L'exemple suivant r&eacute;cup&egrave;re toutes les unit&eacute;s + organisationnelles, le nom, pr&eacute;nom et email, dans la + soci&eacute;t&eacute; "Ma Soci&eacute;t&eacute;" o&ugrave; + le nom et pr&eacute;nom contiennent la sous-cha&icirc;ne + $person. Cet exemple utilise un filtre bool&eacute;en pour + indiquer au serveur qu'il doit + rechercher des informations dans plusieurs attributs. + <example> + <title>Recherche LDAP</title> + <programlisting role="php"> &lt;?php // $ds est un identifiant valide de connexion &agrave; un serveur LDAP // $person est tout ou une partir d'un nom -$dn = "o=Ma Soci&eacute;t&eacute;, c=Fr"; -$filter="(|(sn=$person*)(givenname=$person*))"; -$justthese = array( "ou", "sn", "givenname", "mail"); -$sr=ldap_search($ds, $dn, $filter, $justthese); -$info = ldap_get_entries($ds, $sr); -print $info["count"]." Entr&eacute;es retourn&eacute;es.&lt;p>"; + $dn = "o=Ma Soci&eacute;t&eacute;, c=Fr"; + $filter="(|(sn=$person*)(givenname=$person*))"; + $justthese = array( "ou", "sn", "givenname", "mail"); + $sr=ldap_search($ds, $dn, $filter, $justthese); + $info = ldap_get_entries($ds, $sr); + print $info["count"]." Entr&eacute;es retourn&eacute;es.&lt;p>"; ?&gt; - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-set-option"> - <refnamediv> - <refname>ldap_set_option</refname> - <refpurpose>Modifie une option LDAP</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>boolean <function>ldap_set_option</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - <paramdef>int <parameter>option</parameter></paramdef> - <paramdef>mixed <parameter>newval</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_set_option</function> remplace la valeur de l'option - <parameter>option</parameter> par <parameter>newval</parameter>, et - retourn &true; en cas de succ&egrave;s, &false; sinon. - </para> - <para> - Le param&egrave;tre <parameter>option</parameter> peut prendre l'une des valeurs suivantes : - LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, - LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, - LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, - LDAP_OPT_MATCHED_DN, LDAP_OPT_SERVER_CONTROLS, LDAP_OPT_CLIENT_CONTROLS. - Pour une br&egrave;ve description, reportez vous au fichier - <ulink url="&url.ldap.openldap-c-api;">draft-ietf-ldapext-ldap-c-api-xx.txt</ulink>. - </para> - <para> - Les options LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, - LDAP_OPT_PROTOCOL_VERSION et LDAP_OPT_ERROR_NUMBER ont une valeur enti&egrave;re, - LDAP_OPT_REFERRALS et LDAP_OPT_RESTART sont des bool&eacute;ens, et - LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING et LDAP_OPT_MATCHED_DN - sont des cha&icirc;nes de caract&egrave;res. Le premier exemple illustre leur utilisation. - LDAP_OPT_SERVER_CONTROLS et LDAP_OPT_CLIENT_CONTROLS requiert une liste de - contr&ocirc;les, ce qui signifie que la valeur peut &ecirc;tre un tableau de contr&ocirc;les. - Un contr&ocirc;le est constitu&eacute; d'un <emphasis>oid</emphasis> identifiant le contr&ocirc;le, - d'une valeur <emphasis>value</emphasis> optionnelle, et d'un flag optionnel - de <emphasis>criticalit&eacute;</emphasis>. En PHP un contr&ocirc;le est un tableau - ayant la cl&eacute; <emphasis>oid</emphasis> et une valeur sous forme de cha&icirc;ne, - ainsi que deux &eacute;l&eacute;ments optionnels. Ces &eacute;l&eacute;ments ont pour cl&eacute; - <emphasis>value</emphasis>, sous forme de cha&icirc;ne, et une cl&eacute; - <emphasis>iscritical</emphasis> contenant un bool&eacute;en. - Par d&eacute;faut, <emphasis>iscritical</emphasis> vaut &false; - Voyez aussi l'exemple ci-dessous. - </para> - <para> - Cette fonction n'est disponible que lorsque vous utiliseez - OpenLDAP 2.x.x OU Netscape Directory SDK x.x. - Elle a &eacute;t&eacute; ajout&eacute;e dans PHP 4.0.4. - </para> - <para> - <example> - <title>Modification de la version du protocole</title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-set-option"> + <refnamediv> + <refname>ldap_set_option</refname> + <refpurpose>Modifie une option LDAP</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>ldap_set_option</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + <paramdef>int <parameter>option</parameter></paramdef> + <paramdef>mixed <parameter>newval</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_set_option</function> remplace la valeur de l'option + <parameter>option</parameter> par <parameter>newval</parameter>, et + retourn <literal>TRUE</literal> en cas de succ&egrave;s, <literal>FALSE</literal> sinon. + </para> + <para> + Le param&egrave;tre <parameter>option</parameter> peut prendre l'une des valeurs suivantes : + LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, + LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, + LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, + LDAP_OPT_MATCHED_DN, LDAP_OPT_SERVER_CONTROLS, LDAP_OPT_CLIENT_CONTROLS. + Pour une br&egrave;ve description, reportez-vous au fichier + <ulink url="&url.ldap.openldap-c-api;">draft-ietf-ldapext-ldap-c-api-xx.txt</ulink>. + </para> + <para> + Les options LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, + LDAP_OPT_PROTOCOL_VERSION et LDAP_OPT_ERROR_NUMBER ont une valeur enti&egrave;re, + LDAP_OPT_REFERRALS et LDAP_OPT_RESTART sont des bool&eacute;ens, et + LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING et LDAP_OPT_MATCHED_DN + sont des cha&icirc;nes de caract&egrave;res. Le premier exemple illustre leur utilisation. + LDAP_OPT_SERVER_CONTROLS et LDAP_OPT_CLIENT_CONTROLS requiert une liste de + contr&ocirc;les, ce qui signifie que la valeur peut &ecirc;tre un tableau de contr&ocirc;les. + Un contr&ocirc;le est constitu&eacute; d'un <emphasis>oid</emphasis> identifiant le contr&ocirc;le, + d'une valeur <emphasis>value</emphasis> optionnelle, et d'un flag optionnel + de <emphasis>criticalit&eacute;</emphasis>. En PHP un contr&ocirc;le est un tableau + ayant la cl&eacute; <emphasis>oid</emphasis> et une valeur sous forme de cha&icirc;ne, + ainsi que deux &eacute;l&eacute;ments optionnels. Ces &eacute;l&eacute;ments ont pour cl&eacute; + <emphasis>value</emphasis>, sous forme de cha&icirc;ne, et une cl&eacute; + <emphasis>iscritical</emphasis> contenant un bool&eacute;en. + Par d&eacute;faut, <emphasis>iscritical</emphasis> vaut <literal>FALSE</literal> + Voyez aussi l'exemple ci-dessous. + </para> + <para> + Cette fonction n'est disponible que lorsque vous utilisez + OpenLDAP 2.x.x OU Netscape Directory SDK x.x. + Elle a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.4. + </para> + <para> + <example> + <title>Modification de la version du protocole</title> + <programlisting role="php"> &lt;?php // $ds est un identifiant valide d'annuaire -if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) + if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) echo "Utilisons LDAPv3"; -else + else echo "Impossible de changer le protocole en version 3"; ?&gt; - </programlisting> - </example> - <example> - <title>Modifier les contr&ocirc;les du serveur LDAP</title> - <programlisting role="php"> + </programlisting> + </example> + <example> + <title>Modifier les contr&ocirc;les du serveur LDAP</title> + <programlisting role="php"> +&lt;?php // $ds est un lien valide LDAP // control n'est pas une valeur -$ctrl1 = array("oid" =&gt; "1.2.752.58.10.1", "iscritical" =&gt; TRUE); -// iscritical vaut par d&eacute;faut FALSE $ctrl2 = array("oid" =&gt; "1.2.752.58.1.10", "value" =&gt; "magic"); + $ctrl1 = array("oid" =&gt; "1.2.752.58.10.1", "iscritical" =&gt; TRUE); +// iscritical vaut par d&eacute;faut <literal>FALSE</literal> + $ctrl2 = array("oid" =&gt; "1.2.752.58.1.10", "value" =&gt; "magic"); // modification des deux contr&ocirc;les -if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) + if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) echo "Impossible de se connecter au serveur"; - </programlisting> - </example> - </para> - <para> - Voir aussi <function>ldap_get_option</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-unbind"> - <refnamediv> - <refname>ldap_unbind</refname> - <refpurpose>Termine la liaison avec un serveur LDAP.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ldap_unbind</function></funcdef> - <paramdef>resource <parameter>link_identifier</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ldap_unbind</function> retourne &true; en cas de succ&egrave;s, - et &false; sinon. - </para> - <para> - <function>ldap_unbind</function> termine la liaison avec le serveur LDAP. - </para> - </refsect1> - </refentry> - </reference> +?&gt; + </programlisting> + </example> + </para> + <para> + Voir aussi + <function>ldap_get_option</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-unbind"> + <refnamediv> + <refname>ldap_unbind</refname> + <refpurpose>Termine la liaison avec un serveur LDAP.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ldap_unbind</function></funcdef> + <paramdef>resource <parameter>link_identifier</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ldap_unbind</function> retourne <literal>TRUE</literal> + en cas de succ&egrave;s, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_unbind</function> termine la liaison avec le serveur LDAP. + </para> + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml
« previous php.doc (#969336613) next »