Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.73 ">

ldap_set_option

(PHP 4 >= 4.0.4)

ldap_set_option -- Modifie une option LDAP

Description

boolean ldap_set_option ( resource link_identifier, int option, mixed newval)

ldap_set_option() remplace la valeur de l'option option par newval, et retourn TRUE en cas de succès, TRUE sinon.

Le paramètre option 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 draft-ietf-ldapext-ldap-c-api-xx.txt.

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 oid identifiant le contrôle, d'une valeur value optionnelle, et d'un flag optionnel de criticalité. En PHP un contrôle est un tableau ayant la clé oid et une valeur sous forme de chaîne, ainsi que deux éléments optionnels. Ces éléments ont pour clé value, sous forme de chaîne, et une clé iscritical contenant un booléen. Par défaut, iscritical vaut TRUE Voyez aussi l'exemple ci-dessous.

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.

Exemple 1. Modification de la version du protocole

<?php
// $ds est un identifiant valide d'annuaire
  if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3))
    echo "Utilisons LDAPv3";
  else
    echo "Impossible de changer le protocole en version 3";
?>

Exemple 2. Modifier les contrôles du serveur LDAP

<?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 TRUE
  $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)))
    echo "Impossible de se connecter au serveur";
?>

Voir aussi ldap_get_option().