--- /dev/null
+Installation :\r
+\r
+1 - Decompacter AnaisWeb dans le repertoire DOCUMENT_ROOT d Apache.\r
+\r
+2 - Dans le fichier ./www/AnaisWeb/Commun/Session/creesessionanais.inc\r
+ $_SESSION['maitre_serv_a'] = "N° IP du serveur LDAP";\r
+ $_SESSION['base_serv_a'] = "base_de_recherche_dans_l_annuaire";\r
+ \r
+3 - Dans le fichier ./www/AnaisWeb/Commun/Js/local.js, pour la fonction de retour\r
+ maFonctionA(typ, cn, dn, mail, uid, sn) { ...\r
+ modifier les variables apres le dn passees en parametre (typ, cn et dn ne doivent pas etre touches)\r
+ en fonction des champs souhaites.\r
+\r
+4 - Dans le fichier ./www/AnaisWeb/Commun/Js/local.js,\r
+ pour la(les) fonction(s) choixAnaisxxx, modifier les parametres :\r
+ m_type = 'Code retourne avec le choix'; (exemple CC pour copie cachee, A, vide, etc ...)\r
+ m_champ = 'mail,uid,sn'; (champs retournes avec le choix de la boite),\r
+ en coherence avec les parametres de la fonction de retour maFonction du paragraphe 3.\r
+\r
+\r
+\r
+La page index.php ou pageun.htm doit alors etre operationnelle.
\ No newline at end of file
--- /dev/null
+Voici une nouvelle version d'AnaisWeb
+Elle permet de repondre a 2 points:
+-Choix des attributs desirs lors d'une selection
+ Voir le ALire.txt
+-Prise en compte des evolutions d'AnaisWeb
+ Pour l'instant la version ne sait faire que des choix simples
+ A terme, AnaisWeb permettra de faire les choix Pour/Cc/Bcc.
+ L'appli selon ses besoins (choix d'une personne pour un
+ rendez-vous ou choix des destinataires pour un messages, ...)
+ devra pouvoir demander une fenetre AnaisWeb avec le choix
+ ou sans le choix Pour/Cc/Bcc
+ Il faudra aussi que l'appli sache recuperer le type de choix
+ pour chaque choix.
+ Pour cela, un champ typ est utilise lors de l'appel et un champ
+ typ est renvoye lors du retour.
+ Actuellement, AnaisWeb ne sait pas faire le choix Pour/Cc/Bcc.
+ La valeur du champ typ en entree est renvoyee en sortie.
+ Cela facilite certaines implementations (voir l'exemple).
+ Dans le futur, il faudrait employer typ="DEST-MESS" pour
+ avoir un AnaisWeb avec choix Pour/Cc/Bcc et la valeur du retour
+ sera "Pour" ou "Cc" ou "Bcc".
+ MAIS pour avoir une mise en oeuvre compatible Anais actuel et
+ futur Anais dans le cadre d'une interface efficace avec choix
+ des Pour/Cc/Bcc, la future version passera en mode "Pour/Cc/Bcc"
+ si typ vaut une des 3 valeurs "Pour" "Cc" ou "Cci" qui doivent
+ etre utilisees des maintenant dans une mise en oeuvre du type
+ de l'exemple. (Attention l'exemple utilise "A" pour "Pour",
+ terme actuel de Thunderbird) Dans ce cas, un appel avec
+ typ="Pour" pourra renvoyer un typ=Cc ... qu'il faudra pourvoir
+ traiter.
+ Pour resumer, il faut viser une mise en oeuvre du meme type
+ que l'exemple...
+
+On attends vos remarques
--- /dev/null
+<?php
+
+function traiteDN( $dn, $type, $champ )\r
+{\r
+session_cache_limiter('nocache');
+
+$sep="\t";
+
+ $champs=explode(",", $champ);
+
+ // $champs_b=array("mineqTypeEntree", "mineqPortee", "cn", "mail", "uid");
+ $champs_b=array("mineqTypeEntree", "mineqPortee", "cn");
+// $champs_b=array("mineqTypeEntree", "mineqPortee");
+ for($i=0; $i < count($champs); $i++)
+ {
+ $champs[$i]=trim($champs[$i]);
+ if(strlen($champs[$i]) > 0)
+// $champs_b[3+$i]=$champs[$i];
+ $champs_b[]=$champs[$i];
+ }
+
+ $connect=ldap_connect($_SESSION['maitre_serv_a']);
+
+ if($connect)
+ {
+ ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
+ $bind=ldap_bind($connect);
+ if($bind)
+ {
+ $w_arbre_a=array();
+
+ $champs_u=array("ou", "description");
+
+ $search_o=ldap_list($connect, $dn, "objectClass=organizationalUnit", $champs_u);
+ //if(TRACE==1) $nb_r++;
+ if( $search_o )
+ {
+ $unites=ldap_first_entry($connect, $search_o);
+
+ while($unites)
+ {
+ $description=ldap_get_values($connect,$unites,"description");
+ $dn4=ldap_get_dn($connect,$unites);
+ $w_arbre_a[]=$dn4;
+ $_SESSION['arbre_a_data'][$dn4]="<b>".utf8_decode($description[0])."</b>".$sep."0";
+
+ $unites=ldap_next_entry($connect, $unites);
+ }
+ ldap_free_result($search_o);
+ }
+
+
+
+ $search_b=ldap_list($connect, $dn, "mail=*", $champs_b);
+ if( $search_b )
+ {
+ $boite=ldap_first_entry($connect, $search_b);
+ while($boite)
+ {
+ $cnb=ldap_get_values($connect,$boite,"cn");
+ $entree=@ldap_get_values($connect,$boite,"mineqTypeEntree");
+ $portee=@ldap_get_values($connect,$boite,"mineqPortee");
+// $mail=ldap_get_values($connect,$boite,"mail");
+// $uid=@ldap_get_values($connect,$boite,"cn");
+ for($j=0; $j < count($champs); $j++)
+ $val[$j]=@ldap_get_values($connect,$boite,"$champs[$j]");
+
+ $dn4=ldap_get_dn($connect,$boite);
+ $w_arbre_a[]=$dn4;
+ $typeb=0;
+ if( strcasecmp( $entree[0], "BALI" ) == 0 ) $typeb+=10;
+ else if( strcasecmp( $entree[0], "BALS" ) == 0 ) $typeb+=11;
+ else if( strcasecmp( $entree[0], "BALU" ) == 0 ) $typeb+=12;
+ else if( strcasecmp( $entree[0], "BALF" ) == 0 ) $typeb+=13;
+ else if( strcasecmp( $entree[0], "BALA" ) == 0 ) $typeb+=14;
+ else if( strcasecmp( $entree[0], "BALR" ) == 0 ) $typeb+=15;
+ else if( strcasecmp( $entree[0], "LDIS" ) == 0 ) $typeb+=2;
+ else if( strcasecmp( $entree[0], "LDAB" ) == 0 ) $typeb+=2;
+ else $typeb+=10;
+ if(intval($portee[0]) < 21)
+ $typeb+=50;
+ $tmp=utf8_decode($cnb[0]).$sep.$typeb.$sep.$dn4;
+ for($j=0; $j < count($champs); $j++)
+ $tmp=$tmp.$sep.$val[$j][0];
+ $_SESSION['arbre_a_data'][$dn4]=$tmp;
+/*
+ $_SESSION['arbre_a_data'][$dn4]=utf8_decode($cnb[0]).$sep.
+ $typeb.$sep.
+ utf8_decode($mail[0]).$sep.
+ utf8_decode($uid[0]);
+*/
+
+ $boite=ldap_next_entry($connect, $boite);
+ }
+ ldap_free_result($search_b);
+ }
+
+// $_SESSION['arbre_a_data'] = $arbre_a_data;
+
+ usort( $w_arbre_a, 'compare' );
+ $_SESSION['arbre_a'][$dn] = $w_arbre_a;
+// $_SESSION['arbre_a'] = $arbre_a;
+ }
+ else
+ {
+ printf("Probleme de connexion au serveur");\r
+ }
+ ldap_close($connect);
+ }
+ else
+ {
+// echo "Problème lors de la connection au serveur ldap\nerreur = ".ldap_error($connect)."(code=".ldap_errno($connect).")";\r
+ ?>\r
+ <script>\r
+ javascript:alert('Problème lors de la connection au serveur ldap');\r
+ </script>\r
+ <?
+ }
+
+ return;\r
+}
+\r
+function compare( $dn1, $dn2 )
+{
+
+ $wdn1 = explode( "\t", $_SESSION['arbre_a_data'][$dn1] );
+ $wdn2 = explode( "\t", $_SESSION['arbre_a_data'][$dn2] );
+
+ assert( is_array( $wdn1 ) );
+ assert( is_array( $wdn2 ) );
+
+ if( 0 === strcasecmp( $wdn1[0], $wdn2[0] ) )
+ return 0;
+
+ $wval1=intval($wdn1[1]); if($wval1 > 49) $wval1-=50;
+ $wval2=intval($wdn2[1]); if($wval2 > 49) $wval2-=50;
+ if( $wval1 < 10 ) $wtmp1=strval($wval1)."0".$wdn1[0];
+ else $wtmp1=strval($wval1).$wdn1[0];
+ if( $wval2 < 10 ) $wtmp2=strval($wval2)."0".$wdn2[0];
+ else $wtmp2=strval($wval2).$wdn2[0];
+
+ return strcasecmp( $wtmp1, $wtmp2 );
+}
+
+?>
\ No newline at end of file
--- /dev/null
+<?
+ session_cache_limiter('nocache');
+// session_start();
+ require( "ico.inc");
+ $m_fonc=$_GET['m_fonc'];
+ $m_type=$_GET['m_type'];
+ $m_champ=$_GET['m_champ'];
+// $niv=$_GET['niv'];
+
+// $time1=time();
+
+ $affiche=9;
+
+ ob_start();
+ $maxlevel=20;
+ echo "<table cellspacing=0 cellpadding=0 border=0 cols=".($maxlevel).">\n";
+ echo "<tr>";
+ for ($i=0; $i<$maxlevel; $i++) echo "<td width=16></td>";
+ echo "\n<td width=600></td>";
+ echo "</tr>\n";
+
+ // is the root of the tree expanded already?
+ if( isset( $_SESSION['arbre_a'][$_SESSION['base_serv_a']] ) ) {
+ $expand_href = "collapseanais.php?" . "affiche=". $affiche ."&niv=0&dn=" . $_SESSION['base_serv_a'] .
+ "&m_fonc=" . $m_fonc . "&m_type=" . $m_type . "&m_champ=" . $m_champ;
+ $expand_img = $img_collapse;
+ } else {
+ $expand_href = "expandanais.php?" . "affiche=". $affiche ."&niv=0&dn=" . $_SESSION['base_serv_a'] .
+ "&m_fonc=" . $m_fonc . "&m_type=" . $m_type . "&m_champ=" . $m_champ;
+ $expand_img = $img_expand;
+ }
+
+ echo "<td><a href=\"".$expand_href."\"><img src=\"".$expand_img."\" border=no></a></td>"; // signe plus ou moins
+ echo "<td><a href=\"".$expand_href."\"><img src=\"".$img_dossier."\" border=no></a></td>\n"; // icone dossier
+
+ echo "<td align=left colspan=\"98\"> <nobr><B>".utf8_decode($_SESSION['lib_serv_a'])."</B></nobr></td>\n";
+
+ /****************************************/
+ /* end row */
+ /****************************************/
+
+ echo "</tr>\n";
+
+ // Is the root of the tree expanded already?
+ if( isset( $_SESSION['arbre_a'][$_SESSION['base_serv_a']] ) && is_array( $_SESSION['arbre_a'][$_SESSION['base_serv_a']] ) ) {
+ foreach( $_SESSION['arbre_a'][$_SESSION['base_serv_a']] as $fils_dn )
+ arbre_a_html( $fils_dn, 0 , $m_fonc, $affiche, $m_type, $m_champ);
+ }
+
+ ob_end_flush();
+
+// $time2=time();\r
+// printf("construction arbre_a en %4d secondes<br>", $time2-$time1);
+
+//************************************************************************************************************************************************
+/**
+ * Recursively descend on the given dn and draw the tree in html
+ */
+function arbre_a_html( $dn, $level=0, $m_fonc, $affiche, $m_type, $m_champ )
+{
+// global $arbre_a, $arbre_a_data;
+ $dn_etiq_a=$_SESSION['dn_etiq_a'];
+
+ require( "ico.inc");
+
+ $sep="\t";
+
+ $data=""; $mvt=""; $edit=""; $cible=""; $libe=""; $zdn="";
+ if( isset($_SESSION['arbre_a_data'][$dn]) )
+ {
+ $data = explode( $sep, $_SESSION['arbre_a_data'][$dn] );
+ if( isset( $data[0] ) ) $libe = $data[0]; // libelle
+ if( isset( $data[1] ) ) $mvt = $data[1]; // type de boite
+ if( isset( $data[2] ) ) $zdn = $data[2]; // dn
+// if( isset( $data[2] ) ) $mail = $data[2]; // mail
+// if( isset( $data[3] ) ) $uid = $data[3]; // uid
+ }
+ else
+ {
+ $libe="inconnu"; $mvt=0; $mail=""; $uid=""; $cible="PageUn";
+ }
+
+// if( $mvt == 0 )
+ {
+ if(intval($mvt) > 49)
+ {
+ $mvt=intval($mvt) - 50;
+ $ext_portee = "_l.gif";
+ }
+ else
+ $ext_portee = ".gif";
+
+ echo '<tr>';
+
+ for( $i=0; $i<=$level; $i++ ) {
+ echo '<td class="spacer"></td>' . "\n";
+ }
+ if($mvt == 0)
+ {
+ $niv=1+$level;
+ if( isset( $_SESSION['arbre_a'][$dn] ) ) {
+ $expand_href = "collapseanais.php?" . "affiche=". $affiche ."&niv=" . $niv . "&dn=" . $dn .
+ "&m_fonc=" . $m_fonc . "&m_type=" . $m_type . "&m_champ=" . $m_champ;
+ $expand_img = $img_collapse;
+ } else {
+ $expand_href = "expandanais.php?" . "affiche=". $affiche ."&niv=" . $niv . "&dn=" . $dn .
+ "&m_fonc=" . $m_fonc . "&m_type=" . $m_type . "&m_champ=" . $m_champ;
+ $expand_img = $img_expand;
+ }
+
+ echo "<td><a href=\"".$expand_href."\"";
+ if(strcasecmp($dn,$dn_etiq_a)==0)
+ echo " name=\"mon_etiquette\"";
+ echo "><img src=\"".$expand_img."\" border=no></a></td>"; // signe plus ou moins
+ echo "<td><a href=\"".$expand_href."\"><img src=\"".$img_dossier."\" border=no></a></td>\n"; // icone dossier
+ }
+ elseif($mvt==10)
+ echo "<td></td><td><img src=\"".$img_bali.$ext_portee."\"></td>\n";
+ elseif($mvt==11)
+ echo "<td></td><td><img src=\"".$img_bals.$ext_portee."\"></td>\n";
+ elseif($mvt==12)
+ echo "<td></td><td><img src=\"".$img_balu.$ext_portee."\"></td>\n";
+ elseif($mvt==13)
+ echo "<td></td><td><img src=\"".$img_balf.$ext_portee."\"></td>\n";
+ elseif($mvt==14)
+ echo "<td></td><td><img src=\"".$img_bala.$ext_portee."\"></td>\n";
+ elseif($mvt==15)
+ echo "<td></td><td><img src=\"".$img_balr.$ext_portee."\"></td>\n";
+ elseif($mvt==2)
+ echo "<td></td><td><img src=\"".$img_liste.$ext_portee."\"></td>\n";
+ else
+ echo "<td></td><td><img src=\"".$img_leaf."\"></td>\n";
+
+ if($mvt==0)
+ echo "<td align=left colspan=\"98\"> <nobr>".$libe."</nobr></td>\n";
+ else
+ {
+ echo "<td align=left colspan=\"98\"><a href=\"javascript:opener.window.$m_fonc('$m_type', '$libe', '$zdn'";
+ for($k=3; $k < count($data); $k++)
+ {
+ $tmp=addslashes($data[$k]);
+ echo ", '$tmp'";
+ }
+ echo ");\"> <nobr>".$libe."</nobr></a></td>\n";
+ }
+
+ echo "</tr>\n";
+
+
+ if( isset( $_SESSION['arbre_a'][$dn] ) && is_array( $_SESSION['arbre_a'][$dn] ) ) {
+ foreach( $_SESSION['arbre_a'][$dn] as $fils_dn ) {
+ arbre_a_html( $fils_dn, $level+1, $m_fonc, $affiche, $m_type, $m_champ );
+ }
+
+ }
+
+ echo '</tr>';
+ }
+
+}
--- /dev/null
+<?
+ $img_expand = "./Commun/Images/Arbo/tree_expand.gif";
+ $img_collapse = "./Commun/Images/Arbo/tree_collapse.gif";
+ $img_line = "./Commun/Images/Arbo/tree_vertline.gif";
+ $img_hline = "./Commun/Images/Arbo/tree_horiline.gif";
+ $img_split = "./Commun/Images/Arbo/tree_split.gif";
+ $img_end = "./Commun/Images/Arbo/tree_end.gif";
+ $img_leaf = "./Commun/Images/Arbo/tree_leaf.gif";
+ $img_spc = "./Commun/Images/Arbo/tree_space.gif";
+ $img_bali = "./Commun/Images/Arbo/bali";
+ $img_bals = "./Commun/Images/Arbo/bals";
+ $img_balu = "./Commun/Images/Arbo/balu";
+ $img_balf = "./Commun/Images/Arbo/balf";
+ $img_bala = "./Commun/Images/Arbo/bala";
+ $img_balr = "./Commun/Images/Arbo/balr";
+ $img_liste = "./Commun/Images/Arbo/liste";
+ $img_dossier = "./Commun/Images/Arbo/tree_dossier.gif";
+?>
\ No newline at end of file
--- /dev/null
+function maFonctionA(typ, cn, dn, mail, uid, sn) {
+ // champs retournes obligatoirement en debut de liste ... typ, cn, dn
+ document.forms['boiteMessagerie'].elements['type'].value=typ;
+ document.forms['boiteMessagerie'].elements['cn'].value=cn;
+ document.forms['boiteMessagerie'].elements['dn'].value=dn;
+ // champs a la demande ....
+ if( cn ) {
+ var existe=0;
+ var o=new Option(cn,cn);
+ var elem_ad=document.forms['boiteMessagerie'].elements['liste'];\r
+ if (elem_ad.options.length > 0) {
+ for (var i=0; i<elem_ad.options.length; i++) {
+ if(o.value==elem_ad.options[i].text)
+ existe=1;\r
+ }\r
+ }
+ if(existe==1)
+ alert('la boite est déjà sélectionnée!');
+ else
+ { // champs demandes : mail, uid, sn. A MODIFIER EVENTUELLEMENT ...............................
+ document.forms['boiteMessagerie'].elements['mail'].value=mail;
+ document.forms['boiteMessagerie'].elements['uid'].value=uid;
+ document.forms['boiteMessagerie'].elements['sn'].value=sn;
+ elem_ad.options[elem_ad.options.length]=o;
+ }
+ }\r
+ else
+ alert('Pas de nom d affichage pour cette boite');
+}\r
+
+function choixAnaisA( m_fonc )
+{
+ m_type = 'A';
+ // liste des champs demandes .... ici mail ,uid, sn ... en concordence avec la fonction maFonctionA
+ m_champ = 'mail,uid,sn';
+ lien = './aideAnais.php?m_fonc=' + m_fonc + '&m_type=' + m_type + '&m_champ=' + m_champ + '#mon_etiquette';
+
+ ArboAnais = window.open(lien,
+ 'ArboAnais',
+ 'width=350, height=600, left=10 ,top=10 ,toolbar=no, dependent=yes, menubar=no, location=no, resizable=yes, scrollbars=yes, directories=no, status=no');
+ ArboAnais.focus();
+}
+
+function choixAnaisCC( m_fonc )
+{
+ m_type = 'CC';
+ m_champ = 'mail,uid';
+ lien = './aideAnais.php?m_fonc=' + m_fonc + '&m_type=' + m_type + '&m_champ=' + m_champ + '#mon_etiquette';
+
+ ArboAnais = window.open(lien,
+ 'ArboAnais',
+ 'width=350, height=600, left=10 ,top=10 ,toolbar=no, dependent=yes, menubar=no, location=no, resizable=yes, scrollbars=yes, directories=no, status=no');
+ ArboAnais.focus();
+}
+
+function fermerArbo()
+{
+ lien = './rien_a.php';
+
+ ArboAnais = window.open(lien,
+ 'ArboAnais',
+ 'width=10, height=10, left=10 ,top=10 ,toolbar=no, dependent=yes, menubar=no, location=no, resizable=no, scrollbars=no, directories=no, status=no');
+ ArboAnais.focus();
+ ArboAnais.close();
+}
+
+/************************************************************
+ choix de la feuille de style
+************************************************************/
+function lienFeuilleDeStyles(niveau)
+{
+ var sNiveau="";
+
+ var suffixe;
+ switch (navigator.appName)
+ {
+ case "Microsoft Internet Explorer":
+ case "Opera":
+ suffixe = "IE";
+ break;
+ default:
+ suffixe = "NS";
+ break;
+ }
+
+ document.write("<link rel='stylesheet' type='text/css' href='"
+ + sNiveau + "./Commun/Js/local" + suffixe + ".css'>");
+}
+
--- /dev/null
+/* amedeeIE.css 16/02/2003
+*/
+
+a:link {
+ color: #0000cc;
+ text-decoration: none;
+}
+a:visited {
+/* color: #990000;*/
+ color: #0000cc;
+ text-decoration: none;
+}
+a:hover {
+ color: red;
+ text-decoration: underline;
+}
+
+body {
+ background-color: white;
+}
+form {
+ border-spacing: 30pt;
+ margin: 10 0 10 0;
+}
+
+h1,.titrePage,.titre1,.Titre {
+ FONT-WEIGHT: normal;
+ FONT-SIZE: medium;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ BACKGROUND-COLOR: #003399;
+}
+.titreBoite {
+ FONT-WEIGHT: normal;
+ FONT-SIZE: medium;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ BACKGROUND-COLOR: #003399;
+ border-width:0;
+}
+h2,.titreGauche,.titre2,.Titre2 {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: x-small;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ BACKGROUND-COLOR: #999999;
+}
+td,p,.textecourant {
+ font-family: Arial;
+ font-size: x-small;
+ font-style: normal;
+ font-weight: normal;
+ color: black;
+ empty-cells: show;
+}
+/* pas pour IE
+hr {
+ color: white;
+ border-style: solid;
+ background-color: #999999;
+ border-width: 2;
+ border-collapse: collapse;
+}
+*/
+.tableBleue {
+ border-collapse: collapse;
+ border-color: #003399;
+ border-style: solid;
+ border-width: 2;
+}
+.nomintranet {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: 18pt;
+ MARGIN-LEFT: 0px;
+ WIDTH: 100px;
+ COLOR: #003399;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: right;
+}
+.signature {
+ font-family: Arial;
+ font-size: x-small;
+ font-weight: normal;
+ color: black;
+}
+.onglet {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: x-small;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+ background-color: #999999;
+}
+.onglet:selected {
+ color:white;
+ text-decoration: none;
+}
+.ongletSelecte,.tdOngletSelecte {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: x-small;
+ COLOR: white;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+ background-color: #003399;
+}
+.ongletRenvoi {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: x-small;
+ COLOR: white;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+ background-color: #cccccc;
+}
+.lienonglet {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: 10pt;
+ COLOR: #FFFFFF;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+}
+.voirAussi {
+ text-align: right;
+ font-family: Arial;
+ font-size: x-small;
+ font-style: normal;
+ font-weight: normal;
+ color: #000000;
+ text-decoration: none;
+ text-align: right;
+}
+.MenuGaucheSelect {
+ FONT-SIZE: 8pt;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: right;
+ font-style: normal;
+ font-weight: normal
+}
+.margeGauche{
+ width: 105pt;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ font-style: normal;
+ font-weight: normal;
+}
+.menuGauche{
+ width: 100pt;
+}
+.boutonpicto {
+ font-family: Arial;
+ font-size: x-small; //12px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ text-decoration: none;
+}
+.boutonpicto a:link,.boutonpicto a:visited { text-decoration: none; color : #0000cc; }\r
+.boutonpicto a:hover { text-decoration: none; color : red; }
+.ligne0 {
+ background-color: #ffffff;
+}
+.ligne1 {
+ background-color: #eeeeee;
+}
+.modificationchamp {
+ font-family: Arial;
+ font-size: 8pt;
+ font-style: normal;
+ font-weight: bold;
+ color: #FF0000;
+ text-decoration: none;
+}
+th,.entetetableau {
+ font-family: Arial;
+ font-size: x-small;
+ font-style: normal;
+ font-weight: bold;
+ color: #003399;
+ text-decoration: none;
+}
+.Lien {
+ color:black;
+ text-decoration:none;
+ font-size: x-small;
+ FONT-FAMILY: Arial;
+ font-style: normal;
+ font-weight: normal;
+}
+//.Lien:hover {
+// color:red;
+// text-decoration:underline;
+//}
+.Lien:visited {
+ color:#660066;
+ text-decoration:none; //underline;
+}
+.TDBleu0
+{
+ background-color: #ffff00;
+ background-repeat:repeat-x;
+}
+.TDBleu {
+ background-IMAGE: url("./Commun/Images/background_piedpage.gif");
+ background-repeat:repeat-x;
+}
+.TDBleu1
+{
+ background-IMAGE: url("./Commun/Images/pixel_bleu_fonce.gif");
+ background-repeat:repeat-x;
+}
+.Libelle
+{
+ font-family : Arial;
+ font-size : 10pt;
+ color: #003399;
+ background-color : #FFFFFF;
+}
+.Saisie
+{
+ font-family : Verdana,Arial;
+ font-size : 8pt;
+ background-color : #E4E4E4;
+ font-weight: bold
+}
+.Tableau {
+ FONT-SIZE: x-small; //8pt;
+ COLOR: #FFFFFF;
+ FONT-FAMILY: Verdana;
+ background-color: #003399;
+ font-weight: bold
+}
+.TableauActif {
+ FONT-SIZE: x-small; //8pt;
+ COLOR: #FFFF00;
+ FONT-FAMILY: Verdana;
+ background-color: #003399;
+ font-weight: bold;
+}
+.textegrasbleu {
+ font-family: Arial;
+ font-size: 12px;
+ font-style: normal;
+ font-weight: bold;
+ color: #003399;
+ text-decoration: none
+}
+.textegrasgris {
+ font-family: Arial;
+ font-size: 12px;
+ font-style: normal;
+ font-weight: bold;
+ color: #999999;
+ text-decoration: none
+}
+.Libellebouton {
+ FONT-SIZE: 8pt;
+ COLOR: #000000;
+ FONT-FAMILY: Verdana;
+ font-style: normal;
+ font-weight: bold;
+ text-decoration: none
+}
+.Visible {
+}
+.Invisible {
+ display: none;
+}
\ No newline at end of file
--- /dev/null
+/* amedeeNS.css 10/02/2003
+*/
+
+a:link {
+ color: #0000cc;
+ text-decoration: none;
+}
+a:visited {
+ color: #0000cc;
+ text-decoration: none;
+}
+a:hover {
+ color: red;
+ text-decoration: underline;
+}
+
+body {
+ background-color: white;
+}
+form {
+ border-spacing: 30pt;
+ margin: 10 0 10 0;
+}
+
+h1,.titrePage,.titre1,.Titre {
+ FONT-WEIGHT: normal;
+ FONT-SIZE: large;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ BACKGROUND-COLOR: #003399;
+}
+.titreBoite {
+ FONT-WEIGHT: normal;
+ FONT-SIZE: large;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ BACKGROUND-COLOR: #003399;
+ border-width: 0;
+}
+h2,.titreGauche,.titre2,.Titre2 {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: small;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ BACKGROUND-COLOR: #999999;
+}
+td,p,.textecourant {
+ font-family: Arial;
+ font-size: small;
+ font-weight: normal;
+ color: black;
+ empty-cells: show;
+}
+hr {
+ color: white;
+ border-style: solid;
+ background-color: #999999;
+ border-width: 2;
+ border-collapse: collapse;
+}
+
+.tableBleue {
+ border-collapse: collapse;
+ border-color: #003399;
+ border-style: solid;
+ border-width: 2;
+}
+.nomintranet {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: 18pt;
+ MARGIN-LEFT: 0px;
+ WIDTH: 100px;
+ COLOR: #003399;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: right
+}
+.signature {
+ font-family: Arial;
+ font-size: small;
+ font-weight: normal;
+ color: black;
+}
+.onglet {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: small;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+ background-color: #999999;
+}
+.onglet:selected {
+ color:white;
+ text-decoration: none;
+}
+.ongletSelecte,.tdOngletSelecte {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: small;
+ COLOR: white;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+ background-color: #003399;
+}
+.ongletRenvoi {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: small;
+ COLOR: white;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+ background-color: #cccccc;
+}
+.lienonglet {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: 10pt;
+ COLOR: #FFFFFF;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none;
+}
+.voirAussi {
+ text-align: right;
+ font-family: Arial;
+ font-size: x-small;
+ font-style: normal;
+ font-weight: normal;
+ color: #000000;
+ text-decoration: none;
+ text-align: right;
+}
+.MenuGaucheSelect {
+ FONT-SIZE: 8pt;
+ FONT-FAMILY: Arial;TEXT-ALIGN: right;
+ font-style: normal;
+ font-weight: normal
+}
+.margeGauche{
+ width: 105pt;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ font-style: normal;
+ font-weight: normal;
+}
+.menuGauche{
+ width: 100pt;
+}
+.boutonpicto {
+ font-size: 12px;
+ font-style: normal;
+ font-weight: bold;
+ color: #000000;
+ text-decoration: none
+}
+.boutonpicto a:link,.boutonpicto a:visited { text-decoration: none; color : #0000cc; }\r
+.boutonpicto a:hover { text-decoration: none; color : red; }
+.ligne0 {
+ background-color: #ffffff;
+}
+.ligne1 {
+ background-color: #eeeeee;
+}
+.modificationchamp {
+ font-family: Arial;
+ font-size: 8pt;
+ font-style: normal;
+ font-weight: bold;
+ color: #FF0000;
+ text-decoration: none
+}
+th,.entetetableau {
+ font-family: Arial;
+ font-size: x-small;
+ font-style: normal;
+ font-weight: bold;
+ color: #003399;
+ text-decoration: none
+}
+.Lien {
+ color:blue;
+ text-decoration:underline;
+ font-size:8pt;
+ FONT-FAMILY: Arial;
+ font-style: normal;
+ font-weight: normal;
+}
+.Lien:hover {
+ color:red;
+ text-decoration:underline;
+ font-size:8pt;
+ FONT-FAMILY: Arial;
+}
+.Lien:visited {
+ color:660066;
+ text-decoration:underline;
+ font-size:8pt;
+ FONT-FAMILY: Arial;
+}
+.lienonglet {
+ FONT-WEIGHT: bold;
+ FONT-SIZE: 10pt;
+ COLOR: #FFFFFF;
+ FONT-FAMILY: Arial;
+ TEXT-ALIGN: left;
+ TEXT-DECORATION: none
+}
+.TDBleu0
+{
+ background-color: #ffff00;
+ background-repeat:repeat-x;
+}
+.TDBleu {
+ background-IMAGE: url("./Commun/Images/background_piedpage.gif");
+ background-repeat:repeat-x;
+}
+.TDBleu1
+{
+ background-IMAGE: url("./Commun/Images/pixel_bleu_fonce.gif");
+ background-repeat:repeat-x;
+}
+.Libelle
+{
+ font-family : Arial;
+ font-size : 10pt;
+ color: #003399;
+ background-color : #FFFFFF;
+}
+.Saisie
+{
+ font-family : Verdana,Arial;
+ font-size : 8pt;
+ background-color : #E4E4E4;
+ font-weight: bold
+}
+.Tableau {
+ FONT-SIZE: small; //8pt;
+ COLOR: #FFFFFF;
+ FONT-FAMILY: Verdana;
+ background-color: #003399;
+ font-weight: bold
+}
+.TableauActif {
+ FONT-SIZE: small; //8pt;
+ COLOR: #FFFF00;
+ FONT-FAMILY: Verdana;
+ background-color: #003399;
+ font-weight: bold;
+}
+.lienonglet { font-family: Arial; font-size: 12px; font-style: normal; font-weight: bold; color: #FFFFFF; text-decoration: none }
+.textegrasbleu { font-family: Arial; font-size: 12px; font-style: normal; font-weight: bold; color: #003399; text-decoration: none }
+.textegrasgris { font-family: Arial; font-size: 12px; font-style: normal; font-weight: bold; color: #AFAFAF; text-decoration: none }
+.Libellebouton { FONT-SIZE: 8pt; COLOR: #000000; FONT-FAMILY: Verdana; font-style: normal; font-weight: bold; text-decoration: none}
\ No newline at end of file
--- /dev/null
+<?\r
+\r
+if( ! isset($_SESSION['charge_a']) )\r
+{\r
+// flag precisant si l arborescence a ete deja chargee ou non\r
+ $_SESSION['charge_a'] = 0;\r
+\r
+ $_SESSION['arbre_a']=array();
+
+ $_SESSION['arbre_a_data']=array();
+
+ $_SESSION['niveau_data_a']=array();
+
+// $_SESSION['base_serv_a'] = "ou=melanie,ou=organisation,dc=equipement,dc=gouv,dc=fr";\r
+ $_SESSION['base_serv_a'] = "base_de_recherche_dans_l_annuaire";\r
+
+ $_SESSION['maitre_serv_a'] = "xxx.xxx.xxx.xxx";\r
+ \r
+// initialisation des variables session diverses\r
+ $_SESSION['dn_etiq_a']="";\r
+\r
+ $_SESSION['lib_serv_a'] = ChercheDescription( $_SESSION['base_serv_a'] );\r
+\r
+}\r
+\r
+function ChercheDescription( $dn )\r
+{\r
+
+ $wdesc="Inconnu";
+ $connect=ldap_connect($_SESSION['maitre_serv_a']);
+
+ if($connect)
+ {
+ ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
+
+ $bind=@ldap_bind($connect);
+ if($bind)
+ {
+ $search=@ldap_read($connect, $dn, "objectclass=organizationalUnit");
+
+ if($search)
+ {
+ $boites=ldap_get_entries($connect, $search);
+
+ if($boites["count"]==1)
+ {
+ $desc=$boites[0]["description"];
+ $wdesc=$desc[0];
+ }
+ @ldap_free_result($search);
+ }
+ }
+ @ldap_close($connect);
+ }
+ else
+ {
+ ?>
+ <script>
+ javascript:alert('Le serveur de messagerie ne peut etre joint.\\nRecommencez ulterieurement.');
+ </script>
+ <?
+ }
+
+ return $wdesc;\r
+}
+?>\r
--- /dev/null
+<html>
+<head>
+<title>pageun</title>
+ <script src="./Commun/Js/local.js"></script>
+ <script>lienFeuilleDeStyles();</script>
+ <script>window.name="PageUn";</script>
+</head>
+<body>
+Page principale<br><br>
+'lien ouvrir' va afficher l arborescence<br><br>
+<FORM name="boiteMessagerie">
+Choix destinataires A<br>\r
+<a href="javascript:choixAnaisA('maFonctionA')">ouvrir</a><br><br>
+Choix destinataires CC<br>\r
+<a href="javascript:choixAnaisCC('maFonctionA')">ouvrir</a><br><br>
+<a href="javascript:fermerArbo()">fermer</a><br><br>
+ <table border=0 cellpading=0 cellspacing=2>
+ <tr>
+ <td>type</td><td><input name="type" size=60></td>
+ </tr>
+ <tr>
+ <td>cn</td><td><input name="cn" size=60></td>
+ </tr>
+ <tr>
+ <td>dn</td><td><input name="dn" size=60></td>
+ </tr>
+ <tr>
+ <td>mel</td><td><input name="mail" size=60></td>
+ </tr>
+ <tr>
+ <td>uid</td><td><input name="uid" size=60></td>
+ </tr>
+ <tr>
+ <td>sn</td><td><input name="sn" size=60></td>
+ </tr>
+ <td>choix</td>
+ <td><SELECT class="saisie" NAME="liste" style="width:380px" SIZE="8"></SELECT></td>
+ <tr>
+ </tr>
+ </table>
+</FORM>
+ <br><br><br>
+<a href=javascript:location.replace('./quitter_a.php') onClick="javascript:fermerArbo()">quitter</a>
+</body>
+</html>
--- /dev/null
+<?
+ session_start();
+?>
+<html>
+<head>
+<title>Localisation</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<script src="./Commun/Js/local.js"></script>\r
+<script>lienFeuilleDeStyles();</script>\r
+<style>
+ BODY { font-family : Verdana,Arial; color: #000000;}
+ TD { font-family : Verdana,Arial; font-size : 8pt; color: #000000;}
+ A { text-decoration : none; background-color : #FFFFFF; }
+a:link {
+ color: #000000;
+ text-decoration: none;
+}
+a:visited {
+ color: #000000;
+ text-decoration: none;
+}
+a:hover {
+ color: red;
+/* color: #000000;*/
+ text-decoration: none;
+}
+</style>
+</head>
+
+<body bgcolor=#ffffff LINK="BLACK" VLINK="BLACK" ALINK="AQUA">
+ <table border="0" cellspacing="0" cellpadding="0" width="100%">
+ <tr>
+ <td width="100%" class="titrePage"> Localisation</td>
+ </tr>
+ </table>
+ <?
+ require "./Commun/Session/creesessionanais.inc";
+ require "./Commun/Include/arboanais.inc";
+ ?>
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
+ <hr>
+ <tbody>
+ <tr>
+ <td> </td>
+ <td width="25" align="center"><a href="javascript:window.close()"><img src="./Commun/Images/Pictos/picto_annuler.gif" border="0" width="21" height="21"></a></td>
+ <td class="boutonpicto" width="120"><a href="javascript:window.close()">Fermer la fenêtre</a></td>
+ </tr>
+ </tbody>
+ </table>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<?php
+session_cache_limiter('nocache');
+session_start();
+
+$dn = $_GET['dn'];
+$niv = $_GET['niv'];
+//$affiche = $_GET['affiche'];
+$m_fonc = $_GET['m_fonc'];
+$m_type=$_GET['m_type'];
+$m_champ=$_GET['m_champ'];
+
+$_SESSION['dn_etiq_a']=$dn;
+
+// and remove this instance of the dn as well
+ if( isset($_SESSION['arbre_a'][$dn]) )
+ unset( $_SESSION['arbre_a'][$dn] );
+
+ if( isset($_SESSION['niveau_data_a'][$niv]) && ( strcasecmp( $_SESSION['niveau_data_a'][$niv], $dn) == 0 ) )
+ {
+ // and remove this instance of the dn as well
+ unset( $_SESSION['niveau_data_a'][$niv] );
+ }
+
+ $_SESSION['niveau_data_a'][$niv] = $dn;
+
+
+session_write_close();
+$cible="aideAnais.php?m_fonc=".$m_fonc."&m_type=".$m_type."&m_champ=".$m_champ."#mon_etiquette";
+header( "Location: $cible" );
+?>
--- /dev/null
+<?
+session_cache_limiter('nocache');
+session_start();
+
+$dn = $_GET['dn'];
+$niv = $_GET['niv'];
+//$affiche = $_GET['affiche'];
+$m_fonc = $_GET['m_fonc'];
+$m_type=$_GET['m_type'];
+$m_champ=$_GET['m_champ'];
+
+require "./Commun/Fonctions/expandanais.inc";
+
+$_SESSION['dn_etiq_a']=$dn;
+
+ if( isset($_SESSION['niveau_data_a'][$niv]) && isset($_SESSION['arbre_a'][$_SESSION['niveau_data_a'][$niv]]) )
+ {
+ // remove this instance of the dn as well
+ unset( $_SESSION['arbre_a'][$_SESSION['niveau_data_a'][$niv]] );
+ }
+
+ $_SESSION['niveau_data_a'][$niv] = $dn;
+
+ traiteDN( $dn, $m_type, $m_champ );
+
+
+session_write_close();
+
+$cible="aideAnais.php?m_fonc=".$m_fonc."&m_type=".$m_type."&m_champ=".$m_champ."#mon_etiquette";
+header( "Location: $cible" );
+?>
--- /dev/null
+<html>
+<head>
+<title>pageun</title>
+</head>
+<body>
+<script>
+ javascript:location.replace('./Index.php');
+</script>
+</body>
+</html>
--- /dev/null
+<?
+session_start();
+
+ session_unset();
+ session_destroy();
+?>
+<head>
+ <title>Balade</title>
+</head>
+<body >
+<hr><br>
+Sortie du programme,<br><br>
+Vous pouvez reprendre une activité informatique normale.
+<hr>
+</body>
+
+</html>