[PHP/LDAP] - Récupérer TOUS les attributs
Vince
-
Guilty Glitch -
Guilty Glitch -
Bonjour,
je cherche à obtenir TOUS les champs d'une personne, même (et surtout) les champs calculés comme createTimestamp).
Lorsque je fais :
si je mets
ces valeurs n'apparaissent pas. Je suis obligé de toutes les ajouter une par une dans $attributes
N'y a-t-il pas un moyen de récupérer toutes les valeurs sans les spécifier 1 par 1 ???
Merci :-)
je cherche à obtenir TOUS les champs d'une personne, même (et surtout) les champs calculés comme createTimestamp).
Lorsque je fais :
ldap_search($cnx, $rech_dn, $filter, $attributes, $types, $nb_res, $time, $deref);
si je mets
$attributes = array();
ces valeurs n'apparaissent pas. Je suis obligé de toutes les ajouter une par une dans $attributes
N'y a-t-il pas un moyen de récupérer toutes les valeurs sans les spécifier 1 par 1 ???
Merci :-)
4 réponses
-
Même problème.
Solution trouvée:
ldap_search(... , $filter, array('*','createtimestamp','modifytimestamp'));
* pour tous + les spéciaux qu'on veut :) -
foreach($attributes as $key => $value) echo $key." - ".$value;
-
euh... non désolé mais c'est pas bon... :(
ton code me liste les noms des attributs que j'ai spécifié dans $attributes, or ce que je cherche c'est un moyen de dire que $attributes contienne tous les attributs disponibles (quelque chose du style$attributes = ALL
au lieu d'écrire$attributes = array("uid", "mail", "mailhost", "createtimestamp", "modifytimestamp", "creatorsname", "modifiersname", "subschemasubentry");
aurais-tu une idée ?
Merci
Vincent -
-
Ah, un bon point ! :-D
Malheureusement j'ai l'impression qu' * fonctionne pour les principaux attributs utilisateurs mais pas pour les principaux attributs opérationnels... :-(
(le ldap_search() me retourne bien mail, uid (...) mais pas createtimestamp & Cie...)
cf. : http://www.commentcamarche.net/ldap/ldapinfo.php3
Donc c'est déjà ça de gagné ;-)
Mais c'est pas encore tout à fait ça... :-( -
-
oui je suis d'accord :-)
mais du coup tu vas peut-être pouvoir m'éclairer sur un point :
la fonction ldap_search possède 8 attributs :resource ldap_search ( resource link_identifier, string base_dn, string filter [, array attributes [, int attrsonly [, int sizelimit [, int timelimit [, int deref]]]]])
je pourrais effectivement m'arrêter aux 3 attributs obligatoires, mais vu que je veux spécifier une valeur au dernier attribut (deref) je suis obligé de renseigner tous les attributs jusqu'à lui ; du moins je crois. Est-ce que c'est bien le cas ?
Comment ferais-tu à ma place pour spécifier juste les 3 premiers et le dernier stp ?
Merci et on pourra en rester là ! :-D
-
-
Ben non ça marche pas (ni l'un ni l'autre), il me dit que le paramètre attendu est du type tableau ! C'est pour ça que je mettais
$attributes = array();
tant pis, et merci ! :-) -
print_r($attributes) ;
foreach($attributes as $key => $value) {
echo 'Cle : '.$key.' -- Valeur : '.$value.'<br/>' ;
}