ldap_modify_batch
(PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0, PHP 7)
ldap_modify_batch — Mets en lot des modifications et les exécute sur une entrée LDAP
Description
$link_identifier
, string $dn
, array $entry
[, array $serverctrls
= array()
] ) : boolModifie une entrée existante dans un dossier LDAP. Permet de spécifier de façon détaillée les modifications à effectuer.
Liste de paramètres
-
link_identifier
-
Un identifiant de lien LDAP, retourné par la fonction ldap_connect().
-
dn
-
Le nom unique de l'entrée LDAP.
-
entry
-
Un tableau qui spécifie les modifications à réaliser. Chaque entrée de ce tableau est un tableau associatif contenant deux ou trois clés : attrib correspond au nom de l'attribut à modifier, modtype correspond au type de modification à réaliser, et (suivant le type de modification) values correspond à un tableau de valeurs d'attribut correspondant à la modification.
Les valeurs possibles pour modtype sont :
-
LDAP_MODIFY_BATCH_ADD
-
Chaque valeur spécifiée via values est ajoutée (comme valeur additionnelle) à l'attribut nommé par attrib.
-
LDAP_MODIFY_BATCH_REMOVE
-
Chaque valeur spécifiée via values est supprimée depuis l'attribut nommée par attrib. Toutes les valeurs de l'attribut n'étant pas présentes dans le tableau values demeureront inchangées.
-
LDAP_MODIFY_BATCH_REMOVE_ALL
-
Toutes les valeurs sont supprimées depuis l'attribut nommé par attrib. Une entrée values n'a pas besoin d'être fournie.
-
LDAP_MODIFY_BATCH_REPLACE
-
Toutes les valeurs courantes de l'attribut nommé par attrib sont remplacées avec les valeurs spécifiées via le tableau values.
Notez que toutes les valeurs de attrib doivent être des chaînes de caractères, toutes les valeurs de values doivent être un tableau de chaînes de caractères, et toutes les valeurs de modtype doivent être une des constantes LDAP_MODIFY_BATCH_*.
-
-
serverctrls
-
Tableau de Contrôles LDAP à envoyer avec la requête.
Exemples
Exemple #1 Ajout d'un numéro de téléphone à un contact
<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "telephoneNumber",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => ["+1 555 555 1717"],
],
];
ldap_modify_batch($connection, $dn, $modifs);
?>
Exemple #2 Renomme un utilisateur
<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "sn",
"modtype" => LDAP_MODIFY_BATCH_REPLACE,
"values" => ["Smith-Jones"],
],
[
"attrib" => "givenName",
"modtype" => LDAP_MODIFY_BATCH_REPLACE,
"values" => ["Jack"],
],
];
ldap_modify_batch($connection, $dn, $modifs);
ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE);
?>
Exemple #3 Ajoute deux adresses emails à un utilisateur
<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "mail",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => [
"jack.smith@example.com",
"jack.smith-jones@example.com",
],
],
];
ldap_modify_batch($connection, $dn, $modifs);
?>
Exemple #4 Modifie le mot de passe d'un utilisateur
<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "userPassword",
"modtype" => LDAP_MODIFY_BATCH_REMOVE,
"values" => ["Tr0ub4dor&3"],
],
[
"attrib" => "userPassword",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => ["correct horse battery staple"],
],
];
ldap_modify_batch($connection, $dn, $modifs);
?>
Exemple #5 Modifie le mot de passe d'un utilisateur (Active Directory)
<?php
function adifyPw($pw)
{
return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"');
}
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com";
$modifs = [
[
"attrib" => "unicodePwd",
"modtype" => LDAP_MODIFY_BATCH_REMOVE,
"values" => [adifyPw("Tr0ub4dor&3")],
],
[
"attrib" => "unicodePwd",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => [adifyPw("correct horse battery staple")],
],
];
ldap_modify_batch($connection, $dn, $modifs);
Version en cache
04/11/2024 21:11:24 Cette version de la page est en cache (à la date du 04/11/2024 21:11:24) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.ldap-modify-batch.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.