\n"; if ((is_admin("system_is_admin",$login)=="Y")||(ldap_get_right("parc_can_clone",$login)=="Y")) { $mode_rech=isset($_POST['mode_rech']) ? $_POST['mode_rech'] : (isset($_GET['mode_rech']) ? $_GET['mode_rech'] : NULL); //$action=isset($_POST['action']) ? $_POST['action'] : (isset($_GET['action']) ? $_GET['action'] : NULL); $parc=isset($_POST['parc']) ? $_POST['parc'] : (isset($_GET['parc']) ? $_GET['parc'] : NULL); $parametrage_action=isset($_POST['parametrage_action']) ? $_POST['parametrage_action'] : (isset($_GET['parametrage_action']) ? $_GET['parametrage_action'] : NULL); $id_machine=isset($_POST['id_machine']) ? $_POST['id_machine'] : (isset($_GET['id_machine']) ? $_GET['id_machine'] : NULL); $num_op=isset($_POST['num_op']) ? $_POST['num_op'] : (isset($_GET['num_op']) ? $_GET['num_op'] : NULL); $restriction_parcs="n"; if(is_admin("system_is_admin",$login)!="Y") { $restriction_parcs="y"; $tab_delegated_parcs=list_delegated_parcs($login); if(count($tab_delegated_parcs)==0) { echo "

Aucun parc ne vous a été délégué.

\n"; include ("pdp.inc.php"); die(); } } $suppr=isset($_POST['suppr']) ? $_POST['suppr'] : NULL; if(isset($suppr)){ for($i=0;$i0) { $lig=mysql_fetch_object($res); $nom=$lig->name; for($loop=0;$loopLa machine $nom n'est pas dans un de vos parcs delegues.

\n"; die(); } } // Récupérer l'adresse MAC: $sql="SELECT mac FROM se3_dhcp WHERE id='$suppr[$i]';"; //echo "$sql
\n"; $res_mac=mysql_query($sql); if(mysql_num_rows($res_mac)==0) { $sql="SELECT mac FROM se3_tftp_action WHERE id='$suppr[$i]';"; //echo "$sql
\n"; $res_mac=mysql_query($sql); if(mysql_num_rows($res_mac)==0) { echo "ERREUR: L'adresse MAC de la machine d'identifiant $suppr[$i] n'a pas été trouvée dans les tables 'se3_dhcp' ni 'se3_tftp_action'. Il se peut qu'il subsiste un fichier /tftpboot/pxelinux.cfg/01-ADRESSE_MAC qui pourrait perturber le démarrage de la machine.
\n"; } else { $lig_mac=mysql_fetch_object($res_mac); //$corrige_mac=strtolower(strtr($mac_machine,":","-")); $corrige_mac=strtolower(strtr($lig_mac->mac,":","-")); //echo "Test de /tftpboot/pxelinux.cfg/01-$corrige_mac
\n"; if(file_exists("/tftpboot/pxelinux.cfg/01-$corrige_mac")) { //echo "Suppression de /tftpboot/pxelinux.cfg/01-$corrige_mac
\n"; unlink("/tftpboot/pxelinux.cfg/01-$corrige_mac"); } } } else { $lig_mac=mysql_fetch_object($res_mac); //$corrige_mac=strtolower(strtr($mac_machine,":","-")); $corrige_mac=strtolower(strtr($lig_mac->mac,":","-")); //echo "Test de /tftpboot/pxelinux.cfg/01-$corrige_mac
\n"; if(file_exists("/tftpboot/pxelinux.cfg/01-$corrige_mac")) { //echo "Suppression de /tftpboot/pxelinux.cfg/01-$corrige_mac
\n"; unlink("/tftpboot/pxelinux.cfg/01-$corrige_mac"); } } // Suppression de l'action dans la table: $sql="DELETE FROM se3_tftp_action WHERE id='$suppr[$i]';"; //echo "$sql
\n"; $suppression=mysql_query($sql); // Suppression de la tâche recup_rapport.php? //$dossier="/var/se3/tmp/tftp/$suppr[$i]"; $dossier="/etc/se3/www-tools/tftp/$suppr[$i]"; $lanceur_recup="$dossier/lanceur_recup_rapport_action_tftp.sh"; if(file_exists($lanceur_recup)) { unlink($lanceur_recup); } } } // Création de la table dès que possible: creation_tftp_tables(); echo "

".gettext("Consultation TFTP")."

\n"; if(is_admin("system_is_admin",$login)!="Y") { $mode_rech="parc"; } if(!isset($mode_rech)){ echo "

Choisissez le mode de consultation:

\n"; echo "\n"; echo "

Retour à l'index.

\n"; } else { if($mode_rech=="parc"){ if(!isset($parc)){ echo "

Choisissez un ou des parcs:

\n"; $list_parcs=search_machines("objectclass=groupOfNames","parcs"); if (count($list_parcs)==0) { echo "

"; echo gettext("Il n'existe aucun parc. Vous devez d'abord créer un parc"); include ("pdp.inc.php"); exit; } sort($list_parcs); echo "
\n"; echo "\n"; // Affichage des parcs sur 3/4 colonnes $nb_parcs_par_colonne=round(count($list_parcs)/3); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
     \n"; for ($loop=0; $loop < count($list_parcs); $loop++) { //array_push($parcs,$list_parcs[$loop]["cn"]); if(($loop>0)&&(round($loop/$nb_parcs_par_colonne)==$loop/$nb_parcs_par_colonne)){ echo "\n"; } if(($restriction_parcs=="n")||(in_array($list_parcs[$loop]["cn"], $tab_delegated_parcs))) { echo "\n"; echo "
\n"; } } echo "
\n"; echo "

\n"; echo "\n"; echo "
\n"; } else { echo "\n"; // Afficher un tableau des parcs avec les machines qui ont une action programmée... echo "
\n"; echo "\n"; $max_eff_parc=0; for($i=0;$i\n"; echo "

Parc $parc[$i]

\n"; $mp=gof_members($parc[$i],"parcs",1); $nombre_machine=count($mp); sort($mp); //echo "\n"; echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; //echo "\n"; echo "\n"; for ($loop=0; $loop < count($mp); $loop++) { $mpenc=urlencode($mp[$loop]); // Test si on a une imprimante ou une machine $resultat=search_imprimantes("printer-name=$mpenc","printers"); $suisje_printer="non"; for ($loopp=0; $loopp < count($resultat); $loopp++) { if ($mpenc==$resultat[$loopp]['printer-name']) { $suisje_printer="yes"; continue; } } if($suisje_printer=="non") { // Réinitialisation: $id_machine=""; echo "\n"; echo "\n"; // Etat: allumé ou éteint echo "\n"; // Session: ouverte ou pas... sous quelle identité echo "\n"; // Etat config DHCP: // Par la suite il ne faudra pas prendre les IP dans l'annuaire, // mais dans la config DHCP parce que ce sont ces IP qui seront attribuées lors du boot PXE echo "\n"; // Action programmée echo "\n"; if($temoin_action=="y") { echo "\n"; } else { echo "\n"; } // Rapports echo "\n"; // Sauvegardes existantes echo "\n"; echo "\n"; } } echo "
NomEtatSessionConfig DHCPActionSupprimer l'action
\n"; echo "\"Tout\n"; echo " / \"Tout\n"; echo "
RapportsSauvegardes
antérieures
".$mp[$loop].""; $mp_curr=search_machines2("(&(cn=$mpenc)(objectClass=ipHost))","computers"); if ($mp_curr[0]["ipHostNumber"]) { $iphost=$mp_curr[0]["ipHostNumber"]; echo "
Patientez
\n"; echo "\n"; } echo "
\n"; echo "
Patientez
\n"; echo "\n"; echo "
\n"; //$mp_curr=search_machines("(&(cn=$mpenc)(objectClass=ipHost))","computers"); if ($mp_curr[0]["macAddress"]) { $sql="SELECT * FROM se3_dhcp WHERE mac='".$mp_curr[0]["macAddress"]."';"; //echo "$sql
"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); $id_machine=$lig->id; //echo $lig->id; echo "\"$lig-ip\" title=\"$lig->ip\" />"; } else { echo "\"Pas"; } } else { echo "\"Pas"; } echo "
\n"; /* foreach($mp_curr[0] as $champ => $valeur) { echo "\$mp_curr[0]['$champ']=$valeur
"; } */ $temoin_action="n"; if($id_machine!=""){ $sql="SELECT * FROM se3_tftp_action WHERE id='".$id_machine."';"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); echo "$lig->type ($lig->num_op)"; //echo " ".preg_replace("/'/","",preg_replace("/'/","",visu_tache($mp_curr[0]["macAddress"],'light')))."')")."\">"; //echo " ".preg_replace("/'/","",visu_tache($mp_curr[0]["macAddress"],'light'))."')")."\">"; // CELA MERDOUILLE QUAND LA TACHE EST UN CLONAGE... JE NE SAISIS PAS POURQUOI... echo " ".preg_replace('/"/','',preg_replace("/'/","",visu_tache($mp_curr[0]["macAddress"],'light')))."')")."\">"; $temoin_action="y"; //echo " ".preg_replace("/'/"," ",visu_tache($mp_curr[0]["macAddress"],'light'))."')")."\">"; //echo " ".visu_tache($mp_curr[0]["macAddress"],'light')."')")."\">"; } else { echo "\"Pas"; } } else { echo "\"Il"; } echo "
\n"; echo "\n"; echo "\n"; echo "\"Pas\n"; echo "\n"; if($id_machine!=""){ $sql="SELECT * FROM se3_tftp_rapports WHERE id='".$id_machine."' ORDER BY date DESC;"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); echo "\"Visualiser"; echo "
\n"; echo "".mysql_date_to_fr_date($lig->date)."\n"; } else { echo "\"Aucun"; } } else { echo "\"Aucun"; } echo "
\n"; if($id_machine!=""){ $sql="SELECT * FROM se3_tftp_sauvegardes WHERE id='".$id_machine."' ORDER BY date DESC;"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); echo "\"Visualiser"; echo "
\n"; echo "".mysql_date_to_fr_date($lig->date)."\n"; } else { echo "\"Aucune"; } } else { echo "\"Aucune"; } echo "
\n"; if($max_eff_parc<$loop) {$max_eff_parc=$loop;} } echo "\n"; echo "

\n"; echo "\n"; echo "

NOTE: Ajouter l'affichage du rapport s'il existe, des sauvegardes existantes,...

"; //echo "

Retour au choix du(des) parc(s).

\n"; } } //elseif($mode_rech=="svg"){ //elseif(($mode_rech=="svg")||($mode_rech=="rest")){ elseif(($mode_rech=="svg")||($mode_rech=="rest")||($mode_rech=="rapport")||($mode_rech=="unattend_xp")){ echo "\n"; echo "
\n"; echo "\n"; // Afficher un tableau des parcs avec les machines qui ont une action programmée... //for($i=0;$iSauvegardes en attente\n"; $sql="SELECT * FROM se3_tftp_action WHERE type='sauvegarde' ORDER BY num_op,name;"; $res=mysql_query($sql); if(mysql_num_rows($res)==0){ echo "

Aucune sauvegarde n'est en attente.

\n"; include ("pdp.inc.php"); exit(); } } elseif($mode_rech=="rest") { echo "

Restaurations en attente

\n"; $sql="SELECT * FROM se3_tftp_action WHERE type='restauration' ORDER BY num_op,name;"; $res=mysql_query($sql); if(mysql_num_rows($res)==0){ echo "

Aucune restauration n'est en attente.

\n"; include ("pdp.inc.php"); exit(); } } elseif($mode_rech=="rapport") { echo "

Remontées de rapports programmées

\n"; $sql="SELECT * FROM se3_tftp_action WHERE type='rapport' ORDER BY num_op,name;"; $res=mysql_query($sql); if(mysql_num_rows($res)==0){ echo "

Aucune remontée de rapport n'est en attente.

\n"; include ("pdp.inc.php"); exit(); } } elseif($mode_rech=="unattend_xp") { echo "

Remontées de rapports programmées

\n"; $sql="SELECT * FROM se3_tftp_action WHERE type='unattend_xp' ORDER BY num_op,name;"; $res=mysql_query($sql); if(mysql_num_rows($res)==0){ echo "

Aucune installation unattend xp n'est en attente.

\n"; include ("pdp.inc.php"); exit(); } } //$mp=gof_members($parc[$i],"parcs",1); $nombre_machine=mysql_num_rows($res); $mp=array(); //sort($mp); while($lig=mysql_fetch_object($res)) { $mp[]=$lig->name; } //echo "\n"; echo "
\n"; echo "\n"; //echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; //echo "\n"; echo "\n"; for ($loop=0; $loop < count($mp); $loop++) { $mpenc=urlencode($mp[$loop]); // Test si on a une imprimante ou une machine $resultat=search_imprimantes("printer-name=$mpenc","printers"); $suisje_printer="non"; for ($loopp=0; $loopp < count($resultat); $loopp++) { if ($mpenc==$resultat[$loopp]['printer-name']) { $suisje_printer="yes"; continue; } } if($suisje_printer=="non") { // Réinitialisation: $id_machine=""; echo "\n"; //echo "\n"; echo "\n"; // Etat: allumé ou éteint echo "\n"; // Session: ouverte ou pas... sous quelle identité echo "\n"; // Etat config DHCP: // Par la suite il ne faudra pas prendre les IP dans l'annuaire, // mais dans la config DHCP parce que ce sont ces IP qui seront attribuées lors du boot PXE echo "\n"; // Action programmée echo "\n"; echo "\n"; // Rapports echo "\n"; // Sauvegardes existantes echo "\n"; echo "\n"; } } echo "
Numéro d'opérationNomEtatSessionConfig DHCPActionSupprimer l'action
\n"; echo "\"Tout\n"; echo " / \"Tout\n"; echo "
RapportsSauvegardes
antérieures
".$mp[$loop].""; $mp_curr=search_machines2("(&(cn=$mpenc)(objectClass=ipHost))","computers"); if ($mp_curr[0]["ipHostNumber"]) { $iphost=$mp_curr[0]["ipHostNumber"]; echo "
Patientez
\n"; echo "\n"; } echo "
\n"; echo "
Patientez
\n"; echo "\n"; echo "
\n"; //$mp_curr=search_machines("(&(cn=$mpenc)(objectClass=ipHost))","computers"); if ($mp_curr[0]["macAddress"]) { $sql="SELECT * FROM se3_dhcp WHERE mac='".$mp_curr[0]["macAddress"]."';"; //echo "$sql
"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); $id_machine=$lig->id; //echo $lig->ip; echo "\"$lig-ip\" title=\"$lig->ip\" />"; } else { echo "\"Pas"; } } else { echo "\"Pas"; } echo "
\n"; /* foreach($mp_curr[0] as $champ => $valeur) { echo "\$mp_curr[0]['$champ']=$valeur
"; } */ if($id_machine!=""){ $sql="SELECT * FROM se3_tftp_action WHERE id='".$id_machine."';"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); //echo "$lig->type"; echo "$lig->type ($lig->num_op)"; //echo " ".preg_replace('/\n/',"",preg_replace("/'/","",visu_tache($mp_curr[0]["macAddress"],'light')))."')")."\">"; echo " ".preg_replace("/'/","",visu_tache($mp_curr[0]["macAddress"],'light'))."')")."\">"; } else { echo "\"Pas"; } } else { echo "\"Il"; } echo "
\n"; echo "\n"; echo "\n"; if($id_machine!=""){ $sql="SELECT * FROM se3_tftp_rapports WHERE id='".$id_machine."';"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); echo "\"Visualiser"; } else { echo "\"Aucun"; } } else { echo "\"Aucun"; } echo "\n"; if($id_machine!=""){ $sql="SELECT * FROM se3_tftp_sauvegardes WHERE id='".$id_machine."';"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { $lig=mysql_fetch_object($res); echo "\"Visualiser"; } else { echo "\"Aucune"; } } else { echo "\"Aucune"; } echo "
\n"; //} echo "\n"; echo "

\n"; echo "\n"; //echo "

NOTE: Ajouter l'affichage du rapport s'il existe, des sauvegardes existantes,...

"; //echo "

Retour au choix du(des) parc(s).

\n"; } elseif($mode_rech=="clone"){ if(!isset($num_op)) { echo "

Clonages en attente

\n"; $sql="SELECT * FROM se3_tftp_action WHERE type='udpcast_emetteur' ORDER BY num_op;"; $res=mysql_query($sql); if(mysql_num_rows($res)>0) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; while($lig=mysql_fetch_object($res)) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; // Rechercher dans le fichier de conf... ou dans $lig->infos $tab_infos=decoupe_infos($lig->infos); echo "\n"; echo "\n"; echo "\n"; echo "\n"; } echo "
Numéro d'opérationEmetteurClonesDisque/PartitionPortCompression
num_op&mode_rech=clone'>$lig->num_op$lig->name"; $sql="SELECT * FROM se3_tftp_action WHERE num_op='$lig->num_op' AND type='udpcast_recepteur' ORDER BY name;"; //echo "$sql
"; $res2=mysql_query($sql); if(mysql_num_rows($res2)>0) { $cpt=0; while($lig2=mysql_fetch_object($res2)) { if($cpt>0) {echo ", ";} echo $lig2->name; $cpt++; } } else { echo "Aucun récepteur"; } echo "
"; if(isset($tab_infos['disk'])) {echo $tab_infos['disk'];}else{echo "NaN";} echo ""; if(isset($tab_infos['port'])) {echo $tab_infos['port'];}else{echo "NaN";} echo ""; if(isset($tab_infos['compr'])) {echo $tab_infos['compr'];}else{echo "NaN";} echo "
\n"; echo "

A FAIRE:

\n"; echo "
    \n"; echo "
  • Permettre d'ajouter une ou des machines dans une opération de clonage
  • \n"; echo "
  • Supprimer automatiquement les opérations udpcast_recepteur si on supprime l'action udpcast_emetteur
  • \n"; echo "
\n"; } else { echo "

Aucun clonage n'est en attente.

\n"; } } else { echo "

Clonage n°$num_op

\n"; $sql="SELECT * FROM se3_tftp_action WHERE num_op='$num_op';"; $res=mysql_query($sql); $nombre_machine=mysql_num_rows($res); if($nombre_machine>0) { echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $cpt=0; while($lig=mysql_fetch_object($res)) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $cpt++; } echo "
Numéro d'opérationNomStatutSupprimer l'action
\n"; echo "\"Tout\n"; echo " / \"Tout\n"; echo "
$lig->num_op$lig->name"; if($lig->type=="udpcast_emetteur") {echo "Emetteur";} else {echo "Récepteur";} echo "\n"; echo "\n"; echo "
\n"; echo "\n"; echo "

\n"; echo "
\n"; } else { echo "

Aucune machine ne correspond au numéro d'opération choisi.

\n"; } } //echo "

Retour au menu de consultation.

\n"; } echo "

Retour au menu de consultation.

\n"; } } else { print (gettext("Vous n'avez pas les droits nécessaires pour ouvrir cette page...")); } // Footer include ("pdp.inc.php"); ?>