[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   1  <?php
   2  // ## $Id: posteconf.php 6277 2011-04-03 17:32:09Z olikin $ ## 
   3  // Définit le fichier $wpkgroot/ini/$computer.ini qui fixe les paramètres d'exécution de wpkg pour ce poste.
   4  header("Pragma: no-cache");
   5  header("Cache-Control: no-cache, must-revalidate");
   6  $wpkgUser = false;
   7  include  "inc/wpkg.auth.php";
   8  $ini = "";
   9  if ( ! $wpkgUser ) {
  10      include entete.inc.php; ?>
  11          <h2>Déploiement d'applications</h2>
  12          <div class=error_msg>Vous n'avez pas les droits nécessaires à l'utilisation de cette fonction !</div>
  13  <?  include pdp.inc.php;
  14      exit;
  15  } else{ ?>
  16  <html>
  17      <head>
  18          <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  19          <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
  20          <meta http-equiv="Pragma" content="no-cache" />
  21      </head>
  22      <body>
  23  <?    if ($_GET["Poste"] === '') {
  24          Erreur("poste non défini");
  25      } else {
  26          $Poste = $_GET["Poste"];
  27          echo "<h3>Configuration du client wpkg sur le poste '$Poste' </h3>";
  28          $Param = $_GET["Param"];
  29          $Valeur = $_GET["Valeur"];
  30          $inifile = "$wpkgroot/ini/".$Poste.".ini";
  31          $msgOperation = "<br/>";
  32          $ValueParamChanged = false;
  33          if ( ! is_dir("$wpkgroot/ini")) {
  34              mkdir ("$wpkgroot/ini", 0700);
  35          }
  36          
  37          if ( $Param === 'undefined' ) $Param = '';
  38          
  39          if ( $Param === 'DELETE' ) {
  40              if (file_exists($inifile)) {
  41                  if (@unlink($inifile)) {
  42                      $msgOperation .= "Ficher '$inifile' effacé.";
  43                  } else {
  44                      $msgOperation .= "Erreur de suppression de  '$inifile'.<br>";
  45                  }
  46              } else {
  47                  $msgOperation .= "Il n'y avait pas de fichier '$inifile' a effacer.<br>";
  48              }
  49          } else {
  50              $ini = '';
  51              if (file_exists($inifile) && (filesize ($inifile) > 0 )) {
  52                  // Lecture du fichier
  53                  if (!$handle = fopen ($inifile, "r")) {
  54                      $msgOperation .= "Impossible d'ouvrir le fichier '$inifile' en lecture.<br>";
  55                      //exit;
  56                  } else {
  57                      $ini = fread ($handle, filesize ($inifile));
  58                      fclose ($handle);
  59                  }
  60              } else {
  61                  $msgOperation .= "Fichier '$inifile' créé.<br>";
  62                  // A défaut de fichier ini, initialisation avec des valeurs par défaut
  63                  $ini  = "debug=true ' Permet d'avoir des logs plus détaillés.\r\n";
  64                  $ini .= "logdebug=false ' Pour avoir des logs en temps réel sur le serveur.\r\n";
  65                  $ini .= "force=false ' Pour tester la présence ou l'absence effective de chaque appli sur le poste.\r\n";
  66                  $ini .= "forceinstall=false ' Pour installer ou désinstaller les applications même si les tests 'check' sont vérifiés.\r\n";
  67                  $ini .= "nonotify=false ' Pour ne pas avertir l'utilisateur logué des opérations de wpkg.\r\n";
  68                  //$ini .= "norunningstate=false ' Pour que wpkg n'écrive pas running=true dans la base de registre lorsqu'il s'exécute.\r\n";
  69                  $ini .= "dryrun=false ' Pour que wpkg simule une exécution mais n'installe ou ne désinstalle rien.\r\n";
  70                  $ini .= "nowpkg=false ' Pour ne pas exécuter wpkg sur le poste.\r\n";
  71                  $ini .= "noforcedremove=false ' Pour ne pas retirer les applis zombies de la base de données du poste si les commandes de remove échouent.\r\n";
  72              }
  73              
  74              if ( $ini != '') {
  75                  $Aini = explode ("\r\n", $ini);
  76                  $derligne = array_pop($Aini);
  77                  if ($derligne != "") array_push ($Aini, $derligne);
  78                  
  79                  $r = "";
  80                  $rHtml = '';
  81  
  82                  // Affichage HTML des valeurs des options
  83                  $r = '';
  84                  // echo "Param=$Param, ParamFound=$ParamFound<br/><br/>";
  85                  echo "<table>\n";
  86                  foreach ($Aini as $ligne) {
  87                      if ( preg_match("/^\s*(\b[^=]+\b)\s*=\s*(\b[^']+\b)\s*('.*)$/" , $ligne , $t) ) {
  88                          $Parametre = $t[1];
  89                          if (($Param === $Parametre) && ($Valeur != '')) {
  90                              $Val = $Valeur;
  91                              $Param = '';
  92                              $ValueParamChanged = true;
  93                          } else {
  94                              $Val = $t[2];
  95                          }
  96                          $Commentaire = $t[3];
  97                          
  98                          $L = "$Parametre=$Val $Commentaire\r\n";
  99                          echo "<tr>\n";
 100                          if ( NotValeur($Val) != '') {
 101                              echo "<td><button title='$Parametre=".NotValeur($Val)."' style='font-size:x-small;' onclick=\"posteini('$Poste', '$Parametre', '" . NotValeur($Val) . "' );\">Changer</button></td>"; 
 102                          } else {
 103                              echo "<td></td>\n";
 104                          }
 105                          echo "<td>$Parametre=$Val</td>\n";
 106                          //echo utf8_encode("<td> $Commentaire</td>\n");
 107                          echo "<td> $Commentaire</td>\n";
 108                          echo "</tr>\n";
 109                          $r .= $L;
 110                          
 111                      } else {
 112                          echo "Ligne inconnue : '$ligne'<br/>";
 113                          $r .= $ligne . "\r\n";
 114                          $ValueParamChanged = true;
 115                      }
 116                      
 117                  }
 118                  echo "<tr><td align='center' colspan='3'><button style='font-size:small;' onclick=\"posteini('$Poste', 'DELETE', '' );\">Rétablir la configuration par défaut</button></td></tr>\n";
 119                  echo "</table>\n";
 120                  // echo "Param=$Param, ParamFound=$ParamFound<br/><br/>";
 121                  if (($Param != '') && ($Valeur != '')) {
 122                      $L = $Param . "=" . $Valeur ."\r\n";
 123                      $r .= $L;
 124                  }
 125                  
 126                  // Réécriture du fichier 
 127                  if (!$handle = fopen($inifile, 'w')) {
 128                      $msgOperation .= "Impossible d'ouvrir le fichier '$inifile' en écriture.";
 129                  } else {
 130                      if (fwrite($handle, $r) === false) {
 131                          $msgOperation .= "Impossible d'écrire dans le fichier ($inifile)";
 132                      } else {
 133                          if ($ValueParamChanged) $msgOperation .= "Ficher '$inifile' mis à jour.";
 134                      }
 135                      fclose($handle);
 136                  }
 137                  //echo "<pre>";
 138                  //utf8_encode(readfile($inifile)); 
 139                  //echo "</pre>";
 140              }
 141              
 142          }
 143          //echo utf8_encode("<p>$msgOperation</p>");
 144          echo "<p>$msgOperation</p>";
 145          
 146      }
 147      ?>
 148      </body>
 149  </html>
 150  <?
 151  }
 152  function NotValeur( $Val ) {
 153      if ( $Val === '1' ) $NVal = '0';
 154      elseif  ( $Val === '0' ) $NVal = '1';
 155      elseif  ( $Val === 'false' ) $NVal = 'true';
 156      elseif  ( $Val === 'true' ) $NVal = 'false';
 157      return $NVal;
 158  }
 159  function Erreur505($msg) {
 160      //header("HTTP/1.1 505 Not found");
 161      //header("Status: 505 Erreur d'execution"); 
 162      echo "$msg\n";
 163  }
 164  function Erreur($msg) {
 165      header("HTTP/1.1 404 Not found");
 166      header("Status: 404 Not found"); 
 167      echo "$msg\n";
 168  }
 169  
 170  ?>


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