cvs: phpdoc /fr/functions ldap.xml
| From: | Damien Seguy | 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 à LDAP</title> - <para> - LDAP est l'acronyme de Lightweight Directory Access Protocol, c'est à - dire Protocole Léger d'Accès aux Dossiers. C'est un protocole - utilisé pour accéder à des "serveurs de dossiers", des - serveurs qui gèrent les informations de manière - hiérarchique. - </para> - <para> - Le concept est similaire à 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és à des pays. Les - niveaux inférieurs de la structure contiennent des entrées - de sociétés, d'organisations ou de lieux tandis que les - niveaux encore inférieurs sont des gens, voire des équipements - ou des documents. - </para> - <para> - Pour accéder à 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 à LDAP</title> + <para> + LDAP est l'acronyme de Lightweight Directory Access Protocol, c'est à + dire Protocole Léger d'Accès aux Dossiers. C'est un protocole + utilisé pour accéder à des "serveurs de dossiers", des + serveurs qui gèrent les informations de manière + hiérarchique. + </para> + <para> + Le concept est similaire à 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és à des pays. Les + niveaux inférieurs de la structure contiennent des entrées + de sociétés, d'organisations ou de lieux tandis que les + niveaux encore inférieurs sont des gens, voire des équipements + ou des documents. + </para> + <para> + Pour accéder à 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éférence, et la - séquence est lue de gauche à droite. - </para> - <para> - Avec tous les détails, une référence LDAP s'appelle un "nom - distingué" ("distinguished name"), appelé aussi "nd" ("dn" en anglais). - Par exemple : - </para> - <literallayout> + </literallayout> + <para> + Le slash indique une division de la référence, et la + séquence est lue de gauche à droite. + </para> + <para> + Avec tous les détails, une référence LDAP s'appelle un "nom + distingué" ("distinguished name"), appelé aussi "nd" ("dn" en anglais). + Par exemple : + </para> + <literallayout> cn=Jean Dupont,ou=Comptes,o=Ma Société,c=Fr - </literallayout> - <para> - La virgule marque une division de la référénce, et - la séquence est lue de droite à gauche. Vous pouvez la lire - comme ceci : - </para> - <literallayout> + </literallayout> + <para> + La virgule marque une division de la référénce, et + la séquence est lue de droite à gauche. Vous pouvez la lire + comme ceci : + </para> + <literallayout> country = Fr organization = Ma Société organizationalUnit = Comptes commonName = Jean Dupont - </literallayout> - <para> - De la même façon qu'il n'y a pas de rè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'écrire un code d'accès à un dossier sans en - connaître sa structure, de la même façon que vous - ne pouvez pas utiliser une base de données sans en connaître - les tables. - </para> - </sect1> - <sect1 id="ldap-example"> - <title>Exemple complet </title> - <para> - Recupérer toutes les entré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ême façon qu'il n'y a pas de rè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'écrire un code d'accès à un dossier sans en + connaître sa structure, de la même façon que vous + ne pouvez pas utiliser une base de données sans en connaître + les tables. + </para> + </sect1> + <sect1 id="ldap-example"> + <title>Exemple complet </title> + <para> + Recupérer toutes les entré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"> <?php // Structure d'une commande simple : // connexion, lien, recherche, interpretation de la recherche // résultat, déconnexion -echo "<?h3>LDAP query test<?/h3>"; -echo "Connexion ..."; -$ds=ldap_connect("localhost"); // Doit être un serveur LDAP valide! -echo "Résultat de la connexion : ".$ds."<?p>"; -if ($ds) { + echo "<?h3>LDAP query test<?/h3>"; + echo "Connexion ..."; + $ds=ldap_connect("localhost"); // Doit être un serveur LDAP valide! + echo "Résultat de la connexion : ".$ds."<?p>"; + if ($ds) { echo "Lien ..."; $r=ldap_bind($ds); // Ceci est un lien "anonymous", typiquement // en lecture seule. En cas d'accès, affiche @@ -99,45 +99,45 @@ } echo "Déconnexion "; ldap_close($ds); -} else { + } else { echo "<?h4>Impossible de se connecter à un serveur LDAP <?/h4>"; -} + } ?> -</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èques client LDAP soient + compilées avec PHP. Vous pouvez vous procurer ces + bibliothè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èques client LDAP soient - compilées avec PHP. Vous pouvez vous procurer ces - bibliothè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 à utiliser - </para> - </listitem> - <listitem> - <para> - Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, - ce qui peut correspondre à "o=Ma société,c=Fr") - </para> - </listitem> - <listitem> - <para> - Eventuellement, un mot de passe pour accéder au serveur (de nombreux - serveur fournisse un accès en lien anonymes ("anonymous bind") - mais requièrent un mot de passe pour tout le reste). - </para> - </listitem> - </itemizedlist> - </para> - <para> - Une séquence habituelle LDAP suivra le schéma suivant : - <literallayout> + Le nom ou l'adresse du serveur à utiliser + </para> + </listitem> + <listitem> + <para> + Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, + ce qui peut correspondre à "o=Ma société,c=Fr") + </para> + </listitem> + <listitem> + <para> + Eventuellement, un mot de passe pour accéder au serveur (de nombreux + serveusr fournissent un accès anonyme ("anonymous bind") + mais requièrent un mot de passe pour tous les autres). + </para> + </listitem> + </itemizedlist> + </para> + <para> + Une séquence habituelle LDAP suivra le schéma suivant : + <literallayout> ldap_connect() // établit une connexion à un serveur | ldap_bind() // nom de compte "login" ou anonyme @@ -146,85 +146,86 @@ une modification de données avec affichage | ldap_close() // "dé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èrement pratique (en anglais). - </para> - </sect2> - </sect1> - </partintro> - <refentry id="function.ldap-add"> - <refnamediv> - <refname>ldap_add</refname> - <refpurpose>Ajoute une entrée à 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è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èrement pratique (en anglais). + </para> + </sect2> + </sect1> + </partintro> + <refentry id="function.ldap-add"> + <refnamediv> + <refname>ldap_add</refname> + <refpurpose>Ajoute une entrée à 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ès, + ou <literal>FALSE</literal> en cas d'erreur. </para><para> - <function>ldap_add</function> sert à ajouter une entrée - dans un dossier LDAP. Le ND de l'entrée sera ajouté à - la <parameter>dn</parameter> du dossier spécifié. Le tableau - <parameter>entry</parameter> spécifie les informations de la nouvelle - entrée. Les valeurs de l'entrée sont indexées dans les - attributs de l'entrée. Si un attribut a de multiples valeurs, elles - seront indexées dans un tableau, à partir de l'index 0. - </para> - <informalexample> -<literallayout> + <function>ldap_add</function> sert à ajouter une entrée + dans un dossier LDAP. Le ND de l'entrée sera ajouté à + la <parameter>dn</parameter> du dossier spécifié. Le tableau + <parameter>entry</parameter> spécifie les informations de la nouvelle + entrée. Les valeurs de l'entrée sont indexées dans les + attributs de l'entrée. Si un attribut a de multiples valeurs, elles + seront indexées dans un tableau, à 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é</title> -<programlisting role="php"> + </literallayout> + </informalexample> + <example> + <title>Exemple complet avec lien authentifié</title> + <programlisting role="php"> <?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ôte + if ($ds) { // liaison avec le nd approprié, pour avoir un accès en modification - $r=ldap_bind($ds,"cn=root, o=Ma Société, c=Fr", "secret"); + $r=ldap_bind($ds,"cn=root, o=Ma Société, c=Fr", "secret"); // preparation des données $info["cn"]="John Jones"; $info["sn"]="Jones"; @@ -233,109 +234,110 @@ // Ajout des donné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 "; -} + } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ldap-bind"> - <refnamediv> - <refname>ldap_bind</refname> - <refpurpose>Se lie à 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ès, et - &false; sinon. - </para> - <para> - <function>ldap_bind</function> effectue une opé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é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ès, - et &false; sinon. - </para> - <para> - <function>ldap_close</function> ferme le lien au serveur LDAP - associé à l'identifiant <parameter>link_identifier</parameter>. - </para> - <para> - Cet appel est identique à <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à plutô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é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 à la recherche; retourne - -1 si une erreur survient. - </simpara> - <para> - <function>ldap_compare</function> sert à comparer la valeur - <parameter>value</parameter> de l'attribut <parameter>attribute</parameter> - aux valeurs du même atribut dans l'annuaire LDAP <parameter>dn</parameter>. - </para> - <simpara> - L'exemple suivant montre comment vérifier qu'un mot de passe correspond - bien à celui qui est stocké dans l'annuaire. - </simpara> - <example> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ldap-bind"> + <refnamediv> + <refname>ldap_bind</refname> + <refpurpose>Se lie à 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ès, et + <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_bind</function> effectue une opé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é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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_close</function> ferme le lien au serveur LDAP + associé à l'identifiant <parameter>link_identifier</parameter>. + </para> + <para> + Cet appel est identique à <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à plutô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é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 à la recherche; retourne + -1 si une erreur survient. + </simpara> + <para> + <function>ldap_compare</function> sert à comparer la valeur + <parameter>value</parameter> de l'attribut <parameter>attribute</parameter> + aux valeurs du même atribut dans l'annuaire LDAP <parameter>dn</parameter>. + </para> + <simpara> + L'exemple suivant montre comment vérifier qu'un mot de passe correspond + bien à celui qui est stocké dans l'annuaire. + </simpara> + <example> <title>Vérification d'un mot de passe avec LDAP</title> - <programlisting role="php"> + <programlisting role="php"> <?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épare les donné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é!"; + echo "Mot de passe erroné!"; } } else { echo "Connexion impossible."; } ldap_close($ds); -} else { + } else { echo "Impossible de se connecter au serveur LDAP."; -} + } ?> - </programlisting> - </example> - <note> - <para> - <function>ldap_compare</function> ne peut pas comparer des données binaires. - </para> - </note> - <note> - <para> - Cette fonction a été ajoutée en 4.0.2. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.ldap-connect"> - <refnamediv> - <refname>ldap_connect</refname> - <refpurpose>Se connecte à 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ès, ou bien &false; en cas d'erreur. - </para> - <para> - <function>ldap_connect</function> établit une connexion avec un serveur. - Le serveur LDAP situé sur l'hôte <parameter>hostname</parameter> et - <parameter>port</parameter>. Les deux arguments sont optionnels. Sans argument, - l'identifiant de la dernière connexion ouverte sera retournée. Si - seul <parameter>hostname</parameter> est spécifié, le port par - défaut est 389. - </para> - <para> - Si vous utilisez OpenLDAP 2.x.x, vous pouvez spécifier une URL au - lieu d'un nom d'hô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ôte. Le paramètre de - port <parameter>port</parameter> n'est pas utile lorsqu'utilisé - avec des URL. Le support des URL et SSL a été ajouté 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é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ées en cas de succès, et &false; sinon. - </para> - <para> - <function>ldap_count_entries</function> retourne le nombre d'entrées - placées dans le résultat par les recherches - précédentes. <parameter>result_identifier</parameter> - identifie un résultat LDAP interne. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-delete"> - <refnamediv> - <refname>ldap_delete</refname> - <refpurpose>Efface une entré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ès, - et &false; sinon. - </para> - <para> - <function>ldap_delete</function> efface une entrée dans un dossier - LDAP spécifié 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 à mettre le nd - <parameter>dn</parameter> dans un format plus agré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é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ées binaires. </para> + </note> + <note> <para> - <function>ldap_err2str</function> retourne le message d'erreur lié - au numér d'erreur <parameter>errno</parameter>. Même si les - numéros d'erreur LDAP sont standardisés, différentes - librairies retournent différents messages, ou parfois, des messages - en langue locale. Ne vous fiez pas au message d'erreur, mais bien au - numéro d'erreur. + Cette fonction a été ajoutée en 4.0.2. </para> - <para> - Voir aussi <function>ldap_errno</function> et <function>ldap_error</function>. - <example> - <title>Enumé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 à 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ès, ou bien <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <function>ldap_connect</function> établit une connexion avec un serveur. + Le serveur LDAP situé sur l'hôte <parameter>hostname</parameter> et + <parameter>port</parameter>. Les deux arguments sont optionnels. Sans argument, + l'identifiant de la dernière connexion ouverte sera retournée. Si + seul <parameter>hostname</parameter> est spécifié, le port par + défaut est 389. + </para> + <para> + Si vous utilisez OpenLDAP 2.x.x, vous pouvez spécifier une URL au + lieu d'un nom d'hô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ôte. Le paramètre de + port <parameter>port</parameter> n'est pas utile lorsqu'utilisé + avec des URL. Le support des URL et SSL a été ajouté + 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é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ées en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_count_entries</function> retourne le nombre d'entrées + placées dans le résultat par les recherches + précédentes. <parameter>result_identifier</parameter> + identifie un résultat LDAP interne. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-delete"> + <refnamediv> + <refname>ldap_delete</refname> + <refpurpose>Efface une entré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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_delete</function> efface une entrée dans un dossier + LDAP spécifié 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 à mettre le nd + <parameter>dn</parameter> dans un format plus agré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é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é + au numér d'erreur <parameter>errno</parameter>. Même si les + numéros d'erreur LDAP sont standardisés, différentes + librairies retournent différents messages, ou parfois, des messages + en langue locale. Ne vous fiez pas au message d'erreur, mais bien au + numéro d'erreur. + </para> + <para> + Voir aussi + <function>ldap_errno</function> et + <function>ldap_error</function>. + <example> + <title>Enumérer tous les messages d'erreur LDAP</title> + <programlisting role="php"> <?php for($i=0; $i<100; $i++) { - printf("Error $i: %s<br>\n", ldap_str2err($i)); + printf("Error $i: %s<br>\n", ldap_str2err($i)); } ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-errno"> - <refnamediv> - <refname>ldap_errno</refname> - <refpurpose> - Retourne le numéro d'erreur LDAP de la dernière - commande exécuté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éro d'erreur - LDAP généré par la dernière commande. - </para> - <para> - <function>ldap_errno</function> retourne le numéro d'erreur - standard, généré par la dernière commande - LDAP, pour la connexion <parameter>link_id</parameter>. Ce numéro - peut ê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é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é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éro d'erreur LDAP de la dernière + commande exécuté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éro d'erreur + LDAP généré par la dernière commande. + </para> + <para> + <function>ldap_errno</function> retourne le numéro d'erreur + standard, généré par la dernière commande + LDAP, pour la connexion <parameter>link_id</parameter>. Ce numéro + peut ê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é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érer et intercepter une erreur</title> + <programlisting role="php"> <?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 être "objectclass=*" -$res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass"); -if (!$res) { - printf("LDAP-Errno: %s<br>\n", ldap_errno($ld)); - printf("LDAP-Error: %s<br>\n", ldap_error($ld)); - die("Argh!<br>\n"); -} -$info = ldap_get_entries($ld, $res); -printf("%d entrées trouvées.<br>\n", $info["count"]); -?> - </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è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é - à la connexion <parameter>link_id</parameter>. Même si les - numéros d'erreur LDAP sont standardisés, différentes - librairies retournent différents messages, ou parfois, des messages - en langue locale. Ne vous fiez pas au message d'erreur, mais bien au - numé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é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 à scinder le nd - <parameter>dn</parameter> retourné 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 à préciser si le RDN est - retourné avec ses attributs, ou seul. Pour obtenir le RDN et ses - attributs, mettez <parameter>with_attrib</parameter> à 0 et pour - n'avoir que les valeurs, mettez le à 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ès, et &false; sinon. - </para> - <para> - Le comportement est similaire pour les entrées. Les attributs sont lus - séquentiellement dans une entrée particulière. - <function>ldap_first_attribute</function> retourne le premier attribut de - l'entrée désignée par l'identifiant d'entrée. Les - attributs suivants sont accessibles avec - <function>ldap_next_attribute</function>. <parameter>ber_identifier</parameter> - est un identifiant de pointeur de mémoire interne. Il est passé - par référence. Le même identifiant - <parameter>ber_identifier</parameter> est passé à - <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ère entrée en cas de succès, et &false; sinon. - </para> - <para> - Les entrées d'un résultat sont lues sé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ère entrée du résultat. - Cet identifiant sera fourni à <function>ldap_next_entry</function> pour - accéder à la prochaîne entré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ère la mémoire prise par un ré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ès, et &false; sinon. - </para> - <para> - <function>ldap_free_result</function> libère la mémoire - allouée en interne pour enregistrer le résultat pointé - par <parameter>result_identifier</parameter>. A la fin de chaque script, la - mémoire sera de toute manière libérée. - </para> - <para> - Généralement, il n'y a pas besoin de libérer la - mémoire, et le mécanisme automatique de fin de script est - suffisant. Cependant, dans les cas oú le script effectue plusieurs - recherches successives, oú que les résultats retournés - sont très grands, <function>ldap_free_result</function> permet de - réduire la consommation de mémoire. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-attributes"> - <refnamediv> - <refname>ldap_get_attributes</refname> - <refpurpose> - Retourne les attributs d'une entrée d'un ré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ès, et &false; sinon. - </para> - <para> - <function>ldap_get_attributes</function> sert à simplifier la lecture - des attributs et des valeurs d'une entrée dans un résultat. - Le résultat est un tableau multi-dimensionnel, avec les attributs - en clé, et les valeurs des attributs en valeurs. - </para> - <para> - Une fois que vous avez repéré une entré dans un - dossier, vous pouvez lire les informations de cette entrée avec - cette fonction. Vous pouvez utiliser cette fonction pour créer une - application qui se déplace dans les dossiers, sans en connaître - la structure au préalable. Dans de nombreux cas, vous ne chercherez - qu'un attribut particulier (le email, par exemple) et vous ne vous - intéresserez pas aux autres valeurs. - </para> - <para> - <example> - <title>Affichage de la liste des attributs d'une entrée</title> - <programlisting role="php"> -<?php -// $ds est l'identifiant de lien pour ce dossier -// $sr est un résultat de recherche valide, obtenu lors d'une recherche -// précédente -$entry = ldap_first_entry($ds, $sr); -$attrs = ldap_get_attributes($ds, $entry); -echo $attrs["count"]." Attributs dans cette entrée:<p>"; -for ($i=0; $i<$attrs["compte"]; $i++) - echo $attrs[$i]."<br>"; + $res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass"); + if (!$res) { + printf("LDAP-Errno: %s<br>\n", ldap_errno($ld)); + printf("LDAP-Error: %s<br>\n", ldap_error($ld)); + die("Argh!<br>\n"); + } + $info = ldap_get_entries($ld, $res); + printf("%d entrées trouvées.<br>\n", $info["count"]); ?> </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ée d'un ré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ée - en cas de succès, et &false; sinon. - </para> - <para> - <function>ldap_get_dn</function> sert à obtenir le ND d'une - entrée d'un résultat. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-entries"> - <refnamediv> - <refname>ldap_get_entries</refname> - <refpurpose>Retourne toutes les entré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ès, et &false; sinon. - </para> - <para> - <function>ldap_get_entries</function> sert à simplifier la lecture - d'un résultat à plusieurs entrées. Toutes les - informations sont retourné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 à la casse sur les serveurs, mais peuvent ne pas - l'être quand ils sont utilisés comme index) - <informalexample> - <literallayout> -résultat ["compte"] = nombre d'entrées du résultat -résultat [0] : correspond aux détails de la première entrée : -résultat [i]["nd"] = ND de la i-ième entrée -résultat [i][" compte "] = nombre d'attributs de la i-ième entrée -résultat [i][j] = j-ième attribut de la i-ième entrée -résultat [i]["attribut"]["count"] = nombre de valeur pour l'attribut -résultat [i]["attribut"][j] = j-iè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è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é + à la connexion <parameter>link_id</parameter>. Même si les + numéros d'erreur LDAP sont standardisés, différentes + librairies retournent différents messages, ou parfois, des messages + en langue locale. Ne vous fiez pas au message d'erreur, mais bien au + numé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ès, &false; sinon. - </para> - <para> - Le paramè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é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 été ajoutée dans - PHP 4.0.4. - </para> - <para> - <example> - <title>Vé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é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 à scinder le nd + <parameter>dn</parameter> retourné 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 à préciser si le RDN est + retourné avec ses attributs, ou seul. Pour obtenir le RDN et ses + attributs, mettez <parameter>with_attrib</parameter> à 0 et pour + n'avoir que les valeurs, mettez le à 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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + Le comportement est similaire pour les entrées. Les attributs sont lus + séquentiellement dans une entrée particulière. + <function>ldap_first_attribute</function> retourne le premier attribut de + l'entrée désignée par l'identifiant d'entrée. Les + attributs suivants sont accessibles avec + <function>ldap_next_attribute</function>. <parameter>ber_identifier</parameter> + est un identifiant de pointeur de mémoire interne. Il est passé + par référence. Le même identifiant + <parameter>ber_identifier</parameter> est passé à + <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ère entrée en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + Les entrées d'un résultat sont lues sé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ère entrée du résultat. + Cet identifiant sera fourni à <function>ldap_next_entry</function> pour + accéder à la prochaine entré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ère la mémoire prise par un ré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_free_result</function> libère la mémoire + allouée en interne pour enregistrer le résultat pointé + par <parameter>result_identifier</parameter>. A la fin de chaque script, la + mémoire sera de toute manière libérée. + </para> + <para> + Généralement, il n'y a pas besoin de libérer la + mémoire, et le mécanisme automatique de fin de script est + suffisant. Cependant, dans les cas où le script effectue plusieurs + recherches successives, où que les résultats retournés + sont très grands, <function>ldap_free_result</function> permet de + réduire la consommation de mémoire. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-attributes"> + <refnamediv> + <refname>ldap_get_attributes</refname> + <refpurpose> + Retourne les attributs d'une entrée d'un ré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_attributes</function> sert à simplifier la lecture + des attributs et des valeurs d'une entrée dans un résultat. + Le résultat est un tableau multi-dimensionnel, avec les attributs + en clé, et les valeurs des attributs en valeurs. + </para> + <para> + Une fois que vous avez repéré une entré dans un + dossier, vous pouvez lire les informations de cette entrée avec + cette fonction. Vous pouvez utiliser cette fonction pour créer une + application qui se déplace dans les dossiers, sans en connaître + la structure au préalable. Dans de nombreux cas, vous ne chercherez + qu'un attribut particulier (le email, par exemple) et vous ne vous + intéresserez pas aux autres valeurs. + </para> + <para> + <example> + <title>Affichage de la liste des attributs d'une entrée</title> + <programlisting role="php"> +<?php +// $ds est l'identifiant de lien pour ce dossier +// $sr est un résultat de recherche valide, obtenu lors d'une recherche +// précédente + $entry = ldap_first_entry($ds, $sr); + $attrs = ldap_get_attributes($ds, $entry); + echo $attrs["count"]." Attributs dans cette entrée:<p>"; + for ($i=0; $i<$attrs["compte"]; $i++) + echo $attrs[$i]."<br>"; +?> + </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ée d'un ré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ée + en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_dn</function> sert à obtenir le ND d'une + entrée d'un résultat. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-entries"> + <refnamediv> + <refname>ldap_get_entries</refname> + <refpurpose>Retourne toutes les entré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_entries</function> sert à simplifier la lecture + d'un résultat à plusieurs entrées. Toutes les + informations sont retourné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 à la casse sur les serveurs, mais peuvent ne pas + l'être quand ils sont utilisés comme index) + <informalexample> + <literallayout> +résultat ["compte"] = nombre d'entrées du résultat +résultat [0] : correspond aux détails de la première entrée : +résultat [i]["nd"] = ND de la i-ième entrée +résultat [i][" compte "] = nombre d'attributs de la i-ième entrée +résultat [i][j] = j-ième attribut de la i-ième entrée +résultat [i]["attribut"]["count"] = nombre de valeur pour l'attribut +résultat [i]["attribut"][j] = j-iè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ès, <literal>FALSE</literal> sinon. + </para> + <para> + Le paramè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é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 été ajoutée dans + PHP 4.0.4. + </para> + <para> + <example> + <title>Vérification de la version du protocole</title> + <programlisting role="php"> <?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"; ?> - </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ées d'un ré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ès, et &false; sinon. - </para> - <para> - <function>ldap_get_values</function> sert à lire toutes les valeurs - d'un attribut dans une entrée. L'entrée est - référencée par - <parameter>result_entry_identifier</parameter>. Le nombre de valeurs - peut être trouvé à l'index "count" dans le résultat. - Les valeurs sont accessibles par un index entier, qui commence à 0. - </para> - <para> - <function>ldap_get_values</function> nécessite un pointeur de - résultat <parameter>result_entry_identifier</parameter>, ce qui - implique qu'il ait été précédé d'une - recherche sur le serveur, et de l'obtention d'une entré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éder dynamiquement. - </para> - <para> - LDAP autorise plus d'une entrée par attribut, ce qui permet, - par exemple, d'é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ées d'un ré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_values</function> sert à lire toutes les valeurs + d'un attribut dans une entrée. L'entrée est + référencée par + <parameter>result_entry_identifier</parameter>. Le nombre de valeurs + peut être trouvé à l'index "count" dans le résultat. + Les valeurs sont accessibles par un index entier, qui commence à 0. + </para> + <para> + <function>ldap_get_values</function> nécessite un pointeur de + résultat <parameter>result_entry_identifier</parameter>, ce qui + implique qu'il ait été précédé d'une + recherche sur le serveur, et de l'obtention d'une entré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éder dynamiquement. + </para> + <para> + LDAP autorise plus d'une entrée par attribut, ce qui permet, + par exemple, d'é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è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"> <?php // $ds est l'identifiant de lien pour ce dossier // $sr est un résultat de recherche valide, obtenu lors d'une recherche // précédente // $entry est un identifiant valide d'entrée -$values = ldap_get_values($ds, $entry,"mail"); -echo $values["count"]." Adresse email dans ce résultat.<p>"; -for ($i=0; $i < $values["count"]; $i++) - echo $values[$i]."<br>"; + $values = ldap_get_values($ds, $entry,"mail"); + echo $values["count"]." Adresse email dans ce résultat.<p>"; + for ($i=0; $i < $values["count"]; $i++) + echo $values[$i]."<br>"; ?> - </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 à partir d'un identifiant - de ré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 à lire toutes les - valeurs d'un attribut d'une entrée dans un résultat. - L'entrée est spécifiée par - <parameter>result_entry_identifier</parameter>. Le nombre de valeurs - trouvées peut être retrouvé en indexant "count" dans - le tableau résultat. On peut accéder aux valeurs individuelles - avec un index numérique, commencant à 0. - </para> - <para> - <function>ldap_get_values_len</function> est utilisée exactement - comme <function>ldap_get_values</function> mais elle gère les - données binaires, et non pas les chaî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ès, - et &false; sinon. - </para> - <para> - <function>ldap_list</function> effecture une recherche avec le filtre7 - donnée, et limité un dossier. - </para> - <para> - LDAP_SCOPE_ONELEVEL indique que la recherche ne doit s'étendre que - dans le dossier immédiatement sous le nd <parameter>base_dn</parameter>. - (Equivalent à taper "ls" et obtenir la liste des fichiers et dossiers du - dossier courant). - </para> - <para> - Cette appel prend un quatrième argument optionnel : un tableau contenant - les attributs recherchés. Reportez vous à - <function>ldap_search</function> pour plus de détails. - <example> - <title>Affiche une liste d'unité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 à partir d'un identifiant + de ré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 à lire toutes les + valeurs d'un attribut d'une entrée dans un résultat. + L'entrée est spécifiée par + <parameter>result_entry_identifier</parameter>. Le nombre de valeurs + trouvées peut être retrouvé en indexant "count" dans + le tableau résultat. On peut accéder aux valeurs individuelles + avec un index numérique, commençant à 0. + </para> + <para> + <function>ldap_get_values_len</function> est utilisée exactement + comme <function>ldap_get_values</function> mais elle gère les + données binaires, et non pas les chaî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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_list</function> effecture une recherche avec le filtre7 + donnée, et limité un dossier. + </para> + <para> + LDAP_SCOPE_ONELEVEL indique que la recherche ne doit s'étendre que + dans le dossier immédiatement sous le nd <parameter>base_dn</parameter>. + (Equivalent à taper "ls" et obtenir la liste des fichiers et dossiers du + dossier courant). + </para> + <para> + Cette appel prend un quatrième argument optionnel : un tableau contenant + les attributs recherchés. Reportez-vous à + <function>ldap_search</function> pour plus de détails. + <example> + <title>Affiche une liste d'unités organisationnelle</title> + <programlisting role="php"> <?php // $ds est un identifiant de connexion valide. -$basedn = "o=Ma Société, c=Fr"; -$justthese = array("ou"); -$sr=ldap_list($ds, $basedn, "ou=*", $justthese); -$info = ldap_get_entries($ds, $sr); -for ($i=0; $i<$info["count"]; $i++) + $basedn = "o=Ma Société, c=Fr"; + $justthese = array("ou"); + $sr=ldap_list($ds, $basedn, "ou=*", $justthese); + $info = ldap_get_entries($ds, $sr); + for ($i=0; $i<$info["count"]; $i++) echo $info[$i]["ou"][0] ; ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-modify"> - <refnamediv> - <refname>ldap_modify</refname> - <refpurpose>Modifie une entré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ès, - et &false; sinon. - </para> - <para> - <function>ldap_modify</function> sert à modifier les entrées - existantes dans un dossier LDAP. La structure de l'entrée est la - même que dé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ès, et &false; sinon. - </para> - <para> - <function>ldap_mod_add</function> ajoute les attributs <parameter>entry</parameter> - à l'entré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ès, et &false; sinon. - </para> - <para> - <function>ldap_mod_del</function> efface les attributs <parameter>entry</parameter> - à l'entré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ès, et &false; sinon.</para> - <para> - <function>ldap_mod_replace</function> remplace les attributs - <parameter>entry</parameter> à l'entré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ès, et sinon, une erreur. - </para> - <para> - <function>ldap_next_attribute</function> sert à lire tous les attributs - d'une entrée. Le pointeur interne est géré par - <parameter>ber_identifier</parameter>. Il est passé par - référence à la fonction. Le premier appel à - <function>ldap_next_attribute</function> est fait avec le - <parameter>result_entry_identifier</parameter> retourné 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ée suivante, dans le résultat qui a été - initialisé par <function>ldap_first_entry</function>. Si il n'y a - plus d'entrée, retourne &false;. - </para> - <para> - <function>ldap_next_entry</function> sert à retrouver toutes les - entrées qui sont stockées dans un résultat. Les - appels successifs à <function>ldap_next_entry</function> retourneront - les entrées une à une. Le premier appel à - <function>ldap_next_entry</function> est fait après un appel à - <function>ldap_first_entry</function> avec - <parameter>result_entry_identifier</parameter> retourné 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é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ésultat - en cas de succè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ée au dossier, ou récursive). - Cela revient à lire une entrée dans un dossier. - </para> - <para> - Les filtres vides ne sont pas autorisé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ées dans - le dossier que vous fouillez, vous pouvez aussi adapter ce filter de la - façon suivante "objectClass=inetOrgPerson". - </para> - <para> - <function>ldap_read</function> dispose de 5 arguments optionnels. - Reportez vous à <function>ldap_search</function>. - </para> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-modify"> + <refnamediv> + <refname>ldap_modify</refname> + <refpurpose>Modifie une entré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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_modify</function> sert à modifier les entrées + existantes dans un dossier LDAP. La structure de l'entrée est la + même que dé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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_mod_add</function> ajoute les attributs <parameter>entry</parameter> + à l'entré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_mod_del</function> efface les attributs <parameter>entry</parameter> + à l'entré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ès, et <literal>FALSE</literal> sinon.</para> + <para> + <function>ldap_mod_replace</function> remplace les attributs + <parameter>entry</parameter> à l'entré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ès, et sinon, une erreur. + </para> + <para> + <function>ldap_next_attribute</function> sert à lire tous les attributs + d'une entrée. Le pointeur interne est géré par + <parameter>ber_identifier</parameter>. Il est passé par + référence à la fonction. Le premier appel à + <function>ldap_next_attribute</function> est fait avec le + <parameter>result_entry_identifier</parameter> retourné 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ée suivante, dans le résultat qui a été + initialisé par <function>ldap_first_entry</function>. S'il n'y a + plus d'entrée, retourne <literal>FALSE</literal>. + </para> + <para> + <function>ldap_next_entry</function> sert à retrouver toutes les + entrées qui sont stockées dans un résultat. Les + appels successifs à <function>ldap_next_entry</function> retourneront + les entrées une à une. Le premier appel à + <function>ldap_next_entry</function> est fait après un appel à + <function>ldap_first_entry</function> avec + <parameter>result_entry_identifier</parameter> retourné 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é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ésultat + en cas de succè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ée au dossier, ou récursive). + Cela revient à lire une entrée dans un dossier. + </para> + <para> + Les filtres vides ne sont pas autorisé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ées dans + le dossier que vous fouillez, vous pouvez aussi adapter ce filter de la + façon suivante "objectClass=inetOrgPerson". + </para> + <para> + <function>ldap_read</function> dispose de 5 arguments optionnels. + Reportez-vous à <function>ldap_search</function>. + </para> <note> - <para> - Ces paramètres optionnels ont été ajoutés à 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ésultat - en cas de succè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écursivité LDAP_SCOPE_SUBTREE. Cela revient - à rechercher dans toute la base sous le dossier - <parameter>base_dn</parameter>. - </para> - <para> - Le quatrième paramètre est optionnel, et peut être - ajouté pour restreindre les attributs et les valeurs retournées. - Il est beaucoup plus efficace que la méthode qui consiste à lire - tous les attributs et leur valeurs associées. L'utilisation - de ce quatrième paramètre est encouragé. - </para> - <para> - Le quatrième paramètre est un tableau de chaînes, qui - contient les attributs désirés, array("mail","sn","cn"). Notez - que le nd <parameter>base_dn</parameter> est toujours retourné, - quelques que soient les attributs demandés. - </para> <para> - Notez que certains serveurs sont configurés pour limiter le nombre - de résultats. Si cela arrive, le serveur indiquera qu'il n'a - transféré qu'une partie du résultat. Cela arrivera - aussi si le sixième paramètre <parameter>sizelimit</parameter> a été - utilisé pour limiter le nombre de lignes lues. + Ces paramètres optionnels ont été ajoutés à 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é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ème paramètre <parameter>attrsonly</parameter> - doit être mis à 1 si seuls les types d'attributs sont - demandés. S'il est mis à 0, les types des attributs et leur - valeur seront lue (comportement par défaut). - </para> - <para> - Le sixième paramè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ètre ne peut PAS annuler la configuration - du serveur. Il peut seulement la réduire. - </para> - <para> - Le septième paramètre <parameter>timelimit</parameter> fixe la durée - de la recherche en seconde. 0 indique qu'il n'y a pas - de limite. NOTE : ce paramètre ne peut PAS annuler la configuration - du serveur. Il peut seulement la réduire. - </para> - <para> - Le huitième paramètre <parameter>deref</parameter> indique - le comportement à suivre avec les alias durant une recherche. - Sa valeur peut être l'une de celles-ci : - <itemizedlist> + <function>ldap_rename</function> renomme (ou déplace) l'entrée + <parameter>dn</parameter>. Le nouveau RDN est spécifié par + <parameter>newrdn</parameter> et le nouveau père est spécifié par + <parameter>newparent</parameter>. Si le paramètre + <parameter>deleteoldrdn</parameter> est <literal>TRUE</literal>, + l'ancienne valeur sera supprimée et la nouvelle valeur sera + retenue. <function>ldap_rename</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_rename</function> ne fonctionne qu'avec LDAPv3. + Pour les anciennes versions, utilisez plutô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 été ajouté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ésultat + en cas de succè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écursivité LDAP_SCOPE_SUBTREE. Cela revient + à rechercher dans toute la base sous le dossier + <parameter>base_dn</parameter>. + </para> + <para> + Le quatrième paramètre est optionnel, et peut être + ajouté pour restreindre les attributs et les valeurs retournées. + Il est beaucoup plus efficace que la méthode qui consiste à lire + tous les attributs et leur valeurs associées. L'utilisation + de ce quatrième paramètre est encouragé. + </para> + <para> + Le quatrième paramètre est un tableau de chaînes, qui + contient les attributs désirés, array("mail","sn","cn"). Notez + que le nd <parameter>base_dn</parameter> est toujours retourné, + quelques que soient les attributs demandés. + </para> + <para> + Notez que certains serveurs sont configurés pour limiter le nombre + de résultats. Si cela arrive, le serveur indiquera qu'il n'a + transféré qu'une partie du résultat. Cela arrivera + aussi si le sixième paramètre <parameter>sizelimit</parameter> a été + utilisé pour limiter le nombre de lignes lues. + </para> + <para> + Le cinquième paramètre <parameter>attrsonly</parameter> + doit être mis à 1 si seuls les types d'attributs sont + demandés. S'il est mis à 0, les types des attributs et leur + valeur seront lue (comportement par défaut). + </para> + <para> + Le sixième paramè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ètre ne peut PAS annuler la configuration + du serveur. Il peut seulement la réduire. + </para> + <para> + Le septième paramètre <parameter>timelimit</parameter> fixe la durée + de la recherche en seconde. 0 indique qu'il n'y a pas + de limite. NOTE : ce paramètre ne peut PAS annuler la configuration + du serveur. Il peut seulement la réduire. + </para> + <para> + Le huitième paramètre <parameter>deref</parameter> indique + le comportement à suivre avec les alias durant une recherche. + Sa valeur peut être l'une de celles-ci : + <itemizedlist> <listitem> <simpara> LDAP_DEREF_NEVER - (par défaut) les alias ne sont pas déréférencés. @@ -1437,150 +1493,157 @@ LDAP_DEREF_ALWAYS - les alias sont toujours déréférencés. </simpara> </listitem> - </itemizedlist> - </para> - <para> - Ces paramètres optionnels ont été ajoutés à partir de la version 4.0.2: - <parameter>attrsonly</parameter>, - <parameter>sizelimit</parameter>, - <parameter>timelimit</parameter>, - <parameter>deref</parameter>. - </para> - <para> - La chaîne de filtre peut être simple ou complexe. Elle utilise les opérateurs - booléens au même format que celui dé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écupère toutes les unités organisationnelles, le nom, prénom et - email, dans la société "Ma Société" oú le nom et prénom contiennent la sous-chaîne - $person. Cet exemple utilise un filtre boolé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ètres optionnels ont été ajoutés à partir de la version 4.0.2: + <parameter>attrsonly</parameter>, + <parameter>sizelimit</parameter>, + <parameter>timelimit</parameter>, + <parameter>deref</parameter>. + </para> + <para> + La chaîne de filtre peut être simple ou complexe. Elle utilise les opérateurs + booléens au même format que celui dé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écupère toutes les unités + organisationnelles, le nom, prénom et email, dans la + société "Ma Société" où + le nom et prénom contiennent la sous-chaîne + $person. Cet exemple utilise un filtre booléen pour + indiquer au serveur qu'il doit + rechercher des informations dans plusieurs attributs. + <example> + <title>Recherche LDAP</title> + <programlisting role="php"> <?php // $ds est un identifiant valide de connexion à un serveur LDAP // $person est tout ou une partir d'un nom -$dn = "o=Ma Société, 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ées retournées.<p>"; + $dn = "o=Ma Société, 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ées retournées.<p>"; ?> - </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ès, &false; sinon. - </para> - <para> - Le paramè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è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ère, - LDAP_OPT_REFERRALS et LDAP_OPT_RESTART sont des booléens, et - LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING et LDAP_OPT_MATCHED_DN - sont des chaînes de caractères. Le premier exemple illustre leur utilisation. - LDAP_OPT_SERVER_CONTROLS et LDAP_OPT_CLIENT_CONTROLS requiert une liste de - contrôles, ce qui signifie que la valeur peut être un tableau de contrôles. - Un contrôle est constitué d'un <emphasis>oid</emphasis> identifiant le contrôle, - d'une valeur <emphasis>value</emphasis> optionnelle, et d'un flag optionnel - de <emphasis>criticalité</emphasis>. En PHP un contrôle est un tableau - ayant la clé <emphasis>oid</emphasis> et une valeur sous forme de chaîne, - ainsi que deux éléments optionnels. Ces éléments ont pour clé - <emphasis>value</emphasis>, sous forme de chaîne, et une clé - <emphasis>iscritical</emphasis> contenant un booléen. - Par dé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 été ajouté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ès, <literal>FALSE</literal> sinon. + </para> + <para> + Le paramè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è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ère, + LDAP_OPT_REFERRALS et LDAP_OPT_RESTART sont des booléens, et + LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING et LDAP_OPT_MATCHED_DN + sont des chaînes de caractères. Le premier exemple illustre leur utilisation. + LDAP_OPT_SERVER_CONTROLS et LDAP_OPT_CLIENT_CONTROLS requiert une liste de + contrôles, ce qui signifie que la valeur peut être un tableau de contrôles. + Un contrôle est constitué d'un <emphasis>oid</emphasis> identifiant le contrôle, + d'une valeur <emphasis>value</emphasis> optionnelle, et d'un flag optionnel + de <emphasis>criticalité</emphasis>. En PHP un contrôle est un tableau + ayant la clé <emphasis>oid</emphasis> et une valeur sous forme de chaîne, + ainsi que deux éléments optionnels. Ces éléments ont pour clé + <emphasis>value</emphasis>, sous forme de chaîne, et une clé + <emphasis>iscritical</emphasis> contenant un booléen. + Par dé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 été ajoutée en PHP 4.0.4. + </para> + <para> + <example> + <title>Modification de la version du protocole</title> + <programlisting role="php"> <?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"; ?> - </programlisting> - </example> - <example> - <title>Modifier les contrôles du serveur LDAP</title> - <programlisting role="php"> + </programlisting> + </example> + <example> + <title>Modifier les contrôles du serveur LDAP</title> + <programlisting role="php"> +<?php // $ds est un lien valide LDAP // control n'est pas une valeur -$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => TRUE); -// iscritical vaut par défaut FALSE $ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic"); + $ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => TRUE); +// iscritical vaut par défaut <literal>FALSE</literal> + $ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic"); // modification des deux contrô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ès, - et &false; sinon. - </para> - <para> - <function>ldap_unbind</function> termine la liaison avec le serveur LDAP. - </para> - </refsect1> - </refentry> - </reference> +?> + </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è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
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 à LDAP</title> - <para> - LDAP est l'acronyme de Lightweight Directory Access Protocol, c'est à - dire Protocole Léger d'Accès aux Dossiers. C'est un protocole - utilisé pour accéder à des "serveurs de dossiers", des - serveurs qui gèrent les informations de manière - hiérarchique. - </para> - <para> - Le concept est similaire à 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és à des pays. Les - niveaux inférieurs de la structure contiennent des entrées - de sociétés, d'organisations ou de lieux tandis que les - niveaux encore inférieurs sont des gens, voire des équipements - ou des documents. - </para> - <para> - Pour accéder à 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 à LDAP</title> + <para> + LDAP est l'acronyme de Lightweight Directory Access Protocol, c'est à + dire Protocole Léger d'Accès aux Dossiers. C'est un protocole + utilisé pour accéder à des "serveurs de dossiers", des + serveurs qui gèrent les informations de manière + hiérarchique. + </para> + <para> + Le concept est similaire à 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és à des pays. Les + niveaux inférieurs de la structure contiennent des entrées + de sociétés, d'organisations ou de lieux tandis que les + niveaux encore inférieurs sont des gens, voire des équipements + ou des documents. + </para> + <para> + Pour accéder à 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éférence, et la - séquence est lue de gauche à droite. - </para> - <para> - Avec tous les détails, une référence LDAP s'appelle un "nom - distingué" ("distinguished name"), appelé aussi "nd" ("dn" en anglais). - Par exemple : - </para> - <literallayout> + </literallayout> + <para> + Le slash indique une division de la référence, et la + séquence est lue de gauche à droite. + </para> + <para> + Avec tous les détails, une référence LDAP s'appelle un "nom + distingué" ("distinguished name"), appelé aussi "nd" ("dn" en anglais). + Par exemple : + </para> + <literallayout> cn=Jean Dupont,ou=Comptes,o=Ma Société,c=Fr - </literallayout> - <para> - La virgule marque une division de la référénce, et - la séquence est lue de droite à gauche. Vous pouvez la lire - comme ceci : - </para> - <literallayout> + </literallayout> + <para> + La virgule marque une division de la référénce, et + la séquence est lue de droite à gauche. Vous pouvez la lire + comme ceci : + </para> + <literallayout> country = Fr organization = Ma Société organizationalUnit = Comptes commonName = Jean Dupont - </literallayout> - <para> - De la même façon qu'il n'y a pas de rè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'écrire un code d'accès à un dossier sans en - connaître sa structure, de la même façon que vous - ne pouvez pas utiliser une base de données sans en connaître - les tables. - </para> - </sect1> - <sect1 id="ldap-example"> - <title>Exemple complet </title> - <para> - Recupérer toutes les entré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ême façon qu'il n'y a pas de rè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'écrire un code d'accès à un dossier sans en + connaître sa structure, de la même façon que vous + ne pouvez pas utiliser une base de données sans en connaître + les tables. + </para> + </sect1> + <sect1 id="ldap-example"> + <title>Exemple complet </title> + <para> + Recupérer toutes les entré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"> <?php // Structure d'une commande simple : // connexion, lien, recherche, interpretation de la recherche // résultat, déconnexion -echo "<?h3>LDAP query test<?/h3>"; -echo "Connexion ..."; -$ds=ldap_connect("localhost"); // Doit être un serveur LDAP valide! -echo "Résultat de la connexion : ".$ds."<?p>"; -if ($ds) { + echo "<?h3>LDAP query test<?/h3>"; + echo "Connexion ..."; + $ds=ldap_connect("localhost"); // Doit être un serveur LDAP valide! + echo "Résultat de la connexion : ".$ds."<?p>"; + if ($ds) { echo "Lien ..."; $r=ldap_bind($ds); // Ceci est un lien "anonymous", typiquement // en lecture seule. En cas d'accès, affiche @@ -99,45 +99,45 @@ } echo "Déconnexion "; ldap_close($ds); -} else { + } else { echo "<?h4>Impossible de se connecter à un serveur LDAP <?/h4>"; -} + } ?> -</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èques client LDAP soient + compilées avec PHP. Vous pouvez vous procurer ces + bibliothè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èques client LDAP soient - compilées avec PHP. Vous pouvez vous procurer ces - bibliothè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 à utiliser - </para> - </listitem> - <listitem> - <para> - Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, - ce qui peut correspondre à "o=Ma société,c=Fr") - </para> - </listitem> - <listitem> - <para> - Eventuellement, un mot de passe pour accéder au serveur (de nombreux - serveur fournisse un accès en lien anonymes ("anonymous bind") - mais requièrent un mot de passe pour tout le reste). - </para> - </listitem> - </itemizedlist> - </para> - <para> - Une séquence habituelle LDAP suivra le schéma suivant : - <literallayout> + Le nom ou l'adresse du serveur à utiliser + </para> + </listitem> + <listitem> + <para> + Le "nd" dans le serveur (la partie du monde qui est sur ce serveur, + ce qui peut correspondre à "o=Ma société,c=Fr") + </para> + </listitem> + <listitem> + <para> + Eventuellement, un mot de passe pour accéder au serveur (de nombreux + serveusr fournissent un accès anonyme ("anonymous bind") + mais requièrent un mot de passe pour tous les autres). + </para> + </listitem> + </itemizedlist> + </para> + <para> + Une séquence habituelle LDAP suivra le schéma suivant : + <literallayout> ldap_connect() // établit une connexion à un serveur | ldap_bind() // nom de compte "login" ou anonyme @@ -146,85 +146,86 @@ une modification de données avec affichage | ldap_close() // "dé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èrement pratique (en anglais). - </para> - </sect2> - </sect1> - </partintro> - <refentry id="function.ldap-add"> - <refnamediv> - <refname>ldap_add</refname> - <refpurpose>Ajoute une entrée à 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è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èrement pratique (en anglais). + </para> + </sect2> + </sect1> + </partintro> + <refentry id="function.ldap-add"> + <refnamediv> + <refname>ldap_add</refname> + <refpurpose>Ajoute une entrée à 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ès, + ou <literal>FALSE</literal> en cas d'erreur. </para><para> - <function>ldap_add</function> sert à ajouter une entrée - dans un dossier LDAP. Le ND de l'entrée sera ajouté à - la <parameter>dn</parameter> du dossier spécifié. Le tableau - <parameter>entry</parameter> spécifie les informations de la nouvelle - entrée. Les valeurs de l'entrée sont indexées dans les - attributs de l'entrée. Si un attribut a de multiples valeurs, elles - seront indexées dans un tableau, à partir de l'index 0. - </para> - <informalexample> -<literallayout> + <function>ldap_add</function> sert à ajouter une entrée + dans un dossier LDAP. Le ND de l'entrée sera ajouté à + la <parameter>dn</parameter> du dossier spécifié. Le tableau + <parameter>entry</parameter> spécifie les informations de la nouvelle + entrée. Les valeurs de l'entrée sont indexées dans les + attributs de l'entrée. Si un attribut a de multiples valeurs, elles + seront indexées dans un tableau, à 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é</title> -<programlisting role="php"> + </literallayout> + </informalexample> + <example> + <title>Exemple complet avec lien authentifié</title> + <programlisting role="php"> <?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ôte + if ($ds) { // liaison avec le nd approprié, pour avoir un accès en modification - $r=ldap_bind($ds,"cn=root, o=Ma Société, c=Fr", "secret"); + $r=ldap_bind($ds,"cn=root, o=Ma Société, c=Fr", "secret"); // preparation des données $info["cn"]="John Jones"; $info["sn"]="Jones"; @@ -233,109 +234,110 @@ // Ajout des donné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 "; -} + } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ldap-bind"> - <refnamediv> - <refname>ldap_bind</refname> - <refpurpose>Se lie à 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ès, et - &false; sinon. - </para> - <para> - <function>ldap_bind</function> effectue une opé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é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ès, - et &false; sinon. - </para> - <para> - <function>ldap_close</function> ferme le lien au serveur LDAP - associé à l'identifiant <parameter>link_identifier</parameter>. - </para> - <para> - Cet appel est identique à <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à plutô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é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 à la recherche; retourne - -1 si une erreur survient. - </simpara> - <para> - <function>ldap_compare</function> sert à comparer la valeur - <parameter>value</parameter> de l'attribut <parameter>attribute</parameter> - aux valeurs du même atribut dans l'annuaire LDAP <parameter>dn</parameter>. - </para> - <simpara> - L'exemple suivant montre comment vérifier qu'un mot de passe correspond - bien à celui qui est stocké dans l'annuaire. - </simpara> - <example> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ldap-bind"> + <refnamediv> + <refname>ldap_bind</refname> + <refpurpose>Se lie à 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ès, et + <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_bind</function> effectue une opé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é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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_close</function> ferme le lien au serveur LDAP + associé à l'identifiant <parameter>link_identifier</parameter>. + </para> + <para> + Cet appel est identique à <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à plutô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é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 à la recherche; retourne + -1 si une erreur survient. + </simpara> + <para> + <function>ldap_compare</function> sert à comparer la valeur + <parameter>value</parameter> de l'attribut <parameter>attribute</parameter> + aux valeurs du même atribut dans l'annuaire LDAP <parameter>dn</parameter>. + </para> + <simpara> + L'exemple suivant montre comment vérifier qu'un mot de passe correspond + bien à celui qui est stocké dans l'annuaire. + </simpara> + <example> <title>Vérification d'un mot de passe avec LDAP</title> - <programlisting role="php"> + <programlisting role="php"> <?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épare les donné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é!"; + echo "Mot de passe erroné!"; } } else { echo "Connexion impossible."; } ldap_close($ds); -} else { + } else { echo "Impossible de se connecter au serveur LDAP."; -} + } ?> - </programlisting> - </example> - <note> - <para> - <function>ldap_compare</function> ne peut pas comparer des données binaires. - </para> - </note> - <note> - <para> - Cette fonction a été ajoutée en 4.0.2. - </para> - </note> - </refsect1> - </refentry> - <refentry id="function.ldap-connect"> - <refnamediv> - <refname>ldap_connect</refname> - <refpurpose>Se connecte à 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ès, ou bien &false; en cas d'erreur. - </para> - <para> - <function>ldap_connect</function> établit une connexion avec un serveur. - Le serveur LDAP situé sur l'hôte <parameter>hostname</parameter> et - <parameter>port</parameter>. Les deux arguments sont optionnels. Sans argument, - l'identifiant de la dernière connexion ouverte sera retournée. Si - seul <parameter>hostname</parameter> est spécifié, le port par - défaut est 389. - </para> - <para> - Si vous utilisez OpenLDAP 2.x.x, vous pouvez spécifier une URL au - lieu d'un nom d'hô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ôte. Le paramètre de - port <parameter>port</parameter> n'est pas utile lorsqu'utilisé - avec des URL. Le support des URL et SSL a été ajouté 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é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ées en cas de succès, et &false; sinon. - </para> - <para> - <function>ldap_count_entries</function> retourne le nombre d'entrées - placées dans le résultat par les recherches - précédentes. <parameter>result_identifier</parameter> - identifie un résultat LDAP interne. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-delete"> - <refnamediv> - <refname>ldap_delete</refname> - <refpurpose>Efface une entré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ès, - et &false; sinon. - </para> - <para> - <function>ldap_delete</function> efface une entrée dans un dossier - LDAP spécifié 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 à mettre le nd - <parameter>dn</parameter> dans un format plus agré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é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ées binaires. </para> + </note> + <note> <para> - <function>ldap_err2str</function> retourne le message d'erreur lié - au numér d'erreur <parameter>errno</parameter>. Même si les - numéros d'erreur LDAP sont standardisés, différentes - librairies retournent différents messages, ou parfois, des messages - en langue locale. Ne vous fiez pas au message d'erreur, mais bien au - numéro d'erreur. + Cette fonction a été ajoutée en 4.0.2. </para> - <para> - Voir aussi <function>ldap_errno</function> et <function>ldap_error</function>. - <example> - <title>Enumé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 à 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ès, ou bien <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + <function>ldap_connect</function> établit une connexion avec un serveur. + Le serveur LDAP situé sur l'hôte <parameter>hostname</parameter> et + <parameter>port</parameter>. Les deux arguments sont optionnels. Sans argument, + l'identifiant de la dernière connexion ouverte sera retournée. Si + seul <parameter>hostname</parameter> est spécifié, le port par + défaut est 389. + </para> + <para> + Si vous utilisez OpenLDAP 2.x.x, vous pouvez spécifier une URL au + lieu d'un nom d'hô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ôte. Le paramètre de + port <parameter>port</parameter> n'est pas utile lorsqu'utilisé + avec des URL. Le support des URL et SSL a été ajouté + 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é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ées en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_count_entries</function> retourne le nombre d'entrées + placées dans le résultat par les recherches + précédentes. <parameter>result_identifier</parameter> + identifie un résultat LDAP interne. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-delete"> + <refnamediv> + <refname>ldap_delete</refname> + <refpurpose>Efface une entré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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_delete</function> efface une entrée dans un dossier + LDAP spécifié 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 à mettre le nd + <parameter>dn</parameter> dans un format plus agré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é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é + au numér d'erreur <parameter>errno</parameter>. Même si les + numéros d'erreur LDAP sont standardisés, différentes + librairies retournent différents messages, ou parfois, des messages + en langue locale. Ne vous fiez pas au message d'erreur, mais bien au + numéro d'erreur. + </para> + <para> + Voir aussi + <function>ldap_errno</function> et + <function>ldap_error</function>. + <example> + <title>Enumérer tous les messages d'erreur LDAP</title> + <programlisting role="php"> <?php for($i=0; $i<100; $i++) { - printf("Error $i: %s<br>\n", ldap_str2err($i)); + printf("Error $i: %s<br>\n", ldap_str2err($i)); } ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-errno"> - <refnamediv> - <refname>ldap_errno</refname> - <refpurpose> - Retourne le numéro d'erreur LDAP de la dernière - commande exécuté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éro d'erreur - LDAP généré par la dernière commande. - </para> - <para> - <function>ldap_errno</function> retourne le numéro d'erreur - standard, généré par la dernière commande - LDAP, pour la connexion <parameter>link_id</parameter>. Ce numéro - peut ê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é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é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éro d'erreur LDAP de la dernière + commande exécuté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éro d'erreur + LDAP généré par la dernière commande. + </para> + <para> + <function>ldap_errno</function> retourne le numéro d'erreur + standard, généré par la dernière commande + LDAP, pour la connexion <parameter>link_id</parameter>. Ce numéro + peut ê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é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érer et intercepter une erreur</title> + <programlisting role="php"> <?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 être "objectclass=*" -$res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass"); -if (!$res) { - printf("LDAP-Errno: %s<br>\n", ldap_errno($ld)); - printf("LDAP-Error: %s<br>\n", ldap_error($ld)); - die("Argh!<br>\n"); -} -$info = ldap_get_entries($ld, $res); -printf("%d entrées trouvées.<br>\n", $info["count"]); -?> - </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è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é - à la connexion <parameter>link_id</parameter>. Même si les - numéros d'erreur LDAP sont standardisés, différentes - librairies retournent différents messages, ou parfois, des messages - en langue locale. Ne vous fiez pas au message d'erreur, mais bien au - numé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é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 à scinder le nd - <parameter>dn</parameter> retourné 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 à préciser si le RDN est - retourné avec ses attributs, ou seul. Pour obtenir le RDN et ses - attributs, mettez <parameter>with_attrib</parameter> à 0 et pour - n'avoir que les valeurs, mettez le à 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ès, et &false; sinon. - </para> - <para> - Le comportement est similaire pour les entrées. Les attributs sont lus - séquentiellement dans une entrée particulière. - <function>ldap_first_attribute</function> retourne le premier attribut de - l'entrée désignée par l'identifiant d'entrée. Les - attributs suivants sont accessibles avec - <function>ldap_next_attribute</function>. <parameter>ber_identifier</parameter> - est un identifiant de pointeur de mémoire interne. Il est passé - par référence. Le même identifiant - <parameter>ber_identifier</parameter> est passé à - <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ère entrée en cas de succès, et &false; sinon. - </para> - <para> - Les entrées d'un résultat sont lues sé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ère entrée du résultat. - Cet identifiant sera fourni à <function>ldap_next_entry</function> pour - accéder à la prochaîne entré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ère la mémoire prise par un ré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ès, et &false; sinon. - </para> - <para> - <function>ldap_free_result</function> libère la mémoire - allouée en interne pour enregistrer le résultat pointé - par <parameter>result_identifier</parameter>. A la fin de chaque script, la - mémoire sera de toute manière libérée. - </para> - <para> - Généralement, il n'y a pas besoin de libérer la - mémoire, et le mécanisme automatique de fin de script est - suffisant. Cependant, dans les cas oú le script effectue plusieurs - recherches successives, oú que les résultats retournés - sont très grands, <function>ldap_free_result</function> permet de - réduire la consommation de mémoire. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-attributes"> - <refnamediv> - <refname>ldap_get_attributes</refname> - <refpurpose> - Retourne les attributs d'une entrée d'un ré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ès, et &false; sinon. - </para> - <para> - <function>ldap_get_attributes</function> sert à simplifier la lecture - des attributs et des valeurs d'une entrée dans un résultat. - Le résultat est un tableau multi-dimensionnel, avec les attributs - en clé, et les valeurs des attributs en valeurs. - </para> - <para> - Une fois que vous avez repéré une entré dans un - dossier, vous pouvez lire les informations de cette entrée avec - cette fonction. Vous pouvez utiliser cette fonction pour créer une - application qui se déplace dans les dossiers, sans en connaître - la structure au préalable. Dans de nombreux cas, vous ne chercherez - qu'un attribut particulier (le email, par exemple) et vous ne vous - intéresserez pas aux autres valeurs. - </para> - <para> - <example> - <title>Affichage de la liste des attributs d'une entrée</title> - <programlisting role="php"> -<?php -// $ds est l'identifiant de lien pour ce dossier -// $sr est un résultat de recherche valide, obtenu lors d'une recherche -// précédente -$entry = ldap_first_entry($ds, $sr); -$attrs = ldap_get_attributes($ds, $entry); -echo $attrs["count"]." Attributs dans cette entrée:<p>"; -for ($i=0; $i<$attrs["compte"]; $i++) - echo $attrs[$i]."<br>"; + $res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass"); + if (!$res) { + printf("LDAP-Errno: %s<br>\n", ldap_errno($ld)); + printf("LDAP-Error: %s<br>\n", ldap_error($ld)); + die("Argh!<br>\n"); + } + $info = ldap_get_entries($ld, $res); + printf("%d entrées trouvées.<br>\n", $info["count"]); ?> </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ée d'un ré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ée - en cas de succès, et &false; sinon. - </para> - <para> - <function>ldap_get_dn</function> sert à obtenir le ND d'une - entrée d'un résultat. - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-get-entries"> - <refnamediv> - <refname>ldap_get_entries</refname> - <refpurpose>Retourne toutes les entré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ès, et &false; sinon. - </para> - <para> - <function>ldap_get_entries</function> sert à simplifier la lecture - d'un résultat à plusieurs entrées. Toutes les - informations sont retourné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 à la casse sur les serveurs, mais peuvent ne pas - l'être quand ils sont utilisés comme index) - <informalexample> - <literallayout> -résultat ["compte"] = nombre d'entrées du résultat -résultat [0] : correspond aux détails de la première entrée : -résultat [i]["nd"] = ND de la i-ième entrée -résultat [i][" compte "] = nombre d'attributs de la i-ième entrée -résultat [i][j] = j-ième attribut de la i-ième entrée -résultat [i]["attribut"]["count"] = nombre de valeur pour l'attribut -résultat [i]["attribut"][j] = j-iè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è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é + à la connexion <parameter>link_id</parameter>. Même si les + numéros d'erreur LDAP sont standardisés, différentes + librairies retournent différents messages, ou parfois, des messages + en langue locale. Ne vous fiez pas au message d'erreur, mais bien au + numé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ès, &false; sinon. - </para> - <para> - Le paramè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é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 été ajoutée dans - PHP 4.0.4. - </para> - <para> - <example> - <title>Vé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é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 à scinder le nd + <parameter>dn</parameter> retourné 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 à préciser si le RDN est + retourné avec ses attributs, ou seul. Pour obtenir le RDN et ses + attributs, mettez <parameter>with_attrib</parameter> à 0 et pour + n'avoir que les valeurs, mettez le à 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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + Le comportement est similaire pour les entrées. Les attributs sont lus + séquentiellement dans une entrée particulière. + <function>ldap_first_attribute</function> retourne le premier attribut de + l'entrée désignée par l'identifiant d'entrée. Les + attributs suivants sont accessibles avec + <function>ldap_next_attribute</function>. <parameter>ber_identifier</parameter> + est un identifiant de pointeur de mémoire interne. Il est passé + par référence. Le même identifiant + <parameter>ber_identifier</parameter> est passé à + <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ère entrée en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + Les entrées d'un résultat sont lues sé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ère entrée du résultat. + Cet identifiant sera fourni à <function>ldap_next_entry</function> pour + accéder à la prochaine entré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ère la mémoire prise par un ré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_free_result</function> libère la mémoire + allouée en interne pour enregistrer le résultat pointé + par <parameter>result_identifier</parameter>. A la fin de chaque script, la + mémoire sera de toute manière libérée. + </para> + <para> + Généralement, il n'y a pas besoin de libérer la + mémoire, et le mécanisme automatique de fin de script est + suffisant. Cependant, dans les cas où le script effectue plusieurs + recherches successives, où que les résultats retournés + sont très grands, <function>ldap_free_result</function> permet de + réduire la consommation de mémoire. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-attributes"> + <refnamediv> + <refname>ldap_get_attributes</refname> + <refpurpose> + Retourne les attributs d'une entrée d'un ré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_attributes</function> sert à simplifier la lecture + des attributs et des valeurs d'une entrée dans un résultat. + Le résultat est un tableau multi-dimensionnel, avec les attributs + en clé, et les valeurs des attributs en valeurs. + </para> + <para> + Une fois que vous avez repéré une entré dans un + dossier, vous pouvez lire les informations de cette entrée avec + cette fonction. Vous pouvez utiliser cette fonction pour créer une + application qui se déplace dans les dossiers, sans en connaître + la structure au préalable. Dans de nombreux cas, vous ne chercherez + qu'un attribut particulier (le email, par exemple) et vous ne vous + intéresserez pas aux autres valeurs. + </para> + <para> + <example> + <title>Affichage de la liste des attributs d'une entrée</title> + <programlisting role="php"> +<?php +// $ds est l'identifiant de lien pour ce dossier +// $sr est un résultat de recherche valide, obtenu lors d'une recherche +// précédente + $entry = ldap_first_entry($ds, $sr); + $attrs = ldap_get_attributes($ds, $entry); + echo $attrs["count"]." Attributs dans cette entrée:<p>"; + for ($i=0; $i<$attrs["compte"]; $i++) + echo $attrs[$i]."<br>"; +?> + </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ée d'un ré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ée + en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_dn</function> sert à obtenir le ND d'une + entrée d'un résultat. + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-get-entries"> + <refnamediv> + <refname>ldap_get_entries</refname> + <refpurpose>Retourne toutes les entré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_entries</function> sert à simplifier la lecture + d'un résultat à plusieurs entrées. Toutes les + informations sont retourné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 à la casse sur les serveurs, mais peuvent ne pas + l'être quand ils sont utilisés comme index) + <informalexample> + <literallayout> +résultat ["compte"] = nombre d'entrées du résultat +résultat [0] : correspond aux détails de la première entrée : +résultat [i]["nd"] = ND de la i-ième entrée +résultat [i][" compte "] = nombre d'attributs de la i-ième entrée +résultat [i][j] = j-ième attribut de la i-ième entrée +résultat [i]["attribut"]["count"] = nombre de valeur pour l'attribut +résultat [i]["attribut"][j] = j-iè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ès, <literal>FALSE</literal> sinon. + </para> + <para> + Le paramè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é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 été ajoutée dans + PHP 4.0.4. + </para> + <para> + <example> + <title>Vérification de la version du protocole</title> + <programlisting role="php"> <?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"; ?> - </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ées d'un ré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ès, et &false; sinon. - </para> - <para> - <function>ldap_get_values</function> sert à lire toutes les valeurs - d'un attribut dans une entrée. L'entrée est - référencée par - <parameter>result_entry_identifier</parameter>. Le nombre de valeurs - peut être trouvé à l'index "count" dans le résultat. - Les valeurs sont accessibles par un index entier, qui commence à 0. - </para> - <para> - <function>ldap_get_values</function> nécessite un pointeur de - résultat <parameter>result_entry_identifier</parameter>, ce qui - implique qu'il ait été précédé d'une - recherche sur le serveur, et de l'obtention d'une entré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éder dynamiquement. - </para> - <para> - LDAP autorise plus d'une entrée par attribut, ce qui permet, - par exemple, d'é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ées d'un ré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_get_values</function> sert à lire toutes les valeurs + d'un attribut dans une entrée. L'entrée est + référencée par + <parameter>result_entry_identifier</parameter>. Le nombre de valeurs + peut être trouvé à l'index "count" dans le résultat. + Les valeurs sont accessibles par un index entier, qui commence à 0. + </para> + <para> + <function>ldap_get_values</function> nécessite un pointeur de + résultat <parameter>result_entry_identifier</parameter>, ce qui + implique qu'il ait été précédé d'une + recherche sur le serveur, et de l'obtention d'une entré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éder dynamiquement. + </para> + <para> + LDAP autorise plus d'une entrée par attribut, ce qui permet, + par exemple, d'é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è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"> <?php // $ds est l'identifiant de lien pour ce dossier // $sr est un résultat de recherche valide, obtenu lors d'une recherche // précédente // $entry est un identifiant valide d'entrée -$values = ldap_get_values($ds, $entry,"mail"); -echo $values["count"]." Adresse email dans ce résultat.<p>"; -for ($i=0; $i < $values["count"]; $i++) - echo $values[$i]."<br>"; + $values = ldap_get_values($ds, $entry,"mail"); + echo $values["count"]." Adresse email dans ce résultat.<p>"; + for ($i=0; $i < $values["count"]; $i++) + echo $values[$i]."<br>"; ?> - </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 à partir d'un identifiant - de ré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 à lire toutes les - valeurs d'un attribut d'une entrée dans un résultat. - L'entrée est spécifiée par - <parameter>result_entry_identifier</parameter>. Le nombre de valeurs - trouvées peut être retrouvé en indexant "count" dans - le tableau résultat. On peut accéder aux valeurs individuelles - avec un index numérique, commencant à 0. - </para> - <para> - <function>ldap_get_values_len</function> est utilisée exactement - comme <function>ldap_get_values</function> mais elle gère les - données binaires, et non pas les chaî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ès, - et &false; sinon. - </para> - <para> - <function>ldap_list</function> effecture une recherche avec le filtre7 - donnée, et limité un dossier. - </para> - <para> - LDAP_SCOPE_ONELEVEL indique que la recherche ne doit s'étendre que - dans le dossier immédiatement sous le nd <parameter>base_dn</parameter>. - (Equivalent à taper "ls" et obtenir la liste des fichiers et dossiers du - dossier courant). - </para> - <para> - Cette appel prend un quatrième argument optionnel : un tableau contenant - les attributs recherchés. Reportez vous à - <function>ldap_search</function> pour plus de détails. - <example> - <title>Affiche une liste d'unité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 à partir d'un identifiant + de ré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 à lire toutes les + valeurs d'un attribut d'une entrée dans un résultat. + L'entrée est spécifiée par + <parameter>result_entry_identifier</parameter>. Le nombre de valeurs + trouvées peut être retrouvé en indexant "count" dans + le tableau résultat. On peut accéder aux valeurs individuelles + avec un index numérique, commençant à 0. + </para> + <para> + <function>ldap_get_values_len</function> est utilisée exactement + comme <function>ldap_get_values</function> mais elle gère les + données binaires, et non pas les chaî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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_list</function> effecture une recherche avec le filtre7 + donnée, et limité un dossier. + </para> + <para> + LDAP_SCOPE_ONELEVEL indique que la recherche ne doit s'étendre que + dans le dossier immédiatement sous le nd <parameter>base_dn</parameter>. + (Equivalent à taper "ls" et obtenir la liste des fichiers et dossiers du + dossier courant). + </para> + <para> + Cette appel prend un quatrième argument optionnel : un tableau contenant + les attributs recherchés. Reportez-vous à + <function>ldap_search</function> pour plus de détails. + <example> + <title>Affiche une liste d'unités organisationnelle</title> + <programlisting role="php"> <?php // $ds est un identifiant de connexion valide. -$basedn = "o=Ma Société, c=Fr"; -$justthese = array("ou"); -$sr=ldap_list($ds, $basedn, "ou=*", $justthese); -$info = ldap_get_entries($ds, $sr); -for ($i=0; $i<$info["count"]; $i++) + $basedn = "o=Ma Société, c=Fr"; + $justthese = array("ou"); + $sr=ldap_list($ds, $basedn, "ou=*", $justthese); + $info = ldap_get_entries($ds, $sr); + for ($i=0; $i<$info["count"]; $i++) echo $info[$i]["ou"][0] ; ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ldap-modify"> - <refnamediv> - <refname>ldap_modify</refname> - <refpurpose>Modifie une entré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ès, - et &false; sinon. - </para> - <para> - <function>ldap_modify</function> sert à modifier les entrées - existantes dans un dossier LDAP. La structure de l'entrée est la - même que dé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ès, et &false; sinon. - </para> - <para> - <function>ldap_mod_add</function> ajoute les attributs <parameter>entry</parameter> - à l'entré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ès, et &false; sinon. - </para> - <para> - <function>ldap_mod_del</function> efface les attributs <parameter>entry</parameter> - à l'entré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ès, et &false; sinon.</para> - <para> - <function>ldap_mod_replace</function> remplace les attributs - <parameter>entry</parameter> à l'entré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ès, et sinon, une erreur. - </para> - <para> - <function>ldap_next_attribute</function> sert à lire tous les attributs - d'une entrée. Le pointeur interne est géré par - <parameter>ber_identifier</parameter>. Il est passé par - référence à la fonction. Le premier appel à - <function>ldap_next_attribute</function> est fait avec le - <parameter>result_entry_identifier</parameter> retourné 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ée suivante, dans le résultat qui a été - initialisé par <function>ldap_first_entry</function>. Si il n'y a - plus d'entrée, retourne &false;. - </para> - <para> - <function>ldap_next_entry</function> sert à retrouver toutes les - entrées qui sont stockées dans un résultat. Les - appels successifs à <function>ldap_next_entry</function> retourneront - les entrées une à une. Le premier appel à - <function>ldap_next_entry</function> est fait après un appel à - <function>ldap_first_entry</function> avec - <parameter>result_entry_identifier</parameter> retourné 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é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ésultat - en cas de succè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ée au dossier, ou récursive). - Cela revient à lire une entrée dans un dossier. - </para> - <para> - Les filtres vides ne sont pas autorisé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ées dans - le dossier que vous fouillez, vous pouvez aussi adapter ce filter de la - façon suivante "objectClass=inetOrgPerson". - </para> - <para> - <function>ldap_read</function> dispose de 5 arguments optionnels. - Reportez vous à <function>ldap_search</function>. - </para> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ldap-modify"> + <refnamediv> + <refname>ldap_modify</refname> + <refpurpose>Modifie une entré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ès, + et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_modify</function> sert à modifier les entrées + existantes dans un dossier LDAP. La structure de l'entrée est la + même que dé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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_mod_add</function> ajoute les attributs <parameter>entry</parameter> + à l'entré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ès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_mod_del</function> efface les attributs <parameter>entry</parameter> + à l'entré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ès, et <literal>FALSE</literal> sinon.</para> + <para> + <function>ldap_mod_replace</function> remplace les attributs + <parameter>entry</parameter> à l'entré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ès, et sinon, une erreur. + </para> + <para> + <function>ldap_next_attribute</function> sert à lire tous les attributs + d'une entrée. Le pointeur interne est géré par + <parameter>ber_identifier</parameter>. Il est passé par + référence à la fonction. Le premier appel à + <function>ldap_next_attribute</function> est fait avec le + <parameter>result_entry_identifier</parameter> retourné 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ée suivante, dans le résultat qui a été + initialisé par <function>ldap_first_entry</function>. S'il n'y a + plus d'entrée, retourne <literal>FALSE</literal>. + </para> + <para> + <function>ldap_next_entry</function> sert à retrouver toutes les + entrées qui sont stockées dans un résultat. Les + appels successifs à <function>ldap_next_entry</function> retourneront + les entrées une à une. Le premier appel à + <function>ldap_next_entry</function> est fait après un appel à + <function>ldap_first_entry</function> avec + <parameter>result_entry_identifier</parameter> retourné 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é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ésultat + en cas de succè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ée au dossier, ou récursive). + Cela revient à lire une entrée dans un dossier. + </para> + <para> + Les filtres vides ne sont pas autorisé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ées dans + le dossier que vous fouillez, vous pouvez aussi adapter ce filter de la + façon suivante "objectClass=inetOrgPerson". + </para> + <para> + <function>ldap_read</function> dispose de 5 arguments optionnels. + Reportez-vous à <function>ldap_search</function>. + </para> <note> - <para> - Ces paramètres optionnels ont été ajoutés à 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ésultat - en cas de succè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écursivité LDAP_SCOPE_SUBTREE. Cela revient - à rechercher dans toute la base sous le dossier - <parameter>base_dn</parameter>. - </para> - <para> - Le quatrième paramètre est optionnel, et peut être - ajouté pour restreindre les attributs et les valeurs retournées. - Il est beaucoup plus efficace que la méthode qui consiste à lire - tous les attributs et leur valeurs associées. L'utilisation - de ce quatrième paramètre est encouragé. - </para> - <para> - Le quatrième paramètre est un tableau de chaînes, qui - contient les attributs désirés, array("mail","sn","cn"). Notez - que le nd <parameter>base_dn</parameter> est toujours retourné, - quelques que soient les attributs demandés. - </para> <para> - Notez que certains serveurs sont configurés pour limiter le nombre - de résultats. Si cela arrive, le serveur indiquera qu'il n'a - transféré qu'une partie du résultat. Cela arrivera - aussi si le sixième paramètre <parameter>sizelimit</parameter> a été - utilisé pour limiter le nombre de lignes lues. + Ces paramètres optionnels ont été ajoutés à 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é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ème paramètre <parameter>attrsonly</parameter> - doit être mis à 1 si seuls les types d'attributs sont - demandés. S'il est mis à 0, les types des attributs et leur - valeur seront lue (comportement par défaut). - </para> - <para> - Le sixième paramè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ètre ne peut PAS annuler la configuration - du serveur. Il peut seulement la réduire. - </para> - <para> - Le septième paramètre <parameter>timelimit</parameter> fixe la durée - de la recherche en seconde. 0 indique qu'il n'y a pas - de limite. NOTE : ce paramètre ne peut PAS annuler la configuration - du serveur. Il peut seulement la réduire. - </para> - <para> - Le huitième paramètre <parameter>deref</parameter> indique - le comportement à suivre avec les alias durant une recherche. - Sa valeur peut être l'une de celles-ci : - <itemizedlist> + <function>ldap_rename</function> renomme (ou déplace) l'entrée + <parameter>dn</parameter>. Le nouveau RDN est spécifié par + <parameter>newrdn</parameter> et le nouveau père est spécifié par + <parameter>newparent</parameter>. Si le paramètre + <parameter>deleteoldrdn</parameter> est <literal>TRUE</literal>, + l'ancienne valeur sera supprimée et la nouvelle valeur sera + retenue. <function>ldap_rename</function> retourne <literal>TRUE</literal> + en cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ldap_rename</function> ne fonctionne qu'avec LDAPv3. + Pour les anciennes versions, utilisez plutô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 été ajouté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ésultat + en cas de succè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écursivité LDAP_SCOPE_SUBTREE. Cela revient + à rechercher dans toute la base sous le dossier + <parameter>base_dn</parameter>. + </para> + <para> + Le quatrième paramètre est optionnel, et peut être + ajouté pour restreindre les attributs et les valeurs retournées. + Il est beaucoup plus efficace que la méthode qui consiste à lire + tous les attributs et leur valeurs associées. L'utilisation + de ce quatrième paramètre est encouragé. + </para> + <para> + Le quatrième paramètre est un tableau de chaînes, qui + contient les attributs désirés, array("mail","sn","cn"). Notez + que le nd <parameter>base_dn</parameter> est toujours retourné, + quelques que soient les attributs demandés. + </para> + <para> + Notez que certains serveurs sont configurés pour limiter le nombre + de résultats. Si cela arrive, le serveur indiquera qu'il n'a + transféré qu'une partie du résultat. Cela arrivera + aussi si le sixième paramètre <parameter>sizelimit</parameter> a été + utilisé pour limiter le nombre de lignes lues. + </para> + <para> + Le cinquième paramètre <parameter>attrsonly</parameter> + doit être mis à 1 si seuls les types d'attributs sont + demandés. S'il est mis à 0, les types des attributs et leur + valeur seront lue (comportement par défaut). + </para> + <para> + Le sixième paramè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ètre ne peut PAS annuler la configuration + du serveur. Il peut seulement la réduire. + </para> + <para> + Le septième paramètre <parameter>timelimit</parameter> fixe la durée + de la recherche en seconde. 0 indique qu'il n'y a pas + de limite. NOTE : ce paramètre ne peut PAS annuler la configuration + du serveur. Il peut seulement la réduire. + </para> + <para> + Le huitième paramètre <parameter>deref</parameter> indique + le comportement à suivre avec les alias durant une recherche. + Sa valeur peut être l'une de celles-ci : + <itemizedlist> <listitem> <simpara> LDAP_DEREF_NEVER - (par défaut) les alias ne sont pas déréférencés. @@ -1437,150 +1493,157 @@ LDAP_DEREF_ALWAYS - les alias sont toujours déréférencés. </simpara> </listitem> - </itemizedlist> - </para> - <para> - Ces paramètres optionnels ont été ajoutés à partir de la version 4.0.2: - <parameter>attrsonly</parameter>, - <parameter>sizelimit</parameter>, - <parameter>timelimit</parameter>, - <parameter>deref</parameter>. - </para> - <para> - La chaîne de filtre peut être simple ou complexe. Elle utilise les opérateurs - booléens au même format que celui dé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écupère toutes les unités organisationnelles, le nom, prénom et - email, dans la société "Ma Société" oú le nom et prénom contiennent la sous-chaîne - $person. Cet exemple utilise un filtre boolé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ètres optionnels ont été ajoutés à partir de la version 4.0.2: + <parameter>attrsonly</parameter>, + <parameter>sizelimit</parameter>, + <parameter>timelimit</parameter>, + <parameter>deref</parameter>. + </para> + <para> + La chaîne de filtre peut être simple ou complexe. Elle utilise les opérateurs + booléens au même format que celui dé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écupère toutes les unités + organisationnelles, le nom, prénom et email, dans la + société "Ma Société" où + le nom et prénom contiennent la sous-chaîne + $person. Cet exemple utilise un filtre booléen pour + indiquer au serveur qu'il doit + rechercher des informations dans plusieurs attributs. + <example> + <title>Recherche LDAP</title> + <programlisting role="php"> <?php // $ds est un identifiant valide de connexion à un serveur LDAP // $person est tout ou une partir d'un nom -$dn = "o=Ma Société, 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ées retournées.<p>"; + $dn = "o=Ma Société, 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ées retournées.<p>"; ?> - </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ès, &false; sinon. - </para> - <para> - Le paramè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è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ère, - LDAP_OPT_REFERRALS et LDAP_OPT_RESTART sont des booléens, et - LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING et LDAP_OPT_MATCHED_DN - sont des chaînes de caractères. Le premier exemple illustre leur utilisation. - LDAP_OPT_SERVER_CONTROLS et LDAP_OPT_CLIENT_CONTROLS requiert une liste de - contrôles, ce qui signifie que la valeur peut être un tableau de contrôles. - Un contrôle est constitué d'un <emphasis>oid</emphasis> identifiant le contrôle, - d'une valeur <emphasis>value</emphasis> optionnelle, et d'un flag optionnel - de <emphasis>criticalité</emphasis>. En PHP un contrôle est un tableau - ayant la clé <emphasis>oid</emphasis> et une valeur sous forme de chaîne, - ainsi que deux éléments optionnels. Ces éléments ont pour clé - <emphasis>value</emphasis>, sous forme de chaîne, et une clé - <emphasis>iscritical</emphasis> contenant un booléen. - Par dé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 été ajouté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ès, <literal>FALSE</literal> sinon. + </para> + <para> + Le paramè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è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ère, + LDAP_OPT_REFERRALS et LDAP_OPT_RESTART sont des booléens, et + LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING et LDAP_OPT_MATCHED_DN + sont des chaînes de caractères. Le premier exemple illustre leur utilisation. + LDAP_OPT_SERVER_CONTROLS et LDAP_OPT_CLIENT_CONTROLS requiert une liste de + contrôles, ce qui signifie que la valeur peut être un tableau de contrôles. + Un contrôle est constitué d'un <emphasis>oid</emphasis> identifiant le contrôle, + d'une valeur <emphasis>value</emphasis> optionnelle, et d'un flag optionnel + de <emphasis>criticalité</emphasis>. En PHP un contrôle est un tableau + ayant la clé <emphasis>oid</emphasis> et une valeur sous forme de chaîne, + ainsi que deux éléments optionnels. Ces éléments ont pour clé + <emphasis>value</emphasis>, sous forme de chaîne, et une clé + <emphasis>iscritical</emphasis> contenant un booléen. + Par dé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 été ajoutée en PHP 4.0.4. + </para> + <para> + <example> + <title>Modification de la version du protocole</title> + <programlisting role="php"> <?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"; ?> - </programlisting> - </example> - <example> - <title>Modifier les contrôles du serveur LDAP</title> - <programlisting role="php"> + </programlisting> + </example> + <example> + <title>Modifier les contrôles du serveur LDAP</title> + <programlisting role="php"> +<?php // $ds est un lien valide LDAP // control n'est pas une valeur -$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => TRUE); -// iscritical vaut par défaut FALSE $ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic"); + $ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => TRUE); +// iscritical vaut par défaut <literal>FALSE</literal> + $ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic"); // modification des deux contrô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ès, - et &false; sinon. - </para> - <para> - <function>ldap_unbind</function> termine la liaison avec le serveur LDAP. - </para> - </refsect1> - </refentry> - </reference> +?> + </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è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