Bonjour,
Par avance, merci � ceux qui se pencheront sur mon soucis.
a. Projet
Afficher le plan d'un �tage d'un b�timent - ok
Faire en sorte que chaque pi�ce soit cliquable (map et area) - ok
Soit :
Lorsque l'on clique sur une pi�ce, qu'une frame soit mis � jour - ok
Dans cette frame s'affiche la liste des occupants de ce bureau via une requ�te Active Directory - Soucis.
Ou soit :
Je pense que c'est plus compliqu�, mais sinon ne pas utiliser de frame et afficher directement dans chaque area le r�sultat des requ�tes ldap et cela pour chaque pi�ce, d�s que le fichier php "BatA-2eme.php" est charg�.
b. Soucis
* J'aimerai passer une variable du fichier BatA-2eme.php, contenant le num�ro du bureau qui correspond au bureau sur lequel on clic ("area"), vers le fichier requete-ldap.php.
c. Mon arborescence
* MAP
* index.php* BatA-2eme.php* requete-ldap.php* css� demo.css* img� BatA-NIV1.jpg* js� jquery.maphilight.min.js� jquery-1.9.0.min.js
d. Ressource
http://www.ericmmartin.com/projects/simplemodal-demos/#
https://github.com/kemayo/maphilight
e. index.php
Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 <html> <head> <title>mappage</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <FRAMESET COLS="30%,70%"> <FRAME SRC="requete-ldap.php" NAME="fenetreA"> <FRAME SRC="BatA-2eme.php" NAME="fenetreB"> </FRAMESET> </html>
f. BatA-2eme.php
J'ai essay� de r�cup�rer le "name" de l'area qui vient d'�tre s�lectionne via une fonction javascript (voir variable namearea) pour ensuite la transf�rer dans le fichier requete-ldap.php. Mais dans ce second fichier seul une requete javascript r�cup�re la variable et malheureusement pas php.
Code html : 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 <html> <head> <title>mappage</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="text/javascript" src="js/jquery-1.9.0.min.js"></script> <script type="text/javascript" src="js/jquery.maphilight.min.js"></script> <script type="text/javascript">$(document).ready(function() { $(function() { $('.map').maphilight(); $('#squidheadlink').mouseover(function(e) { $('#squidhead').mouseover(); }).mouseout(function(e) { $('#squidhead').mouseout(); }).click(function(e) { e.preventDefault(); }); }); }); </script><br /> <!-- Page styles --> <link type='text/css' href='css/demo.css' rel='stylesheet' media='screen' /> </head> <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <div id='container'> <div id='content'> <img class="map" alt="" src="img/BatA-NIV2.jpg" usemap="#mappage_Map" border="0" > <map name="mappage_Map"> <area id="A200" title="A200" alt="" coords="370,315,371,409,456,409,456,318" shape="poly" href="#" data-maphilight='{"strokeColor":"00bfff","strokeWidth":2,"fillColor":"00bfff","fillOpacity":0.2}' /> <area ... /> ... </map> </div> </div> </br> <script type="text/javascript"> var namearea = 0; $('area').click(function(e) { namearea = $(this).attr('name'); // alert(namearea); parent.fenetreA.window.location="requete-ldap.php" }); </script> </body> </html> </br>
g. requete-ldap.php
Lorsque je clique sur une area, j'ai bien l'alerte ( alert(desk); ) qui s�ex�cute, mais impossible d'utiliser cette variable (desk) dans php !!!
Code html : 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 <script type="text/javascript"> desk = window.parent.fenetreB.namearea if (desk === undefined || desk === null) { } else { alert(desk); } </script> <?php //$desk = "A210"; $Conf_LDAP_Server = 'xxxx'; // "MyServer.MyDomain"; $Conf_Def_Dom = 'xxxx'; // "MyDomain"; $ldap_server = "ldap://".$Conf_LDAP_Server; $auth_user = 'xxxx@xxxx'; $auth_pass = 'xxxx'; $FiltreSearch = "(&(objectClass=user)(objectCategory=person)(postOfficeBox=$desk))"; $search = "OU=xxxxx,OU=xxxxx,DC=xxxxx,DC=xxxxx"; $connect = ldap_connect($ldap_server); ldap_set_option ($connect, LDAP_OPT_REFERRALS, 0) or die('Unable to set LDAP opt referrals'); ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3) or die('Unable to set LDAP protocol version'); ldap_bind($connect, $auth_user, $auth_pass); $sr = ldap_search($connect, $search, $FiltreSearch); $data = ldap_get_entries($connect, $sr); $infoLDAP = ldap_get_entries($connect, $sr); ldap_close($connect); $info = array(); $nom = array(); $groupe = array(); $body = '<br/><div id="Bureau"><h3>Bureau '.$desk.'</h3><p></p>'; for($i=0,$j=0 ; $i<count($infoLDAP) ; $i++,$j++) { if( !empty($infoLDAP[$i]['sn'][0]) && !empty($infoLDAP[$i]['givenname'][0]) && !empty($infoLDAP[$i]['memberof'][0]) ) { $nom = utf8_encode($infoLDAP[$i]['sn'][0]); $prenom = utf8_encode($infoLDAP[$i]['givenname'][0]); $infomail = utf8_encode($infoLDAP[$i]['userprincipalname'][0]); $body .= '<br/>'.$nom; $body .= '<br/>'.$prenom; $body .= '<br/>'.$infomail; $body .= '<br/>'.'<br/>'; } else { $j--; } } echo $body.'</div>'; ?>
Merci � ceux qui pourront me guider ou me solutionner ce soucis.
Cdt
++
Partager