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

++