$source = ''; } //echo "source : ".$source; include "include/menu.php"; if (isset($_SESSION['maint_connect'])) { //On verifie que le variable existe $connect = $_SESSION['maint_connect']; //On recupere la valeur de la variable de session } else { $connect = 0; //Si $_SESSION['maint_connect'] n'existe pas, on donne la valeur "0" } if ($connect == 1) { // Si le visiteur s'est identifie // et qu'il est autorisé $admin = estMembre($_SESSION['maint_login'], "Maintenance_contrat"); if ($admin == 1) { include "include/infobul.php"; $texte = ''; //connexion à la base mysql //si on a envoyé le formulaire-> traitement if (isset($_POST['num'])) { //test validité form $valide = 1; $champvideok = array('id', 'fin', 'entreprise', 'unnom', 'prenom', 'tel', 'email', 'site', 'zone', 'categorie', 'famille', 'fournisseur', 'marque', 'nom', 'renouv', 'desc', 'cout', 'id_entite'); //champs qui peuvent etre vides foreach ($_POST as $index => $valeur) { if ($valeur == '' and !in_array($index, $champvideok)) { echo "<script language=javascript> alert ('" . $index . " ne peut pas etre vide.');</script>"; $valide = 0; }
function afficheListe($liste, $titre) { if (count($liste) > 0) { //on a un ou ++ enregistrements //print_r($liste); ?> <h2><center><font style="font-size: 20;color:#135356"><?php echo ucfirst(str_replace("materiel", "entité", $titre) . "s"); ?> </font></center></h2> <DIV class="table_scroll" align=center style="color:#135356"> <div class="header_table" align=center style="color:#135356"></div> <div class="div_table" align=center style="color:#135356"> <TABLE class="table-bordered" style="background:#fdf2db;color:#135356"> <colgroup> <col span="1" style="background-color:#B8C7D3" /> <?php if ($titre == "contrat" or $titre == "intervention") { $longueur = count($liste[0]); } else { $longueur = count($liste[0]) - 1; } ?> <col span="<?php echo $longueur; ?> " width="150" style="background-color: #CCCCCC" /> </colgroup> <thead> <TR> <?php //titres colonnes foreach ($liste[0] as $key => $val) { //on n'affiche pas tous les champs if ($key != "parent" and $key != "priorite" and substr($key, 0, 3) != 'id_') { if ($key == "supp") { //pas de titre ni de tri pr supp echo "<th><div class='h'></div></th>"; } else { echo "<th><div class='h'>"; ?> <img src="images/hausse.png" alt="Tri croissant" onclick="filtrer(document.forms[0], '<?php echo str_replace("Utilisateur", "user", $titre) . "s"; ?> ', '<?php echo $key . "-SORT_ASC"; ?> ');cach('filtres');document.getElementById('conteneur').style.display = 'block';"> <?php echo formatLabel($key); ?> <img src="images/baisse.png" alt="Tri decroissant" onclick="filtrer(document.forms[0], '<?php echo str_replace("Utilisateur", "user", $titre) . "s"; ?> ', '<?php echo $key . "-SORT_DESC"; ?> ');cach('filtres');document.getElementById('conteneur').style.display = 'block';"> <?php echo "</div></th>"; } } } //titre entités liées pour contrat et inter if ($titre == 'contrat' or $titre == 'intervention') { echo "<th><div class='h'> Entité(s)</div></th>"; } ?> </TR> </thead> <tfoot> <tr> <td></td><td colspan="<?php echo $longueur; ?> "><?php echo count($liste); ?> enregistrement(s)</td> </tr> </tfoot> <tbody class="scroll"> <?php //contenu tableau foreach ($liste as $ligne) { //on parcour chaque ligne de resultat if (isset($ligne['supp']) and $ligne['supp'] == 1 or $titre == 'materiel' and isset($ligne['etat']) and $ligne['etat'] == 3) { //ligne barrée si element supprimé $del = "<del>"; } else { $del = ""; } if (isset($ligne['priorite']) and $ligne['priorite'] == 2) { //en gras priorité haute $coul = '<b>'; } else { $coul = ''; } echo "<TR>"; foreach ($ligne as $key => $val) { //on parcour chaque colonne de chaque ligne //selon clé, comportement différent switch ($key) { //champs non affichés case 'parent': case "priorite": case "id_ent": case "id_dom": case "id_typeinter": case "id_materiel": case "id_period": break; // colonne nom ou num : lien modif // colonne nom ou num : lien modif case "date_achat": case "mise_en_service": case "fin": case 'debut': $val = dateUsToFr($val); case 'libelle': case 'num': //pas de lien si debut contrat, fin inter ou date achat if ($key == 'debut' and $titre == 'contrat' or $key == 'fin' or $key == 'date_achat' or $key == 'mise_en_service') { $ref = ''; $a = ''; } else { //on fait lien si actif / pas supp if (isset($ligne['supp']) and $ligne['supp'] == 0 or isset($ligne['etat']) and $ligne['etat'] != 3) { $ref = "<a href = 'edit_" . $titre . ".php?id=" . $ligne['id'] . "' alt='Modifier'>"; $a = "</a>"; } else { $ref = ''; $a = ''; } } echo "<TD width='150'>" . $ref . $del . utf8_encode($val) . $a . "</TD>"; break; //colonne supp : liens suppression et restauration //colonne supp : liens suppression et restauration case 'supp': if ($ligne['supp'] == 1) { echo " <TD><a href='" . $titre . ".php?action=restaure&id=" . $ligne['id'] . "' \r\n onclick=\"javascript:return confirm('Etes-vous certain de vouloir restaurer ???');\">\r\n <img src='images/bt_restaure.png' title='restaurer' alt='restaurer' border=0/>\r\n </a>\r\n </TD>"; } elseif ($ligne['supp'] == 2) { //anciennes inter echo " <TD><img src='images/bt_unused.png' title='Non géré' alt='supprimer' border=0/></TD>"; } else { echo " <TD><a href='" . $titre . ".php?action=supp&id=" . $ligne['id'] . "' \r\n onclick=\"javascript:return confirm('Etes-vous certain de vouloir supprimer ???');\">\r\n <img src='images/bt_supp.png' title='Supprimer' alt='supprimer' border=0/>\r\n </a>"; if ($titre == 'intervention') { echo " <a href='" . $titre . ".php?action=duplique&id=" . $ligne['id'] . "' \r\n onclick=\"javascript:return confirm('Etes-vous certain de vouloir dupliquer ???');\">\r\n <img src='images/bt_copy.png' title='dupliquer' alt='dupliquer' border=0/>\r\n </a>"; } echo " </TD>"; } break; case 'renouv': $largeur = 60; if ($val != "") { if ($val == 0) { $lenom = "Tacite"; } else { $lenom = "Manuel"; } } else { $lenom = ""; } echo "<TD width='" . $largeur . "' nowrap='nowrap'>" . $del . utf8_encode($lenom) . "</TD>"; break; case 'etat': if ($val != "") { switch ($titre) { case 'materiel': switch ($val) { case '1': $lenom = "Actif"; $coul .= '<font color=green>'; break; case '2': $lenom = "Consigné"; $coul .= '<font color=blue>'; break; case '3': $lenom = "Détruit"; $coul .= '<font color=grey>'; break; default: $lenom = "Non renseigné"; break; } break; case 'intervention': switch ($val) { case '1': $lenom = "A faire"; $coul .= '<font color=red>'; break; case '2': $lenom = "En cours"; $coul .= '<font color=green>'; break; case '3': $lenom = "Fait"; $coul .= '<font color=grey>'; break; default: $lenom = "Non renseigné"; break; } break; default: break; } } else { $lenom = ""; } echo "<TD width='20' nowrap='nowrap'>" . $del . $coul . utf8_encode($lenom) . "</TD>"; break; case 'Groupes': echo "<TD width='380' nowrap='nowrap'>" . $del; foreach ($ligne[$key] as $groupe) { echo $groupe . "<br>"; } echo "</TD>"; break; case 'Admin_Appli': $dn_user = $ligne[$key][1]; $admin = estMembre($_SESSION['maint_login'], "Maintenance_administrateur"); echo "<td>"; if ($ligne[$key][0] == 1) { echo "<table><tr><td><img src='images/oui.png' border=0/></td><td> </td><td>"; if ($admin == 1) { echo " <a href='user.php?action=retireAdmin&dn_user="******"' \r\n onclick=\"javascript:return confirm('Retirer cet utilisateur du groupe Administrateurs de l\\'application ???');\">\r\n <img src='images/retirer.png' title='Retirer des administrateurs' alt='Retirer des administrateurs' border=0/>\r\n </a> "; } echo " </td></tr></table>"; } else { echo "<table><tr><td><img src='images/non.png' border=0/></td><td> </td><td>"; if ($admin == 1) { echo " <a href='user.php?action=ajouteAdmin&dn_user="******"' \r\n onclick=\"javascript:return confirm('Ajouter cet utilisateur au groupe Administrateurs de l\\'application ???');\">\r\n <img src='images/ajouter.png' title='Ajouter aux administrateurs' alt='Ajouter aux administrateurs' border=0/>\r\n </a> "; } echo " </td></tr></table>"; } echo "</td>"; break; case 'Admin_Contrat': $dn_user = $ligne[$key][1]; $adminContrat = estMembre($_SESSION['maint_login'], "Maintenance_contrat"); echo "<td>"; if ($ligne[$key][0] == 1) { echo "<table><tr><td><img src='images/oui.png' border=0/></td><td> </td><td>"; if ($adminContrat == 1) { echo " <a href='user.php?action=retireAdminContrat&dn_user="******"' \r\n onclick=\"javascript:return confirm('Retirer cet utilisateur du groupe Administrateurs de contrats ???');\">\r\n <img src='images/retirer.png' title='Retirer des administrateurs' alt='Retirer des administrateurs' border=0/>\r\n </a> "; } echo " </td></tr></table>"; } else { echo "<table><tr><td><img src='images/non.png' border=0/></td><td> </td><td>"; if ($adminContrat == 1) { echo " <a href='user.php?action=ajouteAdminContrat&dn_user="******"' \r\n onclick=\"javascript:return confirm('Ajouter cet utilisateur au groupe Administrateurs de contrats ???');\">\r\n <img src='images/ajouter.png' title='Ajouter aux administrateurs' alt='Ajouter aux administrateurs' border=0/>\r\n </a> "; } echo " </td></tr></table>"; } echo "</td>"; break; case 'desc': case 'detail': $largeur = '150'; echo "<TD width='" . $largeur . "' " . $nowrap . " " . $align . ">\r\n <div style='overflow:auto; height: 32px; width: 180px;' white-space: nowrap>" . $del . utf8_encode($val) . $post . "</div>\r\n </td>"; break; default: $post = ''; $ref = ''; $align = ''; $nowrap = "nowrap='nowrap'"; switch ($key) { case 'sn': case 'id': $largeur = '40'; break; case 'ent': case 'adresse': case 'ville': case 'contact': case 'marque': case 'famille': case 'zone': case 'frn': case 'type_inter': $largeur = '90'; break; case 'prestataire': //case 'fin': //case 'fin': case 'interlocuteur': $largeur = '60'; $nowrap = ''; break; case 'Nom': $largeur = '240'; break; case 'cout': $val = number_format(floatval($val), 2, ',', ' '); case 'libelle': case 'email': case 'domaine': $largeur = '65'; $align = 'align=right'; break; case 'preavis': $largeur = '60'; $post = ' mois'; break; default: $largeur = ''; break; } echo "<TD width='" . $largeur . "' " . $nowrap . " " . $align . ">\r\n " . $del . utf8_encode($val) . $post . "\r\n </td>"; break; } } //affichage entités liées au contrat ou a l'inter if ($titre == "contrat" or $titre == 'intervention') { if ($titre == "contrat") { echo "<td><div style='overflow:auto; height: 30px; width: 248px;' white-space: nowrap>"; $materiels = getMatContrat($ligne['id']); } if ($titre == 'intervention') { echo "<td><div style='overflow:auto; height: 30px; width: 228px;' white-space: nowrap>"; if ($ligne['supp'] == '2') { $materiels[0] = $ligne['id_materiel']; } else { $materiels = getMatInter($ligne['id']); } } foreach ($materiels as $materiel) { echo $materiel . " - " . utf8_encode(getNomMat($materiel)) . "<br>"; } echo "</div></td>"; } echo "</TR>"; } unset($liste); echo "</tbody>"; ?> </TABLE> </DIV> </DIV> <?php } else { echo "<h2>Aucun(e) " . $titre . " pour l'instant.</h2>"; } }
} else { $source = ''; } include "include/menu.php"; if (isset($_SESSION['maint_connect'])) { //On verifie que le variable existe $connect = $_SESSION['maint_connect']; //On recupere la valeur de la variable de session } else { $connect = 0; //Si $_SESSION['maint_connect'] n'existe pas, on donne la valeur "0" } if ($connect == 1) { // Si le visiteur s'est identifie // et qu'il est autorisé $admin = estMembre($_SESSION['maint_login'], "Maintenance_administrateur"); if ($admin == 1) { include "include/infobul.php"; $texte = ''; //si on a envoyé le formulaire-> traitement if (isset($_POST['designation'])) { //test validité form $valide = 1; $champvideok = array('id', 'sn', 'marque_materiel', 'poste', 'fournisseur', 'contratmat', 'usagemateriel'); //champs qui peuvent etre vides if ($_POST['etatmateriel'] != '3') { array_push($champvideok, "dte_destruction"); } foreach ($_POST as $index => $valeur) { if ($valeur == '' and !in_array($index, $champvideok)) { echo "<script language=javascript> alert ('" . $index . " ne peut pas etre vide.');</script>";
function listeMembres($group = FALSE, $inclusive = FALSE) { // Connextion AD $ds = ldap_connect(LDAP_SERVEUR, LDAP_PORT) or die("error"); ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_bind($ds, LDAP_USER, LDAP_PASS) or die("error"); $justthese = array('cn', 'distinguishedname', 'mail', 'uid', 'ipPhone', 'memberOf'); //si on a un/des groupe(s) en paramètre if ($group) { $query = "(&"; } else { $query = ""; } $query .= "(&(objectClass=user)(objectCategory=person))"; //construction requete if (is_array($group)) { if ($inclusive) { $query .= "(|"; } else { $query .= "(&"; } foreach ($group as $g) { $query .= "(memberOf=CN={$g}," . LDAP_BASE_DN . ")"; } $query .= ")"; } elseif ($group) { // on cherche only membership groupe $query .= "(memberOf=CN=" . utf8_encode($group) . "," . LDAP_BASE_DN . ")"; } if ($group) { $query .= ")"; } else { $query .= ""; } //resultat recherche ad $sr = ldap_search($ds, LDAP_BASE_DN, $query, $justthese); ldap_sort($ds, $sr, "cn"); $entries = ldap_get_entries($ds, $sr); $tab_user = array(); //pour chaque entrée on récupère infos for ($j = 0; $j < count($entries) - 1; $j++) { $tab_user[$j]["Nom"] = utf8_decode($entries[$j]["cn"][0]); //recup groupe(s) de service(s) if (isset($entries[$j]["memberof"][0])) { $montab = array(); //on ne récupère que les noms des groupes $groupes = $entries[$j]["memberof"]; for ($n = 0; $n < $groupes['count']; $n++) { $lesgroupes = explode(",", $groupes[$n]); $legroupe = substr($lesgroupes[0], 3); if (strstr($legroupe, "Service ")) { array_push($montab, $legroupe); } } $tab_user[$j]["Groupes"] = $montab; } else { $tab_user[$j]["Groupes"] = ""; } //recup mail if (isset($entries[$j]["mail"][0])) { $tab_user[$j]["Email"] = $entries[$j]["mail"][0]; } else { $tab_user[$j]["Email"] = ""; } if (isset($entries[$j]["ipphone"][0])) { $tab_user[$j]["tel"] = $entries[$j]["ipphone"][0]; } else { $tab_user[$j]["ipPhone"] = ""; } //recup dn et si admin maintenance et si admin contrat $admin = estMembre($entries[$j]["cn"][0], "Maintenance_administrateur"); $tab_user[$j]["Admin_Appli"][0] = $admin; $tab_user[$j]["Admin_Appli"][1] = $entries[$j]["distinguishedname"][0]; $admcont = estMembre($entries[$j]["cn"][0], "Maintenance_contrat"); $tab_user[$j]["Admin_Contrat"][0] = $admcont; $tab_user[$j]["Admin_Contrat"][1] = $entries[$j]["distinguishedname"][0]; } ldap_close($ds); return $tab_user; }