[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-clonage/sources/www/tftp/ -> remontee_udpcast.php (source)

   1  <?php
   2  /* $Id: remontee_udpcast.php 6344 2011-05-19 14:33:12Z dbo $
   3  ===========================================
   4     Projet SE3
   5     Dispositif SE3+TFTP+Sauvegarde/Restauration/Clonage
   6     Stephane Boireau
   7     Distribu� selon les termes de la licence GPL
   8  =============================================
   9  */
  10  
  11  // loading libs and init
  12  //include "entete.inc.php";
  13  include  "ldap.inc.php";
  14  include  "ihm.inc.php";
  15  require ("lib_action_tftp.php");
  16  
  17  echo "<html>
  18  <body>
  19  ";
  20  $num_op=$_GET['num_op'];
  21  $debut=$_GET['debut'];
  22  $fin=$_GET['fin'];
  23  $succes=$_GET['succes'];
  24  $mac=$_GET['mac'];
  25  $umode=$_GET['umode'];
  26  $name=$_GET['name'];
  27  $oldname=$_GET['oldname'];
  28  
  29  // Controler les valeurs transmises
  30  // num_op: doit etre un entier et l'action doit exister dans la table se3_tftp_action... euh, non, ce doit etre supprime une fois les fichiers /tftpboot/pxelinux.cfg/01-AD_MAC supprimes
  31  // debut et fin doivent etre des entiers
  32  // mac: doit n'avoir que des 0-9a-f et tiret ou : et correspondre a une machine dans se3_dhcp
  33  // succes: vaut y ou n
  34  // umode: vaut snd (emetteur) rcv (recepteur) ou pre (pre-clonage) ou post (unattended, jonction au domaine)
  35  
  36  creation_tftp_tables();
  37  
  38  //date='',
  39  $duree=$fin-$debut;
  40  $corrige_mac=strtolower(strtr($mac,"-",":"));
  41  $corrige_mac2=strtolower(strtr($mac,":","-"));
  42  $sql="SELECT * FROM se3_dhcp WHERE mac='$corrige_mac';";
  43  $res=mysql_query($sql);
  44  if(mysql_num_rows($res)>0) {
  45      $lig_dhcp=mysql_fetch_object($res);
  46  
  47      $sql="INSERT INTO se3_tftp_rapports SET id='$lig_dhcp->id', name='$lig_dhcp->name', mac='$corrige_mac',";
  48      if ($umode=='pre') {
  49          $sql.="tache='preparation',";
  50      }
  51      elseif ($umode=='post') {
  52          $sql.="tache='jonction',";
  53      }
  54      else {
  55          $sql.="tache='clonage',";
  56      }
  57      if($succes=='y') {
  58          $sql.="statut='SUCCES',";
  59      }
  60      else {
  61          $sql.="statut='ECHEC : $succes',";
  62      }
  63      $sql.="descriptif='Operation $num_op\n";
  64      if($umode=='rcv') {
  65          $sql.="Recepteur\n";
  66      }
  67      elseif($umode=='post')  {
  68          $sql.="jonction\n";
  69      }
  70      elseif($umode=='pre') {
  71          $sql.="preparation\n";
  72      }
  73      elseif($umode=='snd') {
  74          $sql.="Emetteur\n";
  75      }
  76      else {    
  77          $sql.="$umode\n";
  78      }
  79      $sql.="Debut: $debut\nFin: $fin\nDuree: $duree';";
  80      $res=mysql_query($sql);
  81      if ($umode=='pre') {
  82          // on attend 500 s que le fichier pxe soit pret pour rendre la main
  83          echo "On attend /tftpboot/pxelinux.cfg/01-$corrige_mac2 <br>\n";
  84          $incr=0;
  85          while (!file_exists("/tftpboot/pxelinux.cfg/01-$corrige_mac2")) {
  86              sleep(10);
  87              echo ".";
  88              if ($incr++==10) { 
  89                  echo "Probleme : pas de fichier PXE";
  90                  break;
  91              }
  92          }
  93      }
  94  //    elseif ($umode=='post') {
  95      // on fait les changements de noms, de parcs...
  96  //        renomme_machine($name,$oldname);
  97  //    }         
  98      echo "<br>Remontee effectuee.<br>";
  99  }
 100  else {
 101      echo "Echec de la remontee.\n";
 102      echo "L'adresse MAC $corrige_mac est inconnue dans la table 'se3_dhcp'.";
 103  }
 104  
 105  // Footer
 106  include ("pdp.inc.php");
 107  ?>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1