Bonjour,
avec le LDAP je souhaite récupérer un liste de "people" qui commence par UP = * , mais je
ne sais pas comment m'y prendre ,
voici mon bout de script
voici le résultat d'un membre trouvé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 public function typeMemberOf(){ echo "<h1>prof LDAP</h1>"; $arbre= "OU=LYON,OU=Etudiants,OU=People,DC=x,DC=x"; $results = ldap_search($this->LDAP_anonym, $arbre, "memberof=*"); $member_list = ldap_get_entries($this->LDAP_anonym, $results); //var_dump($member_list); } public function decompMemberOf($memberOf){ for($i=0; $i<10;$i++){ if(isset($memberOf[0]['memberof'][$i])) { echo "<tr style='background:orange'>"; echo "<td>index people: $i :</td>"; echo "<td>type people:</td><td>".$memberOf[0]['memberof'][$i]."</td>"; echo "</tr>"; } } } public function findMembre($nom,$type) //E = etudiant, P=enseignant { echo "<h1>recherche l'enseignant ".$nom."</h1>"; $arbre= "OU=LYON,".$this->type_prof.",OU=People,DC=x,DC=x"; $filtre ="sn=".$nom.""; $results = ldap_search($this->LDAP_anonym, $arbre, $filtre); $member_list = ldap_get_entries($this->LDAP_anonym, $results); if($member_list['count'] > 0){ echo "<h1>fiche complete de ".$nom."</h1>"; echo "<table style='border:1px solid green'>"; echo "<tr>"; echo "<td>login :</td><td>".$member_list[0]['cn'][0]."</td>"; echo "</tr>"; echo "<tr>"; echo "<td>firstname (nom famillle):</td><td>".$member_list[0]['sn'][0]."</td>"; echo "</tr>"; echo "<tr>"; echo "<td>lastname (prenom):</td><td>".$member_list[0]['givenname'][0]."</td>"; echo "</tr>"; echo "<tr>"; echo "<td>campus:</td><td>".$member_list[0]['l'][0]."</td>"; echo "</tr>"; echo "<tr>"; echo "<td>description:</td><td>".$member_list[0]['description'][0]."</td>"; echo "</tr>"; $this->decompMemberOF($member_list); echo "</table>"; } else{ echo "ce membre n'existe pas dans le LDAP"; } } //....... $ldap = new LDAP $ldap -> findMembre('totot','etudiant');
en décomposant people il y en a 8
ce qu'il m'intéresse c'est l'index 5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 index people: 0 : type people: CN=GS_tous_D,OU=Groupes_SECURITE_DYNAMIQUE, index people: 1 : type people: CN=GD_valideurs.carambole,OU=Groupes_DIFFUSION_DYNAMIQUE index people: 2 : type people: CN=GD_mc-electionsca2013.veto,OU=Groupes_DIFFUSION_DYNAMIQU index people: 3 : type people: CN=GD_departement.pa,OU=Groupes_DIFFUSION_DYNAMIQUE index people: 4 : type people: CN=GS_Gegaz,OU=LYON,OU=Groupes_SECURITE_STATIQUE index people: 5 : type people: CN=UP-GESTION-ELEVAGE,OU=Groupes_SECURITE_DYNAMIQUE index people: 6 : type people: CN=GD_responsables.listes,OU=Groupes_DIFFUSION_DYNAMIQUE index people: 7 : type people: CN=GD_responsables.dept,OU=Groupes_DIFFUSION_DYNAMIQUE index people: 8 : type people: CN=GD_medpopvisites,OU=Groupes_DIFFUSION_DYNAMIQUE index people: 9 : type people: CN=GD_medpop,OU=Groupes_DIFFUSION_DYNAMIQUE
c'est une longue chaîne de caractère,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2index people: 5 : type people: CN=UP-GESTION-ELEVAGE,OU=Groupes_SECURITE_DYNAMIQUE
mais j'aimerais lister des différents CN=UP * qu'il existe dans ce LDAP, il y en a une 50 ,
je pourrais tous les prendre et faire un array_unique mais il y a a beaucoup trop 2000.
en mettant un
comment faut 'il filtrer correctement cela ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $filtre ="sn=*";
je vous remercie d'avance pour la réponse![]()








Répondre avec citation
Partager