".gettext("Votre délégation a été prise en compte pour l'affichage de cette page.").""; $acces_restreint=1; $list_delegate=list_parc_delegate($login); echo ""; } /************************* Declaration des variables ***********************************/ foreach ($_GET as $cle=>$val) { $$cle = $val; } if (!$mpenc){ $mpenc="all";} if (!$interval) { $interval='14';} $datedujour=date("Y-m-d"); // if (isset($action)) { $action="affiche";} $dbnameinvent="ocsweb"; $authlink_invent=@mysql_connect($_SESSION["SERVEUR_SQL"],$_SESSION["COMPTE_BASE"],$_SESSION["PSWD_BASE"]); @mysql_select_db($dbnameinvent) or die("Impossible de se connecter à la base $dbnameinvent."); /************************* Ajout maintenance *****************************************************/ /* if (($mpenc != "all") and ($action!="moi") and ($action!="all") and ($action!="change") and ($action!="ajout")) { $jour=date("Y-m-d G:i:s"); if ($mpenc != "all") { echo "

".gettext("Maintenance de la machine")." $mpenc

\n"; // Si il est admin il peut voir le reste if ((is_admin("computers_is_admin",$login)=="Y") or (is_admin("parc_can_manage",$login)=="Y")or (is_admin("parc_can_view",$login)=="Y") or (is_admin("inventaire_can_read",$login)=="Y")) { } } } */ /*****************************************************************************************/ // zone de saisie de la demande de maintenance if ($action == "ajout") { if($mpenc=="all") { //si on a bien le nom d'une machine $action=""; $erreur=gettext("Vous devez sélectionner une machine"); } else { echo "

".gettext("Demande de maintenance : $mpenc")."

"; // On v�ifie si une demande de maintenance n'est pas d��ouverte pour cette machine $query="select * from repairs where NAME='$mpenc' AND STATUT='0' LIMIT 20"; $resultat=mysql_query($query,$authlink_invent); $ligne=mysql_num_rows($resultat); if ($ligne > "0") { while ($row = mysql_fetch_row($resultat)) { if ($row[11] == "2") { echo "
"; echo gettext("Une demande pour cette machine est déjà ouverte par")." $row[8]
"; echo "$row[13] ".gettext(" l'a mise en ATTENTE le")." $row[5]"; if ($row[6] != "") { echo gettext("Motif :")." $row[6]"; } } elseif ($row[11] == "3") { echo "
"; echo gettext("Une demande pour cette machine est déjà ouverte par")." $row[8]
"; echo "$row[13] ".gettext("l'a indiqué comme non réparable le")." $row[5]"; if ($row[6] != "") { echo gettext("Motif :")." $row[6]"; } } if ($row[11] == "0") { echo "

"; echo "\"Alerte\""; echo gettext(" Une demande pour cette machine est déjà ouverte le")." $row[3] ".gettext("par")." $row[8]
"; echo gettext("avec le motif :")." $row[4]
"; } //on determine quel demande de maintenance correspond a la personne qui consulte la page et on recopie la ligne correspondante //cette ligne sera modifiable seulement si le login correspond, sinon on pourra poser une nouvelle alerte if ($login == "$row[8]") { $test_login_ok=$login; $row_login=array(); for ($i=0;$i"; echo "

"; if ($ligne > "0") { echo ""; } else { echo ""; } if ($ligne > "0") { echo ""; } echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo "
".gettext("Date de la première saisie :")." $row_login[3] 
".gettext("Description (Brève)")."\n"; echo "
".gettext("Priorité:")." "; echo "
".gettext("Commentaire (Long si nécessaire)")."
"; echo ""; echo ""; if ($ligne > "0") { echo ""; } echo ""; echo "\n"; } else { //les logins ne correspondent pas , on laisse la possibilité d'ajouter une demande de maintenance echo "
"; echo "

"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "
".gettext("Description (Brève)")."
".gettext("Priorité:")."
".gettext("Commentaire (Long si nécessaire)")."
\n"; echo ""; echo ""; echo ""; echo "\n"; } include ("pdp.inc.php"); exit; } } /****************************** Affiche le r�ultat ********************************************/ // Tout voir et permet de définir si la machine est réparé if ($action == "detail") { $query="select * from repairs where NAME='$mpenc' AND ID='$ID' LIMIT 1"; $resultat=mysql_query($query,$authlink_invent); $ligne=mysql_num_rows($resultat); $row = mysql_fetch_array($resultat); echo "

".gettext("Maintenance de la machine")." $mpenc

"; echo "
"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($row[11] == "1") { $ETAT=gettext("Réparé"); $COULEUR="#E0EEEE"; } elseif ($row[11] == "2") { $ETAT=("En attente"); $COULEUR="#00FF66"; } elseif ($row[11] == "3") { $ETAT=gettext("Non réparable"); $COULEUR="#E0EEEE"; } else { if ($row[12] == "2") { $COULEUR="#FF7D40"; $ETAT=gettext("Urgent"); } elseif ($row[12] == "1") { $COULEUR="#EE2C2C"; $ETAT=gettext("Trés urgent"); } elseif ($row[12] == "0") { $COULEUR="#FFD700"; $ETAT=gettext("Normal"); } } $FOND="#E0EEEE"; echo ""; if ($row[10]!= "") { echo "\n"; } echo ""; if ((is_admin("computers_is_admin",$login)=="Y") or (($acces_restreint) and in_parc_delegate($login,$mpenc))) { echo "\n"; // On v�ifie si cette machine est dans l'inventaire $query="select * from hardware where NAME LIKE '$mpenc%' LIMIT 1"; $resultat=mysql_query($query,$authlink_invent); $ligne=mysql_num_rows($resultat); if ($ligne == "0") { echo "\n"; } echo "\n"; if ($row[11] != "0") { echo "\n"; echo "\n"; } echo "\n"; echo "
".gettext("Description (Courte)")."$row[4]
".gettext("Date de la demande :")." $row[3]
".gettext("Auteur :")." $row[8]
".gettext("Priorité:")."$ETAT
".gettext("Commentaire (Long si nécessaire)")."$row[10]
\"Warning\"".gettext("Attention : Cette machine n'est pas dans l'inventaire")."
".gettext("Etat :")."
".gettext("Intervenant :")."$row[13]
".gettext("Date d'intervention :")."$row[5]
".gettext("Description réparation")."
\n"; echo ""; echo ""; echo ""; echo ""; echo "\n"; } include ("pdp.inc.php"); exit; } /********************* valide la reparation ******************************/ if ($action == "del") { if ((is_admin("computers_is_admin",$login)=="N") and (is_admin("parc_can_manage",$login)=="N") and (is_admin("parc_can_view",$login)=="N") and (is_admin("inventaire_can_read",$login)=="N")) { echo gettext("Vous n'avez pas le droit d'effectuer cette action ( droits insuffisants )"); exit;} if (($acces_restreint) and (!in_parc_delegate($login,$mpenc))) { echo gettext("Vous n'avez pas le droit d'effectuer cette action ( pas de droits sur les parcs de cette machine)"); exit; } if ($STATUT != "0") { // On cloture la demande $query = "UPDATE `repairs` SET `ACTIONDATE`='$jour', `ACTIONDESC`='$ACTIONDESC', `STATUT`='$STATUT', `ADMIN`='$login' WHERE `ID`='$ID';"; // echo $query; // On logs l'action $resultat=mysql_query($query,$authlink_invent); if ($STATUT == "1") { $OK="MaintD"; } if ($STATUT == "2") { $OK="MaintR"; } if ($STATUT == "3") { $OK="MaintE"; } // On exp�ie un mail si cela est pr�u require_once ("config.inc.php"); $auth = @mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname,$auth) or die("Impossible de se connecter à la base $dbname."); $query="select MAIL, ACTIVE from alertes where VARIABLE='close_maintenance' LIMIT 1"; $resultat=mysql_query($query,$auth); $row = mysql_fetch_array($resultat); if ($row[1] == "1") { alerte_mail($row[0],"[SE3] Intervention éffectuée","Intervention éffectuée par $login (statut : Fermeture de la demande ACTION : $ACTIONDESC)"); } } $action="affiche"; } /************************ Valide le demande de maintenance ****************************************************/ if ($action == "change") { $query="select * from repairs where NAME='$mpenc' AND STATUT='0' AND ACCOUNT='$login' "; $resultat=mysql_query($query,$authlink_invent); $jour=date("Y-m-d G:i:s"); // On teste il y a une demande de maintenance ouverte pour cette machine. On n'en ouvre qu'une par machine //pas d'accord, on doit pouvoir en ouvrir plusieurs pas machines, mais en ayant connaissance ces autres pour ne pas mettre de doublons $ligne=mysql_num_rows($resultat); if($ligne == "0") { // On ajoute dans la table repairs $query2 = "INSERT INTO repairs (ID,DEVICEID,NAME,REQDATE,REQDESC,ACTIONDATE,ACTIONDESC,WARANTY,ACCOUNT,PRICE,COMMENTS,STATUT,PRIORITE,ADMIN) VALUES ('NULL','$mpenc','$mpenc','$jour','$REQDESC','$ACTIONDATE','$ACTIONDESC','$WARANTY','$login','$PRICE','$COMMENTS','$STATUT','$PRIORITE','')"; $result2 = mysql_query($query2,$authlink_invent); // Exp�ie un mail aux membres de computers_is_admin require_once ("config.inc.php"); $auth = @mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname,$auth) or die("Impossible de se connecter à la base $dbname."); $query="select MAIL, ACTIVE from alertes where VARIABLE='new_maintenance' LIMIT 1"; $resultat=mysql_query($query,$auth); $row = mysql_fetch_array($resultat); if ($row[1] == "1") { alerte_mail($row[0],"[SE3] Ouverture de maintenance","Demande de maintenance sur la machine $mpenc par $login avec la priorité $PRIORITE au motif $REQDESC"); } } else { // une demande de maintenance est deja ouverte, on la modifie if($PRIORITE=="3") { $STATUT="1"; $query = "UPDATE `repairs` SET `ACTIONDATE`='$jour', `ACTIONDESC`='$ACTIONDESC', `STATUT`='$STATUT', `ADMIN`='$login', COMMENTS='$COMMENTS', PRIORITE='$PRIORITE' WHERE `ID`='$ID';"; } else { $query = "UPDATE repairs SET REQDESC='$REQDESC', COMMENTS='$COMMENTS', PRIORITE='$PRIORITE' WHERE ID=$ID"; } $resultat=mysql_query($query,$authlink_invent); // Exp�ie un mail aux membres de computers_is_admin include "config.inc.php"; $auth = @mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname,$auth) or die("Impossible de se connecter à la base $dbname."); $query="select MAIL, ACTIVE from alertes where VARIABLE='change_maintenance' LIMIT 1"; $resultat=mysql_query($query,$auth); if ($resultat) { $row = mysql_fetch_array($resultat); if ($row[1] == "1") { alerte_mail($row[0],"[SE3] Modification de maintenance","Modification de la demande de maintenance sur la machine $mpenc par $login avec la priorité $PRIORITE au motif $REQDESC"); } } } $action = "moi"; } /******************************* Affiche la liste de toutes les réparations ************************/ // on affiche // if (($action=="change") or ($action=="all") or ($action=="moi") or ($action=="affiche")) { if ($deb == "") { $deb = "0"; } if ($fin == "") { $fin = "50"; } if ($action == "all") { echo "

".gettext("Toutes les demandes de maintenance")."

"; $query="select * from repairs where STATUT='0' LIMIT 50"; $resultat=mysql_query($query,$authlink_invent); $ligne=mysql_num_rows($resultat); if ($ligne == "0") { echo gettext("Pas de machine en attente"); exit; } if ($acces_restreint) { echo "

"; echo gettext("Demandes pour vos parcs délégués."); echo "

\n"; } if ($etat != "") { $query="select * from repairs WHERE STATUT='$etat' ORDER BY REQDATE desc LIMIT $deb,$fin "; } else { $query="select * from repairs ORDER BY REQDATE desc LIMIT $deb,$fin"; } } else { if ($action == "moi") { echo "

".gettext("Mes demandes de maintenance")."

\n"; // permet de voir uniquement les demandes de login $query="select * from repairs where ACCOUNT='$login' $ajout_machine ORDER BY REQDATE desc LIMIT $deb,$fin"; } else { echo "

".gettext("Demandes de maintenance de $mpenc")."

"; $query="select * from repairs where NAME='$mpenc' ORDER BY REQDATE desc LIMIT $deb,$fin"; } } $result=mysql_query($query,$authlink_invent); $ligne=mysql_num_rows($result); if($ligne == "0") { // Suppression d'une demande de maintenance, cela revient a la fermer echo "

"; echo ""; if ($mpenc != "all") { echo "
".gettext("Aucune demande de maintenance pour cette machine")."
".gettext("Ajouter une demande de maintenance")."
\n"; } } else { // Limite l'affichage a 50 // traite si on en a plus que la taille 50 if (($ligne >= "$fin") || ($deb >= "$fin")) { echo "

"; if ($deb >= "$fin") { $d = $deb - $fin; echo "
\"Précédent\""; } $deb = $deb + $fin; echo "
"; if ($ligne >= "$fin") { echo "\"Suivant\""; } echo "
"; } echo ""; echo ""; //affichage de l'id inutile "; echo ""; echo ""; if ((is_admin("computers_is_admin",$login)=="Y") or (is_admin("parc_can_view",$login)=="Y") or (is_admin("inventaire_can_read",$login)=="Y") or (is_admin("parc_can_manage",$login)=="Y")) { echo "\n"; } //debut de la boucle d'affichage while($row = mysql_fetch_array($result)) { if (($action <> "moi") and ($acces_restreint)) { if (!in_parc_delegate($login,$row[2])) { /*echo "vous ne pouvez affichez la machine $row[2]"; */ continue;}} if ($row[11] == "1") { $ETAT=gettext("Réparé"); $COULEUR="#E0EEEE"; } elseif ($row[11] == "2") { $ETAT=gettext("En attente"); $COULEUR="#00FF66"; } elseif ($row[11] == "3") { $ETAT=gettext("Non réparable"); $COULEUR="#E0EEEE"; } else { if ($row[12] == "2") { $COULEUR="#FF7D40"; $ETAT=gettext("Urgent"); } elseif ($row[12] == "1") { $COULEUR="#EE2C2C"; $ETAT=gettext("Trés urgent"); } elseif ($row[12] == "3") { $COULEUR="#EE2CCC"; $ETAT=gettext("Annulé"); } elseif ($row[12] == "0") { $COULEUR="#FFD700"; $ETAT=gettext("Normal"); } } $FOND="#E0EEEE"; echo ""; //affichage de l'id inutile "; echo ""; echo ""; // Seul le computers is admin peut tout voir if ((is_admin("computers_is_admin",$login)=="Y") or (is_admin("parc_can_view",$login)=="Y") or (is_admin("inventaire_can_read",$login)=="Y") or (is_admin("parc_can_manage",$login)=="Y")) { echo ""; if ($row[11] == "0") { echo"\n"; } elseif($row[11] == "2") { echo"\n"; } elseif($row[11] == "1") { echo"\n"; } elseif($row[11] == "3") { echo"\n"; } } } echo "
$row[0]$row[2]$ETAT$row[8]$row[3]$row[4]".aide('Affiche les détails sur cette demande.',"\"Détails\"")."".aide('Pour voir uniquement les demandes non traitées',"\"Demande").""; echo"
".aide('Pour voir uniquement les demandes mises en attente',"\"En").""; echo"
".aide('Pour voir uniquement les machines réparées',"\"Machine").""; echo"
".aide('Pour voir uniquement les machines non réparables',"\"Machine").""; echo"
\n"; include ("pdp.inc.php"); exit; } } /************** Page de recherche pour la maintenance **************************************/ //if ($action=="choix") { // pas de machine connue echo "

".gettext("Demande d'intervention")."

"; if($erreur) { echo "$erreur

\n"; } $ipaddr = "$REMOTE_ADDR"; $auth = @mysql_connect($dbhost,$dbuser,$dbpass); @mysql_select_db($dbname) or die("Impossible de se connecter à la base $dbname."); $query="select netbios_name from connexions where ip_address='$ipaddr' order by id desc limit 1"; $result=mysql_query($query,$auth); if($ligne != "0") { $row = mysql_fetch_array($result); } // Filtrage des noms echo "

".gettext("Sélectionner une machine")."

"; echo "
\n"; echo "

".aide('Tri les machines en fonction d\'une partie du nom de la machine',"Lister")." les noms contenant: "; echo ""; echo "\n"; echo "

\n"; // Initialisation $list_new_machines=array(); // Lecture des membres du parc $mp=gof_members($parc,"parcs",1); // Creation d'un tableau des machines if ($filtrecomp == '') {$filtrel = '*';} else {$filtrel = "*$filtrecomp*";} $list_machines=search_machines("(&(cn=$filtrel)(objectClass=ipHost))","computers"); // tri des machines d�a pr�entes dans le parc $lmloop=0; $mpcount=count($mp); for ($loop=0; $loop < count($list_machines); $loop++) { $loop1=0; $mach=$list_machines[$loop]["cn"]; while (("$mp[$loop1]" != "$mach") && ($loop1 < $mpcount)) $loop1++; if ("$mp[$loop1]" != "$mach") {$list_new_machines[$lmloop++]=$mach;} } // Affichage menu de s�ection des machines �ajouter au parc if ( count($list_new_machines)>10) {$size=10;} else {$size=count($list_new_machines);} if ( count($list_new_machines)>0) { echo "
\n"; echo"

".gettext("Sélectionnez une machine à signaler à la maintenance :")."

\n"; echo "

\n"; // if ($ligne != "0") { echo "".gettext("(La machine préselectionnée est la machine à partir de laquelle vous faites la demande)")."

\n"; } // Affiche les boutons echo "\n"; echo "\n"; echo "\n"; } //} // si il a le droit d'admin sur la maintenance if ((is_admin("computers_is_admin",$login)=="Y") or (is_admin("parc_can_manage",$login)=="Y") or (is_admin("parc_can_view",$login)=="Y")) { echo "\n"; echo ""; echo ""; } echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"; // echo ""; echo ""; echo "\n"; echo "
\n"; include ("pdp.inc.php"); ?>