[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-wpkg/sources/www/ -> restart-client.php (source)

   1  <?php
   2  $wpkgUser = false;
   3  include  "inc/wpkg.auth.php";
   4  
   5  if ( ! $wpkgUser ) {
   6      include entete.inc.php; ?>
   7          <h2>Déploiement d'applications</h2>
   8          <div class=error_msg>Vous n'avez pas les droits nécessaires à l'utilisation de cette fonction !</div>
   9  <?  include pdp.inc.php;
  10      exit;
  11  } else{
  12      if ($_GET["Poste"] == '') Erreur("poste non défini");
  13      elseif  ($_GET["Broadcast"] == '') Erreur("Broadcast non défini");
  14      elseif  ($_GET["Mac"] == '') Erreur("Mac non défini");
  15      elseif  ($_GET["Ip"] == '') Erreur("Ip non défini");
  16      else {
  17          // envoi d'une trame wakeonlan
  18          exec ( "/usr/bin/wakeonlan -i '".$_GET["Broadcast"]."' '" . $_GET["Mac"] . "' 2>&1", $output, $status );
  19          $msg="wakeonlan  -i '".$_GET["Broadcast"]."' '" . $_GET["Mac"] . "'\n";
  20          
  21          // Pour le cas où le poste était déjà démarré
  22          exec ( "net rpc shutdown -r -f -C 'Redemarrage pour wpkg' -S ".$_GET["Poste"]." -U '".$_GET["Poste"]."\adminse3%$xppass' 2>&1", $output, $status );
  23          if ( $status == 0 ) {
  24              print "Redemarrge du '$Poste' : OK\n\n";
  25              print "net rpc shutdown -r -f -C 'Redemarrage pour wpkg' -S '".$_GET["Poste"]."' -U '".$_GET["Poste"]."\adminse3%XXXXXX'\n";
  26              return true;
  27          } else {
  28              $msg .= "Redemarrage du poste $Poste ... \n";
  29              $msg .= "Erreur $status : net rpc shutdown -r  -f -C 'Redemarrage pour wpkg' -S '".$_GET["Poste"]."' -U '".$_GET["Poste"]."\adminse3%XXXXXX'\n";
  30              $msg .= "\n";
  31              foreach($output as $key => $value) {
  32                  $msg .= "   $value\n";
  33              }
  34              $msg .= "\n";
  35              // Essai avec ssh adminse3
  36  
  37              //$rebootCmd = "(shutdown.exe -r -f)||(psshutdown.exe -r -f -n 10)";
  38              $rebootCmd = "shutdown.exe -r -f";
  39              $sshCmd = "ssh -o StrictHostKeyChecking=no -o ConnectTimeout=20 -o CheckHostIP=no -i /var/remote_adm/.ssh/id_rsa";
  40              
  41              //echo "$sshCmd adminse3@".$_GET["Ip"]." '$rebootCmd'";
  42              exec ( "$sshCmd adminse3@".$_GET["Ip"]." '$rebootCmd' 2>&1", $output, $status );
  43              if ( $status == 0 ) {
  44                  print "Redemarrge du '$Poste' : OK\n\n";
  45                  print "$sshCmd adminse3@".$_GET["Ip"]." '$rebootCmd'\n";
  46                  return true;
  47              } else {
  48                  $msg .= "Erreur $status : $sshCmd adminse3@".$_GET["Ip"]." '$rebootCmd'\n";
  49                  $msg .= "\n";
  50                  foreach($output as $key => $value) {
  51                      $msg .= "   $value\n";
  52                  }
  53                  $msg .= "\n";
  54                  // Essai avec ssh administrateur
  55                  exec ( "$sshCmd leb@".$_GET["Ip"]." '$rebootCmd' 2>&1", $output, $status );
  56                  if ( $status == 0 ) {
  57                      print "Redemarrge du '$Poste' : OK\n\n";
  58                      print "$sshCmd administrateur@".$_GET["Ip"]." '$rebootCmd'\n";
  59                      return true;
  60                  } else {
  61                      //header("HTTP/1.1 505 Forbidden");
  62                      //header("Status: 505 Erreur d'execution"); 
  63                      $msg .= "Erreur $status : $sshCmd administrateur@".$_GET["Ip"]." '$rebootCmd'\n";
  64                      $msg .= "\n";
  65                      foreach($output as $key => $value) {
  66                          $msg .= "   $value\n";
  67                      }
  68                      $msg .= "\n";
  69                      header("HTTP/1.1 505 Forbidden");
  70                      header("Status: 505 Erreur d'execution"); 
  71                      echo "$msg";
  72                      return false;
  73                  }
  74              }
  75          }
  76      }
  77  }
  78  function Erreur($msg) {
  79      header("HTTP/1.1 404 Not found");
  80      header("Status: 404 Not found"); 
  81      echo "$msg\n";
  82  }
  83  
  84  ?>


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