[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |