[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/fond_ecran/ -> fonds.php (source)

   1  <?php
   2      /* $Id: fonds.php 8003 2013-12-27 17:10:13Z crob $ */
   3      /* =============================================
   4      Projet SE3
   5      Equipe Tice académie de Caen
   6  
   7      Module fond d'écran: Page principale
   8      Auteur: Stephane Boireau (AS Bernay/Pont-Audemer (27))
   9      Dernière modification le 10/06/2006
  10  
  11      Fichier: /var/www/se3/fond_ecran/fonds.php
  12  
  13      Distribué selon les termes de la licence GPL
  14      ============================================= */
  15  
  16      include  "entete.inc.php";
  17      include  "ldap.inc.php";
  18      include  "ihm.inc.php";
  19      // Pour MySQL et refreshzrn?:
  20      //require "../registre/include.inc.php";
  21      require "/var/www/se3/registre/include.inc.php";
  22  
  23      require_once ("lang.inc.php");
  24      bindtextdomain('se3-fond',"/var/www/se3/locale");
  25      textdomain ('se3-fond');
  26  
  27      //aide
  28      $_SESSION["pageaide"]="Le_module_Syst%C3%A8me_fond_d\'%C3%A9cran#Param.C3.A8trage";
  29      
  30      // Chemin à récupérer par la suite depuis MySQL (ou depuis un fichier texte)
  31      //$chemin_param_fond="/usr/share/se3/etc/fonds_ecran";
  32      $chemin_param_fond="/etc/se3/fonds_ecran";
  33      //$dossier_upload_images="/var/remote_adm";
  34      $dossier_upload_images="/etc/se3/www-tools";
  35      $chemin_scripts="/usr/share/se3/scripts";
  36  
  37      // Tableau des couleurs HTML:
  38      $tabcouleur=Array("aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen");
  39  
  40      //Connexion à la base de données
  41      $etablissement_connexion_mysql=connexion();
  42  
  43      if (is_admin("se3_is_admin",$login)=="Y") {
  44          $titre=gettext("Aide en ligne");
  45          $texte=gettext("
  46              Vous &#234;tes administrateur du serveur SE3.<br>
  47              Avec le menu ci-dessous, vous pouvez mettre en place des fonds d'&#233;cran pour:<br>
  48              <ul>
  49              <li>l'utilisateur 'admin'</li>
  50              <li>le groupe 'Profs'</li>
  51              <li>le groupe 'Eleves'</li>
  52              <li>le groupe 'Administratifs'</li>
  53              <li>le groupe 'overfill'</li>
  54              <li>les groupes 'Classe_XXX'</li>
  55              </ul>
  56              <p>Les fonds peuvent n'&#234;tre que des liens vers un fond commun (<i>&#233;conomique en place</i>), ou des images avec annotation (<i>nom, pr&#233;nom, classe, photo</i>).</p>
  57              <p>Ces fonds peuvent &#234;tre des d&#233;grad&#233;s g&#233;n&#233;r&#233;s ou des images fournies par vos soins.</p>
  58              <p>Les fonds commun sont mis en place dans /var/se3/Docs/media/fonds_ecran/ et les fonds propres &#224; chaque utilisateur sont mis en place en /home/profiles/user/.fond/fond.jpg (<i>soit %USERPROFILES%\.fond\fond.jpg</i>).</p>
  59          ");
  60          mkhelp($titre,$texte);
  61  
  62          $query="SHOW TABLES;";
  63          $resultat = mysql_query($query);
  64          if(mysql_num_rows($resultat)==0){
  65              echo "<p><b>".gettext("ERREUR").":</b> ".gettext("Il semble que la base de donn&#233;es choisie ne comporte aucune table").".</p>";
  66              include("pdp.inc.php");
  67              exit();
  68          }
  69          else{
  70              $table_wallpaper_existe="non";
  71              while($ligne=mysql_fetch_array($resultat)){
  72                  if($ligne[0]=="wallpaper"){
  73                      $table_wallpaper_existe="oui";
  74                  }
  75              }
  76              if($table_wallpaper_existe=="non"){
  77                  $query="CREATE TABLE `wallpaper` (
  78  `nom` CHAR( 80 ) NOT NULL ,
  79  `valeur` CHAR( 30 ) NOT NULL ,
  80  `identifiant` INT NOT NULL AUTO_INCREMENT ,
  81  PRIMARY KEY ( `identifiant` )
  82  );";
  83                  $resultat = mysql_query($query);
  84              }
  85          }
  86  
  87          echo "<h1>".gettext("Gestion de fonds d'&#233;cran")."</h1>\n";
  88  
  89          if((!file_exists("$chemin_param_fond/imagemagick_present.txt"))||(!file_exists("$chemin_param_fond/gsfonts_present.txt"))){
  90              //=================================================
  91              //                   INSTALLATION
  92              //=================================================
  93              echo "<h2>".gettext("Installation")."</h2>\n";
  94              echo "<p>".gettext("Le fonctionnement de la g&#233;n&#233;ration de fonds pour le Bureau n&#233;cessite l'installation des paquets suivants").":</p>\n";
  95              echo "<ul>\n";
  96              echo "    <li><p><b>ImageMagick</b>: ".gettext("Programme de g&#233;n&#233;ration/traitement d'images en ligne de commande").".</p></li>\n";
  97              echo "    <li><p><b>Gsfonts</b>: ".gettext("Des polices pour permettre l'annotation d'images").".</p></li>\n";
  98              echo "</ul>\n";
  99              echo "<blockquote>\n";
 100              echo "<p>".gettext("Lancement de l'installation......Ne fermez pas cette fen&#234;tre").":</p>\n";
 101              echo "</blockquote>\n";
 102              system("/usr/bin/sudo /usr/share/se3/scripts/install_se3-module.sh se3-fondecran",$return);
 103              if($return==0) {
 104                echo "Installation Ok,.<br>\n";
 105              }
 106              else {
 107                echo "Oups .... l'installation a renvoy&#233; une erreur :(((.<br>\n";
 108              }
 109               echo "<a href=\"../fond_ecran/fonds.php\">Retour</a> ";
 110              
 111          }
 112          else{
 113  
 114              // Le choix de consultation/paramétrage a-t-il été POSTé?
 115              $choix1=isset($_POST['choix1']) ? $_POST['choix1'] : (isset($_GET['choix1']) ? $_GET['choix1'] : NULL);
 116              if(isset($choix1)){
 117                  //$choix1=$_POST['choix1'];
 118  
 119                  // Sinon, la variable peut:
 120                  // - ne pas être encore initialisée.
 121                  // - être intialisée directement sans validation de formulaire.
 122              }
 123              else{
 124                  // Le dispositif est-il actif?
 125                  $query="SELECT * FROM wallpaper WHERE nom='action'";
 126                  $resultat = mysql_query($query);
 127                  if(mysql_num_rows($resultat)==0){
 128                      $dispositif_actif="non";
 129                      //echo "<p>1</p>\n";
 130                  }
 131                  else{
 132                      $ligne=mysql_fetch_object($resultat);
 133                      $valeur=$ligne->valeur;
 134                      if($valeur=="actif"){
 135                          $dispositif_actif="oui";
 136                          //echo "<p>2</p>\n";
 137                      }
 138                      else{
 139                          $dispositif_actif="non";
 140                          //echo "<p>3</p>\n";
 141                      }
 142                  }
 143  
 144                  //echo "<p>\$dispositif_actif=$dispositif_actif</p>\n";
 145  
 146                  if($dispositif_actif=="oui"){
 147                       echo "<h2>".gettext("Choix")."</h2>\n";
 148                      echo "<blockquote>\n";
 149                      echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" name=\"choix\">\n";
 150                      echo "<p>".gettext("Voulez-vous").":</p>\n";
 151                      echo "<ul style=\"list-style-type:none;\">\n";
 152  
 153                      //echo "<li><p><input type=\"radio\" name=\"choix1\" value=\"verif_smb_conf\" checked=\"true\"> ".gettext("V&#233;rifier les fichiers /etc/samba/smb*.conf").".</p></li>\n";
 154  
 155                      echo "<li><p><input type=\"radio\" name=\"choix1\" id=\"choix1_consulter\" value=\"consulter\" checked=\"true\" /><label for='choix1_consulter' style='cursor:pointer;'> ".gettext("Consulter les param&#233;trages actuels").".</label></p></li>\n";
 156                      echo "<li><p><input type=\"radio\" name=\"choix1\" id=\"choix1_parametrer\" value=\"parametrer\" /><label for='choix1_parametrer' style='cursor:pointer;'> ".gettext("Effectuer des param&#233;trages").".</label></p></li>\n";
 157                      echo "<li><p><input type=\"radio\" name=\"choix1\" id=\"choix1_supprimer\" value=\"supprimer\" /><label for='choix1_supprimer' style='cursor:pointer;'> ".gettext("Supprimer le cache").".</label></p></li>\n";
 158                      //echo "<li><p><input type=\"radio\" name=\"choix1\" id=\"choix1_inserer_image\" value=\"inserer_image\" /><label for='choix1_inserer_image' style='cursor:pointer;'> ".gettext("Ins&#233;rer une image personnalis&#233;e dans le fond d'un utilisateur").".</label></p></li>\n";       
 159                      echo "<li><p><a href='fond_perso.php'>".gettext("Ins&#233;rer une image personnalis&#233;e dans le fond d'un utilisateur").".</a></p></li>\n";       
 160                      echo "</ul>\n";
 161                      echo "<input type=\"submit\" name=\"bouton_choix\" value=\"".gettext("Valider")."\"></p>\n";
 162                      echo "</form>\n";
 163                      echo "</blockquote>\n";
 164                  }
 165                  else{
 166                      // Seul le choix de paramétrage peut convenir alors.
 167                      $choix1="parametrer";
 168                  }
 169              
 170              }
 171  
 172              if($choix1=="consulter"){
 173                  echo "<h2>".gettext("Consultation des param&#232;tres")."</h2>\n";
 174                  //echo "<blockquote>\n";
 175  
 176                  $query="SELECT * FROM wallpaper WHERE nom LIKE 'fond_%' AND valeur='actif'";
 177                  $resultat = mysql_query($query);
 178                  if(mysql_num_rows($resultat)==0){
 179                      echo "<p>".gettext("Le dispositif est actif, mais aucun param&#233;trage de fond n'est effectu&#233;").".</p>\n";
 180                  echo "<br>"."<a href=\"../fond_ecran/fonds.php\">Retour</a> ";
 181                  }
 182                  else{
 183                      echo "<h3>".gettext("Tableau des param&#233;trages effectu&#233;s")."</h3>\n";
 184                      echo "<table border=\"1\">\n";
 185  
 186                      echo "<tr style=\"font-weight:bold; text-align:center;\">\n";
 187                      echo "<td>&nbsp;</td>\n";
 188                      echo "<td colspan=\"5\">".gettext("Param&#232;tres de l'image")."</td>\n";
 189                      echo "<td colspan=\"7\">".gettext("Param&#232;tres des annotations")."</td>\n";
 190                      echo "</tr>\n";
 191  
 192                      echo "<tr style=\"font-weight:bold; text-align:center;\">\n";
 193                      echo "<td>".gettext("Utilisateur/groupe")."</td>\n";
 194                      echo "<td>".gettext("Image")."</td>\n";
 195                      echo "<td>".gettext("Largeur")."</td>\n";
 196                      echo "<td>".gettext("Hauteur")."</td>\n";
 197                      echo "<td>".gettext("Couleur")." 1</td>\n";
 198                      echo "<td>".gettext("Couleur")." 2</td>\n";
 199                      echo "<td>".gettext("Annotations")."</td>\n";
 200                      echo "<td>".gettext("Couleur du texte")."</td>\n";
 201                      echo "<td>".gettext("Taille de la police")."</td>\n";
 202                      echo "<td>".gettext("Nom et pr&#233;nom")."</td>\n";
 203                      //echo "<td>Prénom</td>\n";
 204                      echo "<td>".gettext("Classe")."</td>\n";
 205                      /*
 206                      echo "<td>Login</td>\n";
 207                      echo "<td>Nom de machine</td>\n";
 208                      echo "<td>IP</td>\n";
 209                      echo "<td>Architecture</td>\n";
 210                      echo "<td>Date</td>\n";
 211                      */
 212                      echo "<td>".gettext("Photo")."</td>\n";
 213                      echo "</tr>\n";
 214  
 215  					function si_select_croix($valeur){
 216                          if($valeur==1){
 217                              $vartmp="X";
 218                          }
 219                          else{
 220                              $vartmp="&nbsp;";
 221                          }
 222                          return $vartmp;
 223                      }
 224  
 225                      while($ligne=mysql_fetch_object($resultat)){
 226                          $groupe=substr($ligne->nom,5);
 227                          if($groupe == "admin")
 228                              $wallgrp="Adminse3";
 229                          else
 230                              $wallgrp=$groupe;
 231                          //echo "<p>Récupération des infos de $groupe</p>";
 232  
 233                          // Réinitialisations:
 234                          $type_image="&nbsp;";
 235                          $largeur="&nbsp;";
 236                          $hauteur="&nbsp;";
 237                          $couleur1="&nbsp;";
 238                          $couleur2="&nbsp;";
 239                          $annotations="&nbsp;";
 240                          $couleur_txt="&nbsp;";
 241                          $taille_police="&nbsp;";
 242                          $annotation_nom="&nbsp;";
 243                          //$annotation_prenom="&nbsp;";
 244                          $annotation_classe="&nbsp;";
 245                          /*
 246                          $annotation_login="&nbsp;";
 247                          $annotation_machine="&nbsp;";
 248                          $annotation_ip="&nbsp;";
 249                          $annotation_arch="&nbsp;";
 250                          $annotation_date="&nbsp;";
 251                          */
 252                          $affiche_photo="&nbsp;";
 253  
 254                          $query="SELECT valeur FROM wallpaper WHERE nom='type_image_$groupe'";
 255                          $result1=mysql_query($query);
 256                          if(mysql_num_rows($result1)==0){
 257                              $type_image="???";
 258                              // Il a dû se passer quelque chose de travers...
 259                          }
 260                          else{
 261                              $lig1=mysql_fetch_object($result1);
 262                              if($lig1->valeur=="image_fournie"){
 263                                  $type_image="Fournie";
 264                              }
 265                              else{
 266                                  $type_image="Dégradé";
 267  
 268                                  $query="SELECT valeur FROM wallpaper WHERE nom='largeur_$groupe'";
 269                                  $result2=mysql_query($query);
 270                                  if(mysql_num_rows($result2)==0){
 271                                      $largeur="???";
 272                                      // Il a dû se passer quelque chose de travers...
 273                                  }
 274                                  else{
 275                                      $lig2=mysql_fetch_object($result2);
 276                                      $largeur=$lig2->valeur;
 277                                  }
 278  
 279                                  $query="SELECT valeur FROM wallpaper WHERE nom='hauteur_$groupe'";
 280                                  $result2=mysql_query($query);
 281                                  if(mysql_num_rows($result2)==0){
 282                                      $hauteur="???";
 283                                      // Il a dû se passer quelque chose de travers...
 284                                  }
 285                                  else{
 286                                      $lig2=mysql_fetch_object($result2);
 287                                      $hauteur=$lig2->valeur;
 288                                  }
 289  
 290                                  $query="SELECT valeur FROM wallpaper WHERE nom='couleur1_$groupe'";
 291                                  $result2=mysql_query($query);
 292                                  if(mysql_num_rows($result2)==0){
 293                                      $couleur1="???";
 294                                      // Il a dû se passer quelque chose de travers...
 295                                  }
 296                                  else{
 297                                      $lig2=mysql_fetch_object($result2);
 298                                      $couleur1=$lig2->valeur;
 299                                  }
 300  
 301                                  $query="SELECT valeur FROM wallpaper WHERE nom='couleur2_$groupe'";
 302                                  $result2=mysql_query($query);
 303                                  if(mysql_num_rows($result2)==0){
 304                                      $couleur2="???";
 305                                      // Il a dû se passer quelque chose de travers...
 306                                  }
 307                                  else{
 308                                      $lig2=mysql_fetch_object($result2);
 309                                      $couleur2=$lig2->valeur;
 310                                  }
 311  
 312                              }
 313                          }
 314  
 315                          $query="SELECT valeur FROM wallpaper WHERE nom='annotations_$groupe'";
 316                          $result1=mysql_query($query);
 317                          if(mysql_num_rows($result1)==0){
 318                              $annotations="???";
 319                              // Il a dû se passer quelque chose de travers...
 320                          }
 321                          else{
 322                              $lig1=mysql_fetch_object($result1);
 323                              if($lig1->valeur=="inactif"){
 324                                  $annotations="Non";
 325                              }
 326                              else{
 327                                  $annotations="Oui";
 328  
 329                                  /*
 330                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_login_$groupe'";
 331                                  $result2=mysql_query($query);
 332                                  if(mysql_num_rows($result2)==0){
 333                                      $annotation_login="???";
 334                                      // Il a dû se passer quelque chose de travers...
 335                                  }
 336                                  else{
 337                                      $lig2=mysql_fetch_object($result2);
 338                                      $annotation_login=$lig2->valeur;
 339                                  }
 340  
 341                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_machine_$groupe'";
 342                                  $result2=mysql_query($query);
 343                                  if(mysql_num_rows($result2)==0){
 344                                      $annotation_machine="???";
 345                                      // Il a dû se passer quelque chose de travers...
 346                                  }
 347                                  else{
 348                                      $lig2=mysql_fetch_object($result2);
 349                                      $annotation_machine=$lig2->valeur;
 350                                  }
 351  
 352                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_ip_$groupe'";
 353                                  $result2=mysql_query($query);
 354                                  if(mysql_num_rows($result2)==0){
 355                                      $annotation_ip="???";
 356                                      // Il a dû se passer quelque chose de travers...
 357                                  }
 358                                  else{
 359                                      $lig2=mysql_fetch_object($result2);
 360                                      $annotation_ip=$lig2->valeur;
 361                                  }
 362  
 363                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_arch_$groupe'";
 364                                  $result2=mysql_query($query);
 365                                  if(mysql_num_rows($result2)==0){
 366                                      $annotation_arch="???";
 367                                      // Il a dû se passer quelque chose de travers...
 368                                  }
 369                                  else{
 370                                      $lig2=mysql_fetch_object($result2);
 371                                      $annotation_arch=$lig2->valeur;
 372                                  }
 373  
 374                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_date_$groupe'";
 375                                  $result2=mysql_query($query);
 376                                  if(mysql_num_rows($result2)==0){
 377                                      $annotation_date="???";
 378                                      // Il a dû se passer quelque chose de travers...
 379                                  }
 380                                  else{
 381                                      $lig2=mysql_fetch_object($result2);
 382                                      $annotation_date=$lig2->valeur;
 383                                  }
 384  
 385                                  */
 386  
 387                                  $query="SELECT valeur FROM wallpaper WHERE nom='couleur_txt_$groupe'";
 388                                  $result2=mysql_query($query);
 389                                  if(mysql_num_rows($result2)==0){
 390                                      $couleur_txt="???";
 391                                      // Il a dû se passer quelque chose de travers...
 392                                  }
 393                                  else{
 394                                      $lig2=mysql_fetch_object($result2);
 395                                      $couleur_txt=$lig2->valeur;
 396                                  }
 397  
 398                                  $query="SELECT valeur FROM wallpaper WHERE nom='taille_police_$groupe'";
 399                                  $result2=mysql_query($query);
 400                                  if(mysql_num_rows($result2)==0){
 401                                      $taille_police="???";
 402                                      // Il a dû se passer quelque chose de travers...
 403                                  }
 404                                  else{
 405                                      $lig2=mysql_fetch_object($result2);
 406                                      $taille_police=$lig2->valeur;
 407                                  }
 408  
 409                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_nom_$groupe'";
 410                                  $result2=mysql_query($query);
 411                                  if(mysql_num_rows($result2)==0){
 412                                      $annotation_nom="???";
 413                                      // Il a dû se passer quelque chose de travers...
 414                                  }
 415                                  else{
 416                                      $lig2=mysql_fetch_object($result2);
 417                                      $annotation_nom=$lig2->valeur;
 418                                  }
 419  
 420                                  /*
 421                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_prenom_$groupe'";
 422                                  $result2=mysql_query($query);
 423                                  if(mysql_num_rows($result2)==0){
 424                                      $annotation_prenom="???";
 425                                      // Il a dû se passer quelque chose de travers...
 426                                  }
 427                                  else{
 428                                      $lig2=mysql_fetch_object($result2);
 429                                      $annotation_prenom=$lig2->valeur;
 430                                  }
 431                                  */
 432  
 433                                  $query="SELECT valeur FROM wallpaper WHERE nom='annotation_classe_$groupe'";
 434                                  $result2=mysql_query($query);
 435                                  if(mysql_num_rows($result2)==0){
 436                                      $annotation_classe="???";
 437                                      // Il a dû se passer quelque chose de travers...
 438                                  }
 439                                  else{
 440                                      $lig2=mysql_fetch_object($result2);
 441                                      $annotation_classe=$lig2->valeur;
 442                                  }
 443  
 444                                  $query="SELECT valeur FROM wallpaper WHERE nom='affiche_photo_$groupe'";
 445                                  $result2=mysql_query($query);
 446                                  if(mysql_num_rows($result2)==0){
 447                                      $affiche_photo="???";
 448                                      // Il a dû se passer quelque chose de travers...
 449                                  }
 450                                  else{
 451                                      $lig2=mysql_fetch_object($result2);
 452                                      $affiche_photo=$lig2->valeur;
 453                                  }
 454  
 455                              }
 456                          }
 457  
 458                          echo "<tr style=\"text-align:center;\">\n";
 459                          echo "<td style=\"font-weight:bold;\">$groupe</td>\n";
 460                          if (!file_exists("/var/www/se3/Admin/$wallgrp.jpg") and file_exists("/var/se3/Docs/media/fonds_ecran/$wallgrp.jpg"))
 461                              symlink("/var/se3/Docs/media/fonds_ecran/$wallgrp.jpg", "/var/www/se3/Admin/$wallgrp.jpg");
 462                          if (file_exists("/var/se3/Docs/media/fonds_ecran/$wallgrp.jpg"))
 463                              echo "<td><img src=\"../Admin/$wallgrp.jpg?".rand(1,99999)."\" WIDTH=100 alt=\"Fond\"></td>\n";
 464                          else
 465                              echo "<td>Image /var/se3/Docs/media/fonds_ecran/$wallgrp.jpg introuvable!</td>";
 466                          echo "<td>$largeur</td>\n";
 467                          echo "<td>$hauteur</td>\n";
 468                          echo "<td>$couleur1</td>\n";
 469                          echo "<td>$couleur2</td>\n";
 470                          echo "<td>$annotations</td>\n";
 471                          echo "<td>$couleur_txt</td>\n";
 472                          echo "<td>$taille_police</td>\n";
 473                          echo "<td>".si_select_croix($annotation_nom)."</td>\n";
 474                          //echo "<td>".si_select_croix($annotation_prenom)."</td>\n";
 475                          echo "<td>".si_select_croix($annotation_classe)."</td>\n";
 476                          echo "<td>".si_select_croix($affiche_photo)."</td>\n";
 477                          /*
 478                          echo "<td>".si_select_croix($annotation_login)."</td>\n";
 479                          echo "<td>".si_select_croix($annotation_machine)."</td>\n";
 480                          echo "<td>".si_select_croix($annotation_ip)."</td>\n";
 481                          echo "<td>".si_select_croix($annotation_arch)."</td>\n";
 482                          echo "<td>".si_select_croix($annotation_date)."</td>\n";
 483                          echo "<td>".si_select_croix($affiche_photo)."</td>\n";
 484                          */
 485                          echo "</tr>\n";
 486                      }
 487                      echo "</table>\n";
 488                  echo "<br>"."<a href=\"../fond_ecran/fonds.php\">Retour</a> ";
 489                  }
 490  
 491                  //echo "</blockquote>\n";
 492              
 493              }
 494              
 495              elseif(($choix1=="supprimer")){
 496                      exec("/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon supprimer");
 497              echo "<a href=\"../fond_ecran/fonds.php\">Retour</a> ";  
 498              }
 499              elseif(($choix1=="parametrer")){
 500                  //=================================================
 501                  //                   PARAMETRES
 502                  //=================================================
 503  
 504  				function recupere_valeur($nom,$valeur_defaut){
 505                      $query="SELECT * FROM wallpaper WHERE nom='$nom'";
 506                      $resultat = mysql_query($query);
 507                      if(mysql_num_rows($resultat)==0){
 508                          $valeur=$valeur_defaut;
 509                      }
 510                      else{
 511                          $ligne=mysql_fetch_object($resultat);
 512                          $valeur=$ligne->valeur;
 513                      }
 514                      return $valeur;
 515                  }
 516  
 517  				function recupere_actif_ou_pas($nom){
 518                      $query="SELECT * FROM wallpaper WHERE nom='$nom'";
 519                      $resultat = mysql_query($query);
 520                      if(mysql_num_rows($resultat)==0){
 521                          $checked[1]=" checked=\"true\"";
 522                          $checked[2]="";
 523                      }
 524                      else{
 525                          $ligne=mysql_fetch_object($resultat);
 526                          $valeur=$ligne->valeur;
 527                          if($valeur=="1"){
 528                              $checked[1]=" checked=\"true\"";
 529                              $checked[2]="";
 530                          }
 531                          else{
 532                              $checked[1]="";
 533                              $checked[2]=" checked=\"true\"";
 534                          }
 535                      }
 536                      return $checked;
 537                  }
 538  
 539                  echo "<h2>".gettext("Param&#233;trage")."</h2>\n";
 540  
 541                  if((!isset($_POST['groupe']))||($_POST['groupe']=="")){
 542                      if(!isset($_POST['registre_zrn'])){
 543                          echo "<h3>".gettext("Activation/d&#233;sactivation du dispositif")."</h3>\n";
 544                          echo "<blockquote>\n";
 545  
 546                          // Validation de l'activation/désactivation du dispositif:
 547                          if(isset($_POST['activation_desactivation'])){
 548                              // Validation des modifs:
 549                              $action=$_POST['action'];
 550  
 551                              //echo "<p>\$action=$action</p>\n";
 552  
 553  
 554                              // Nettoyage:
 555                              $query="DELETE FROM wallpaper WHERE nom='action'";
 556                              $resultat = mysql_query($query);
 557                              // Mise à jour:
 558                              $query="INSERT INTO wallpaper VALUES('action','$action','')";
 559                              $resultat = mysql_query($query);
 560  
 561                              // Activation ou désactivation du lancement du script 'genere_fond.sh' lors du login.
 562                              // La valeur est testée dans le lanceur.
 563                              $fichier=$fichier=fopen("$chemin_param_fond/actif.txt","w+");
 564                              if($action=="actif"){
 565                                  $ecriture=fwrite($fichier,"1");
 566                                  echo "<p>".gettext("La g&#233;n&#233;ration de fonds est activ&#233;e").".</p>\n";
 567                              }
 568                              else{
 569                                  $ecriture=fwrite($fichier,"0");
 570                                  echo "<p>".gettext("La g&#233;n&#233;ration de fonds est d&#233;sactiv&#233;e").".</p>\n";
 571                                  //echo "<p><i>NOTE:</i> Si des fonds existent dans les Homes des utilisateurs, ils n'ont pas été supprimés par cette opération.<br>\nEn revanche, le script de génération de fonds ne sera plus exécuté à chaque login.</p>\n";
 572                                  echo gettext("<p><i>NOTE:</i> Si des fonds existent dans les Homes des utilisateurs, ils n'ont pas &#233;t&#233; supprim&#233;s par cette op&#233;ration.<br>\nEn revanche, il ne sera pas test&#233; chaque nuit, ni &#224; chaque login, si des modifications de fonds doivent &#234;tre effectu&#233;es.</p>\n");
 573                              }
 574                              $fermeture=fclose($fichier);
 575                          }
 576                          else{
 577                              // Formulaire d'activation/désactivation du dispositif:
 578                              echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
 579                              echo "<input type=\"hidden\" name=\"choix1\" value=\"parametrer\">\n";
 580  
 581                              //Connexion à la base de données
 582                              //$etablissement_connexion_mysql=connexion();
 583  
 584                              $query="SELECT * FROM wallpaper WHERE nom='action'";
 585                              $resultat = mysql_query($query);
 586                              if(mysql_num_rows($resultat)==0){
 587                                      echo "<p>".gettext("La g&#233;n&#233;ration de fond n'est actuellement pas active").".</p>\n";
 588                                      $checked1=" checked=\"true\"";
 589                                      $checked2="";
 590  
 591                                      // Etat actuel du dispositif:
 592                                      $action="inactif";
 593                              }
 594                              else{
 595                                  $ligne=mysql_fetch_object($resultat);
 596                                  $valeur=$ligne->valeur;
 597                                  //if($valeur=="activer"){
 598                                  if($valeur=="actif"){
 599                                      echo "<p>".gettext("La g&#233;n&#233;ration de fond est actuellement active").".</p>\n";
 600                                      $checked1="";
 601                                      $checked2=" checked=\"true\"";
 602  
 603                                      // Etat actuel du dispositif:
 604                                      $action="actif";
 605                                  }
 606                                  else{
 607                                      echo "<p>".gettext("La g&#233;n&#233;ration de fond n'est actuellement pas active").".</p>\n";
 608                                      $checked1=" checked=\"true\"";
 609                                      $checked2="";
 610  
 611                                      // Etat actuel du dispositif:
 612                                      $action="inactif";
 613                                  }
 614                              }
 615                              //echo "<p><input type=\"radio\" name=\"action\" value=\"activer\"$checked1>Activer/Désactiver<input type=\"radio\" name=\"action\" value=\"desactiver\"$checked2> la génération de fonds.</p>\n";
 616                              echo "<p><input type=\"radio\" name=\"action\" id=\"action_actif\" value=\"actif\"$checked1><label for='action_actif' style='cursor:pointer;'>".gettext("Activer/D&#233;sactiver")."</label><input type=\"radio\" name=\"action\" id=\"action_inactif\" value=\"inactif\"$checked2><label for='action_inactif' style='cursor:pointer;'> ".gettext("la g&#233;n&#233;ration de fonds").".</label><br>\n";
 617  
 618                              // Proposer de supprimer les K:\Docs\profil\.fond\fond.jpg dans tous les Home?
 619                              // Ou regénérer le registre.zrn de 'base' et modifier les clés de registre pour vider Wallpaper?
 620                              //=========
 621                              // A FAIRE
 622                              //=========
 623  
 624                              echo "<input type=\"submit\" name=\"activation_desactivation\" value=\"".gettext("Valider")."\"></p>\n";
 625                              echo "</form>\n";
 626                          }
 627                          echo "</blockquote>\n";
 628                      }
 629                      else{
 630                          // Si on a atteint le stade registre_zrn c'est que le dispositif est actif:
 631                          $action="actif";
 632                      }
 633  
 634  
 635                      //********************************************************************************************
 636                      // A FAIRE AUSSI:
 637                      // Le nettoyage des registre.zrn avec une démarche du type:
 638                      /*
 639                      SELECT CleID FROM corresp WHERE chemin='HKEY_CURRENT_USER\\Control Panel\\Desktop\\Wallpaper';
 640                      SELECT groupe FROM restrictions WHERE CleID='...';
 641                      DELETE FROM restrictions WHERE CleID='...';
 642                      INSERT INTO restrictions VALUES('','...','base','%USERPROFILE%\\.fond\\fond.jpg');
 643                      UPDATE corresp SET valeur='%USERPROFILE%\\.fond\\fond.jpg' WHERE CleID='...';
 644  
 645                      Et réécrire les registre.zrn
 646                      ... ou voir comment ils sont générés par les pages de Sandrine.
 647                      */
 648                      //********************************************************************************************
 649  
 650  
 651                      // On ne propose de:
 652                      // - choisir l'utilisateur/groupe
 653                      // - regénérer les registre.zrn
 654                      // que si le dispositif est actif:
 655                      if($action=="actif"){
 656                          // Les antislashes posent des problèmes dans les tests/sélections vers MySQL via PHP.
 657                          // Trois antislashes doivent suffire, mais bon...
 658  
 659                          if(!isset($_POST['registre_zrn']) && !file_exists("/usr/share/se3/logonpy/logon.py")){
 660                              echo "<h3>".gettext("Contr&#244;le des tables MySQL")."</h3>\n";
 661                              echo "<blockquote>\n";
 662  
 663  
 664  
 665                              // Vérifications pour voir s'il est nécessaire de:
 666                              // - corriger les valeurs dans les tables corresp et restrictions
 667                              // - regénérer les registre.zrn
 668  
 669                              // Récupération de l'identifiant de la clé Wallpaper:
 670                              $query="SELECT * FROM corresp WHERE chemin='HKEY_CURRENT_USER\\\\Control Panel\\\\Desktop\\\\Wallpaper'";
 671                              $resultat=mysql_query($query);
 672                              $ligne=mysql_fetch_object($resultat);
 673                              $CleID=$ligne->CleID;
 674                              $valeur_cle_wallpaper=$ligne->valeur;
 675  
 676                              // Le test ci-dessous fonctionne (pas de problème avec les antislashes):
 677                              if($valeur_cle_wallpaper!="%USERPROFILE%\.fond\fond.jpg"){
 678                                  //echo "<p>La valeur est erronée: $valeur_cle_wallpaper</p>";
 679                                  $valeur_wallpaper_dans_les_tables="a_corriger";
 680                              }
 681                              else{
 682                                  //echo "<p>La valeur est correcte: $valeur_cle_wallpaper</p>";
 683                                  $valeur_wallpaper_dans_les_tables="correcte";
 684                              }
 685  
 686                              if($valeur_wallpaper_dans_les_tables!="a_corriger"){
 687                                  $query="SELECT groupe FROM restrictions WHERE CleID='$CleID'";
 688                                  $resultat = mysql_query($query);
 689                                  //echo mysql_num_rows($resultat)."<br>";
 690                                  if(mysql_num_rows($resultat)!=1){
 691                                      //echo "<p>Le nombre de références à Wallpaper dans la table 'restrictions' ne convient pas: ".mysql_num_rows($resultat)."</p>";
 692                                      $valeur_wallpaper_dans_les_tables="a_corriger";
 693                                  }
 694                                  else{
 695                                      $query="SELECT valeur FROM restrictions WHERE CleID='$CleID' AND groupe='base' AND valeur='%USERPROFILE%\\\\.fond\\\\fond.jpg'";
 696                                      $resultat = mysql_query($query);
 697                                      if(mysql_num_rows($resultat)!=1){
 698                                          //echo "<p>La valeur de la clé Wallpaper dans la table restrictions n'est pas la bonne.</p>";
 699                                          $valeur_wallpaper_dans_les_tables="a_corriger";
 700                                      }
 701                                      else{
 702                                          //echo "<p>La valeur de la clé Wallpaper dans la table restrictions est correcte.</p>";
 703                                          $valeur_wallpaper_dans_les_tables="correcte";
 704                                      }
 705                                  }
 706                              }
 707  
 708  
 709  
 710                              echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
 711                              echo "<input type=\"hidden\" name=\"choix1\" value=\"parametrer\">\n";
 712                              echo "<input type=\"hidden\" name=\"CleID\" value=\"$CleID\">\n";
 713                              if($valeur_wallpaper_dans_les_tables=="correcte"){
 714                                  echo "<p>".gettext("Les valeurs des cl&#233;s Wallpaper dans MySQL sont correctes.<br>\nSi vous voulez quand m&#234;me reg&#233;n&#233;rer les registre.zrn, cochez cette case")." \n";
 715                                  echo "<input type=\"checkbox\" name=\"regenerer_registre_zrn\" value=\"oui\">\n";
 716                                  echo " ".gettext("et validez").".</p>\n";
 717                                  echo "<p>".gettext("Sinon, validez simplement pour passer au choix du groupe").".</p>\n";
 718                              }
 719                              else{
 720                                  echo "<p>".gettext("Les valeurs des cl&#233;s Wallpaper dans MySQL ne conviennent pas.<br>\nEn validant ci-dessous, ces valeurs vont &#234;tre corrig&#233;es et les registre.zrn vont &#234;tre reg&#233;n&#233;r&#233;s").".</p>\n";
 721                                  echo "<input type=\"hidden\" name=\"regenerer_registre_zrn\" value=\"oui\">\n";
 722                              }
 723                              echo "<input type=\"submit\" name=\"registre_zrn\" value=\"".gettext("Valider")."\"></p>\n";
 724                              echo "</form>\n";
 725  
 726                              echo "</blockquote>\n";
 727                          }
 728                          else{
 729                              // Récupération des variables:
 730                              $CleID=isset($_POST['CleID']) ? $_POST['CleID'] : "";
 731  
 732                              if(isset($_POST['regenerer_registre_zrn'])){
 733                                  $regenerer_registre_zrn=$_POST['regenerer_registre_zrn'];
 734                              }
 735                              else{
 736                                  $regenerer_registre_zrn="non";
 737                              }
 738  
 739                              //============================================================================
 740                              // Modification des clés de registre pour utiliser %USERPROFILE%\\.fond\\fond.jpg
 741                              //============================================================================
 742                              /*
 743                              $query="SELECT CleID FROM corresp WHERE chemin='HKEY_CURRENT_USER\\\\Control Panel\\\\Desktop\\\\Wallpaper'";
 744                              $resultat=mysql_query($query);
 745                              $ligne=mysql_fetch_object($resultat);
 746                              $CleID=$ligne->CleID;
 747                              */
 748  
 749                              //echo "\$CleID=$CleID<br>";
 750  
 751                              if($regenerer_registre_zrn!="non"){
 752                                  echo "<h3>".gettext("Corrections des valeurs dans les tables MySQL et reg&#233;n&#233;ration des registre.zrn")."</h3>\n";
 753                                  echo "<blockquote>\n";
 754  
 755                                  $query="SELECT groupe FROM restrictions WHERE CleID='$CleID'";
 756                                  $resultat = mysql_query($query);
 757                                  //echo mysql_num_rows($resultat)."<br>";
 758                                  if(mysql_num_rows($resultat)>0){
 759                                      while($ligne=mysql_fetch_object($resultat)){
 760                                          // Nettoyer les registre.zrn correspondants
 761                                          $template=$ligne->groupe;
 762  
 763                                          $query="DELETE FROM restrictions WHERE cleID='$CleID' AND groupe='$template'";
 764                                          $result = mysql_query($query);
 765  
 766                                          // Pour 'base', le fichier sera regénéré après une mise à jour des valeurs:
 767                                          if(($template!="base")&&(file_exists("/home/templates/$template"))){
 768                                              refreshzrn("$template");
 769                                          }
 770                                      }
 771                                  }
 772  
 773                                  // Suppression des valeurs de la clé Wallpaper:
 774                                  //$query="DELETE FROM restrictions WHERE cleID='$CleID'";
 775                                  //$resultat = mysql_query($query);
 776  
 777                                  // Définition de la valeur de la clé pour le template 'base':
 778                                  $query="INSERT INTO restrictions VALUES('','$CleID','base','%USERPROFILE%\\\\.fond\\\\fond.jpg')";
 779                                  $resultat = mysql_query($query);
 780  
 781                                  //echo "ID: ".mysql_insert_id()."<br>";
 782  
 783                                  // Modification de la valeur par défaut de la clé:
 784                                  $query="UPDATE corresp SET valeur='%USERPROFILE%\\\\.fond\\\\fond.jpg' WHERE CleID='$CleID'";
 785                                  $resultat = mysql_query($query);
 786  
 787                                  // Générer le nouveau registre.zrn pour le template 'base'
 788                                  refreshzrn("base");
 789  
 790                                  echo "<p>".gettext("Les registre.zrn ont &#233;t&#233; reg&#233;n&#233;r&#233;s pour utiliser un chemin commun pour le fond: %USERPROFILE%\.fond\fond.jpg")."</p>\n";
 791                                  // Seuls ceux qui avaient une entrée Wallpaper dans 'restrictions' ont été regénérés.
 792  
 793                                  echo "</blockquote>\n";
 794                              }
 795  
 796  
 797  
 798                              //==================================
 799                              //      Choix du groupe
 800                              //==================================
 801                              echo "<h3>".gettext("Choix du groupe")."</h3>\n";
 802                              echo "<blockquote>\n";
 803  
 804                              // Proposer: admin, Profs, Eleves, Administratifs, Classe_*, overfill
 805  
 806                              echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" name=\"choix_grp\">\n";
 807                              echo "<input type=\"hidden\" name=\"choix1\" value=\"parametrer\">\n";
 808                              echo "<input type=\"hidden\" name=\"CleID\" value=\"$CleID\">\n";
 809  
 810                              // Le 'groupe' peut être l'utilisateur admin
 811                              echo "<p><select name=\"groupe\" onchange=\"document.forms['choix_grp'].submit();\">\n";
 812                              echo "<option value=\"\">".gettext("Choisissez un utilisateur/groupe")."</option>\n";
 813                              echo "<option value=\"admin\">".gettext("admin (<i>l'utilisateur</i>)")."</option>\n";
 814                              echo "<option value=\"overfill\">".gettext("overfill (<i>groupe de ceux qui d&#233;passent leurs quotas</i>)")."</option>\n";
 815                              echo "<option value=\"Administratifs\">".gettext("Administratifs")."</option>\n";
 816                              echo "<option value=\"Profs\">".gettext("Profs")."</option>\n";
 817                              echo "<option value=\"Eleves\">".gettext("Eleves")."</option>\n";
 818  
 819                              $filter="";
 820                              $list_groups=search_groups("(&(cn=*) $filter )");
 821                              $j=0;
 822                              for ($loop=0; $loop < count ($list_groups) ; $loop++) {
 823                                  if ( preg_match ("/Classe_/", $list_groups[$loop]["cn"]) ) {
 824                                      $classe[$j]["cn"] = $list_groups[$loop]["cn"];
 825                                      //$classe[$j]["description"] = $list_groups[$loop]["description"];
 826                                      echo "<option value=\"".$classe[$j]["cn"]."\">".$classe[$j]["cn"]."</option>\n";
 827                                      $j++;
 828                                  }
 829                              }
 830                              echo "</select><br>\n";
 831  
 832                              echo "<input type=\"submit\" name=\"choix_groupe\" value=\"".gettext("Valider")."\"></p>\n";
 833                              echo "</form>\n";
 834                              echo "</blockquote>\n";
 835  
 836                              echo "<p><i>".gettext("NOTE").":</i></p>\n";
 837                              echo "<blockquote>\n";
 838                              echo "<p>".gettext("Si vous d&#233;finissez des fonds pour le groupe 'Eleves' et pour des 'Classe_XXX', les d&#233;finitions de classes seront prioritaires").".</p>\n";
 839                              echo "<p>".gettext("Et si vous d&#233;passez vos quotas (<i>si vous les avez mis en place</i>), les param&#232;tres d&#233;finis pour overfill seront prioritaires sur tous les autres").".</p>\n";
 840                              echo "<p><br></p>\n";
 841                              echo "</blockquote>\n";
 842                          }
 843                      }
 844                  }
 845                  else{
 846                      //======================
 847                      // A CE STADE:
 848                      // Le groupe est choisi.
 849                      $groupe=$_POST['groupe'];
 850                      if($groupe == "admin")
 851                          $wallgrp="Adminse3";
 852                      else
 853                          $wallgrp=$groupe;
 854                      //======================
 855  
 856                      $tabcolor[1]="aquamarine";
 857                      $tabcolor[-1]="white";
 858                      $alt=1;
 859  
 860  
 861                      //===============================
 862                      // Paramètres des images communes
 863                      //===============================
 864  
 865                      if(!isset($_POST['type_image'])){
 866                          // Paramètres pour le groupe choisi
 867                          echo "<h3>".gettext("Param&#232;tres pour")." $groupe</h3>\n";
 868                          echo "<blockquote>\n";
 869                          echo "<h4>".gettext("Fond d'&#233;cran actuel")."</h4>\n";
 870                          
 871                          if (!file_exists("/var/www/se3/Admin/$wallgrp.jpg") and file_exists("/var/se3/Docs/media/fonds_ecran/$wallgrp.jpg"))
 872                              symlink("/var/se3/Docs/media/fonds_ecran/$wallgrp.jpg", "/var/www/se3/Admin/$wallgrp.jpg");
 873                          if (file_exists("/var/se3/Docs/media/fonds_ecran/$wallgrp.jpg"))
 874                              echo "<img src=\"../Admin/$wallgrp.jpg?".rand(1,99999)."\" WIDTH=200 alt=\"Fond\">\n";
 875  
 876                          // Formulaire de changement des paramètres:
 877                          echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" enctype=\"multipart/form-data\">\n";
 878                          echo "<input type=\"hidden\" name=\"choix1\" value=\"parametrer\">\n";
 879                          echo "<input type=\"hidden\" name=\"groupe\" value=\"$groupe\">\n";
 880  
 881                          // Créer/modifier/supprimer la mise en place d'image pour le groupe choisi:
 882                          $query="SELECT * FROM wallpaper WHERE nom='fond_".$groupe."'";
 883                          $resultat = mysql_query($query);
 884                          if(mysql_num_rows($resultat)>0){
 885                              $ligne=mysql_fetch_object($resultat);
 886                              switch($ligne->valeur){
 887                                  case "actif":
 888                                      echo "<h4>".gettext("D&#233;sactivation")."</h4>\n";
 889                                      echo "<p>".gettext("Pour d&#233;sactiver la mise en place d'image pour")." $groupe, ".gettext("cochez ici")." <input type=\"checkbox\" name=\"suppr_img\" value=\"$groupe\"> ".gettext("et")." <input type=\"submit\" name=\"choix_params0\" value=\"".gettext("validez")."\">.</p>\n";
 890                                      break;
 891                                  ;;
 892                                  case "inactif":
 893                                      echo "<p><input type=\"hidden\" name=\"suppr_img\" value=\"\">\n";
 894                                      break;
 895                                  ;;
 896                              }
 897                          }
 898                          else{
 899                              echo "<p><input type=\"hidden\" name=\"suppr_img\" value=\"\">\n";
 900                          }
 901  
 902                          echo "<h4>".gettext("Choix de l'image")."</h4>\n";
 903                          //Pas de modification des images:
 904                          echo "<p><input type=\"radio\" name=\"type_image\" id=\"type_image_pas_de_modif\" value=\"pas_de_modif\" checked=\"true\"><label for='type_image_pas_de_modif' style='cursor:pointer;'> ".gettext("Ne pas modifier les images existantes").".</label></p>\n";
 905  
 906                          //Utiliser l'image fournie:
 907                          echo "<p><input type=\"radio\" name=\"type_image\" id=\"image_fournie\" value=\"image_fournie\"><label for='image_fournie' style='cursor:pointer;'> ".gettext("Utiliser l'image fournie").":</label></p>\n";
 908                          echo "<blockquote>\n";
 909                          echo "<p>".gettext("Image").": <input type=\"file\" name=\"image\" enctype=\"multipart/form-data\" onfocus=\"document.getElementById('image_fournie').checked='true'\"></p>\n";
 910                          echo "</blockquote>\n";
 911  
 912                          //Générer des dégradés:
 913                          echo "<p><input type=\"radio\" name=\"type_image\" id=\"degrade\" value=\"degrade\"><label for='degrade' style='cursor:pointer;'> ".gettext("G&#233;n&#233;rer un d&#233;grad&#233;").":</label></p>\n";
 914                          echo "<blockquote>\n";
 915                          echo "<table border=\"1\">\n";
 916  
 917  
 918                          // Couleurs par défaut:
 919                          switch($groupe){
 920                              case "admin":
 921                                  $couleur1="red";
 922                                  $couleur2="yellow";
 923                                  break;
 924                              case "Administratifs":
 925                                  $couleur1="blue";
 926                                  $couleur2="yellow";
 927                                  break;
 928                              case "Eleves":
 929                                  $couleur1="cornflowerblue";
 930                                  $couleur2="tomato";
 931                                  break;
 932                              case "Profs":
 933                                  $couleur1="green";
 934                                  $couleur2="orange";
 935                                  break;
 936                              case "overfill":
 937                                  $couleur1="red";
 938                                  $couleur2="red";
 939                                  break;
 940                              default:
 941                                  // Et sinon: Classe_XXX
 942                                  $couleur1="coral";
 943                                  $couleur2="lime";
 944                          }
 945  
 946  
 947                          $valeur=recupere_valeur('largeur_'.$groupe,'800');
 948                          echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Largeur de l'image")."</td><td><input type=\"text\" id=\"largeur\"  name=\"largeur\" value=\"$valeur\" onfocus=\"document.getElementById('degrade').checked='true'\"></td></tr>\n";
 949  
 950                          $valeur=recupere_valeur('hauteur_'.$groupe,'600');
 951                          echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Hauteur de l'image")."</td><td><input type=\"text\" id=\"hauteur\" name=\"hauteur\" value=\"$valeur\" onfocus=\"document.getElementById('degrade').checked='true'\"></td></tr>\n";
 952  
 953                          $alt=$alt*(-1);
 954                          $valeur=recupere_valeur('couleur1_'.$groupe,$couleur1);
 955                          //echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Couleur 1</td><td><input type=\"text\" name=\"couleur1\" id=\"couleur1\" value=\"$valeur\" onfocus=\"document.getElementById('degrade').checked='true'\"></td></tr>\n";
 956                          echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Couleur")." 1</td><td>\n";
 957                          echo "<select name=\"couleur1\" id=\"couleur1\" onfocus=\"document.getElementById('degrade').checked='true'\">\n";
 958                          for($i=0;$i<count($tabcouleur);$i++){
 959                              if($tabcouleur[$i]=="$valeur"){
 960                                  $checked=" selected=\"true\"";
 961                              }
 962                              else{
 963                                  $checked="";
 964                              }
 965                              echo "<option style=\"background-color: $tabcouleur[$i]\" value=\"$tabcouleur[$i]\"$checked>$tabcouleur[$i]</option>\n";
 966                          }
 967                          echo "</select>\n";
 968                          echo "</td></tr>\n";
 969  
 970                          $valeur=recupere_valeur('couleur2_'.$groupe,$couleur2);
 971                          //echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Couleur 2</td><td><input type=\"text\" name=\"couleur2\" id=\"couleur2\" value=\"$valeur\" onfocus=\"document.getElementById('degrade').checked='true'\"></td></tr>\n";
 972                          echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Couleur")." 2</td><td>\n";
 973                          echo "<select name=\"couleur2\" id=\"couleur2\" onfocus=\"document.getElementById('degrade').checked='true'\">\n";
 974                          for($i=0;$i<count($tabcouleur);$i++){
 975                              if($tabcouleur[$i]=="$valeur"){
 976                                  $checked=" selected=\"true\"";
 977                              }
 978                              else{
 979                                  $checked="";
 980                              }
 981                              echo "<option style=\"background-color: $tabcouleur[$i]\" value=\"$tabcouleur[$i]\"$checked>$tabcouleur[$i]</option>\n";
 982                          }
 983                          echo "</select>\n";
 984                          echo "</td></tr>\n";
 985  
 986                          echo "</table>\n";
 987                          echo "</blockquote>\n";
 988  
 989                          echo "<input type=\"submit\" name=\"choix_params\" value=\"".gettext("Valider")."\">\n";
 990                          echo "</form>\n";
 991  
 992  
 993                          // Formulaire de test du choix de couleurs effectué:
 994                          echo "<form action=\"test_degrade.php\" name=\"test_degrade\" method=\"POST\" target=\"_blank\">\n";
 995                          echo "<input type=\"hidden\" name=\"couleur1\" value=\"\">\n";
 996                          echo "<input type=\"hidden\" name=\"couleur2\" value=\"\">\n";
 997                          echo "<input type=\"hidden\" name=\"hauteur\" value=\"\">\n";
 998                          echo "<input type=\"hidden\" name=\"largeur\" value=\"\">\n";
 999                          echo "<input type=\"hidden\" name=\"groupe\" value=\"$groupe\">\n";
1000                          echo "<p>".gettext("Pour tester le d&#233;grad&#233;").": <input type=\"button\" name=\"bouton_test_degrade\" value=\"".gettext("Tester")."\" onClick=\"";
1001                          echo "document.forms['test_degrade'].couleur1.value=document.getElementById('couleur1').value;";
1002                          echo "document.forms['test_degrade'].couleur2.value=document.getElementById('couleur2').value;";
1003                          echo "document.forms['test_degrade'].hauteur.value=document.getElementById('hauteur').value;";
1004                          echo "document.forms['test_degrade'].largeur.value=document.getElementById('largeur').value;";
1005                          echo "document.forms['test_degrade'].submit();";
1006                          echo "\"></p>\n";
1007                          echo "</form>\n";
1008  
1009                          echo "</blockquote>\n";
1010  
1011                          echo "<p><i>".gettext("NOTES").":</i></p>\n";
1012                          echo "<ul>\n";
1013                          echo "<li><p>".gettext("Ne descendez pas en dessous de 300px de large pour un bon fonctionnement des annotations").".</p></li>\n";
1014                          /*
1015                          echo "<li><p>Attention au choix des couleurs dans le cas d'une génération de dégradé.<br>
1016  Veillez à choisir des couleurs connues (<i>liste disponible à l'adresse <a href=\"http://www.commentcamarche.net/html/htmlcouleurs.php3\" target=\"blank\">http://www.commentcamarche.net/html/htmlcouleurs.php3</a></i>).</p>
1017  <p>Notez également que certains dégradés ont tendance à virer à l'arc-en-ciel (<i>constaté sous Woody</i>).</p></li>\n";
1018                          */
1019                          echo "<li><p>".gettext("Les couleurs propos&#233;es ci-dessus sont consultables &#224; l'adresse suivante").":<br>
1020  <a href=\"http://www.commentcamarche.net/html/htmlcouleurs.php3\" target=\"blank\">http://www.commentcamarche.net/html/htmlcouleurs.php3</a>.</p>
1021  <p>".gettext("Notez que certains d&#233;grad&#233;s ont tendance &#224; virer &#224; l'arc-en-ciel (<i>constat&#233; sous Woody</i>)").".</p></li>\n";
1022                          // ou utilisez les codes HTML comme par exemple #ff0000
1023                          // Choix supprimé pour éviter des blagues.
1024                          echo "</ul>\n";
1025                          echo "<p><br></p>\n";
1026  
1027                          //echo "</blockquote>\n";
1028                      }
1029                      else{
1030  
1031                          if((isset($_POST['choix_params']))||(isset($_POST['choix_params0']))){
1032                              //===========================
1033                              //RECUPERATION DES VARIABLES:
1034                              //$action=$_POST['action'];
1035                              $groupe=$_POST['groupe'];
1036  
1037                              $type_image=$_POST['type_image'];
1038  
1039                              $largeur=$_POST['largeur'];
1040                              $hauteur=$_POST['hauteur'];
1041                              $couleur1=$_POST['couleur1'];
1042                              $couleur2=$_POST['couleur2'];
1043  
1044                              // Il faudrait contrôler les valeurs saisies..
1045                              // - numériques et entières pour les dimensions
1046                              // - couleurs non vides et valides
1047  
1048                              if($type_image=="image_fournie"){
1049                                  $tmp_image=$HTTP_POST_FILES['image']['tmp_name'];
1050                                  $image=$HTTP_POST_FILES['image']['name'];
1051                                  $size_image=$HTTP_POST_FILES['image']['size'];
1052                              }
1053                              //===========================
1054  
1055  
1056                              //===========================================================
1057                              //Contrôle de la version de Samba:
1058                              //Nécessaire pour la commande convert lors de l'annotation:
1059                              $fichier=fopen("$chemin_param_fond/version_samba.txt","r");
1060                              //$test_samba=fread($fichier, filesize($fichier));
1061                              $test_samba=fgets($fichier,4096);
1062                              //if($test_samba=="2"){
1063                              if(strstr($test_samba,"2")){
1064                                  $prefixe="";
1065                              }
1066                              else{
1067                                  $prefixe="jpg:";
1068                              }
1069                              $fermeture=fclose($fichier);
1070                              // En fait ce n'est pas lié à la version de Samba,
1071                              // mais à la version d'ImageMgick qui est passée de 5 à 6 entre Woody et Sarge.
1072                              //===========================================================
1073  
1074  
1075  
1076  
1077  
1078                              //echo "<p>\$_POST['suppr_img']=".$_POST['suppr_img']."</p>\n";
1079  
1080                              if($_POST['suppr_img']=="$groupe"){
1081                                  // Supprimer les entrées et fichiers pour $groupe
1082                                  //unlink("$chemin_param_fond/parametres_$groupe.sh");
1083  
1084                                  // Désactiver seulement:
1085                                  $fichier=fopen("$chemin_param_fond/fond_$groupe.txt","w+");
1086                                  $ecriture=fwrite($fichier,'inactif');
1087                                  $fermeture=fclose($fichier);
1088  
1089                                  //Connexion à la base de données
1090                                  //$etablissement_connexion_mysql=connexion();
1091  
1092                                  echo "<h3>".gettext("D&#233;sactivation de l'utilisation d'image sur")." '$groupe'.</h3>\n";
1093                                  echo "<p>".gettext("Cela ne signifie pas que les membres de")." $groupe ".gettext("ne verront pas s'afficher un fond d'&#233;cran, mais seulement que le crit&#232;re")." '$groupe' ".gettext("ne sera pas utilis&#233; pour la g&#233;n&#233;ration de fond lors des logins &#224; venir").".</p>\n";
1094  
1095                                  $query="DELETE FROM wallpaper WHERE nom='fond_$groupe'";
1096                                  $resultat = mysql_query($query);
1097  
1098                                  $query="INSERT INTO wallpaper VALUES('fond_$groupe','inactif','')";
1099                                  $resultat = mysql_query($query);
1100  
1101                                  //$fermeture=mysql_close();
1102  
1103                                  // Si on désactive l'utilisation de l'image éventuellement présente
1104                                  // dans /var/se3/Docs/media/fonds_ecran pour le groupe Profs,
1105                                  // on ne cherche pas non plus à annoter ces images
1106                                  $choix_annotations="non";
1107                                  $suppr_annotations=$groupe;
1108                              }
1109                              else{
1110                                  if($type_image!="pas_de_modif"){
1111                                      // Insertion dans la base et génération des fichiers dans /etc/se3/fonds_ecran
1112  
1113                                      //Connexion à la base de données
1114                                      //$etablissement_connexion_mysql=connexion();
1115  
1116                                      //On commence par vider:
1117                                      //$query="TRUNCATE TABLE wallpaper";
1118                                      //On commence par vider ce qui concerne $groupe:
1119                                      /*
1120                                      $query="DELETE FROM wallpaper WHERE nom LIKE '%_$groupe'";
1121                                      $resultat = mysql_query($query);
1122                                      */
1123  
1124                                      $liste_nettoye=Array('fond_','type_image_');
1125                                      for($i=0;$i<count($liste_nettoye);$i++){
1126                                          $query="DELETE FROM wallpaper WHERE nom='".$liste_nettoye[$i].$groupe."'";
1127                                          $resultat = mysql_query($query);
1128                                      }
1129  
1130  
1131  
1132                                      $query="INSERT INTO wallpaper VALUES('fond_$groupe','actif','')";
1133                                      $resultat = mysql_query($query);
1134  
1135                                      $fichier=fopen("$chemin_param_fond/fond_$groupe.txt","w+");
1136                                      $ecriture=fwrite($fichier,'actif');
1137                                      $fermeture=fclose($fichier);
1138  
1139  
1140  
1141                                      $query="INSERT INTO wallpaper VALUES('type_image_$groupe','$type_image','')";
1142                                      $resultat = mysql_query($query);
1143  
1144  
1145  
1146                                      if($type_image=="image_fournie"){
1147                                          $query="DELETE FROM wallpaper WHERE nom='image_$groupe'";
1148                                          $resultat = mysql_query($query);
1149  
1150                                          //$query="INSERT INTO wallpaper VALUES('image_$groupe','$image','')";
1151                                          $query="INSERT INTO wallpaper VALUES('image_$groupe','$groupe','')";
1152                                          $resultat = mysql_query($query);
1153  
1154                                          // Génération du fichier de paramètres:
1155                                          $fichier=fopen("$chemin_param_fond/parametres_$groupe.sh","w+");
1156                                          $ecriture=fwrite($fichier,'# L image est fournie (non générée)\n');
1157                                          $fermeture=fclose($fichier);
1158  
1159                                          // A VERIFIER:
1160                                          // Il faudrait rendre ce script parametres_$groupe.sh exécutable, non?
1161  
1162                                          // Mise en place de l'image uploadée:
1163                                          if(file_exists("$dossier_upload_images/$groupe.jpg")){
1164                                              unlink("$dossier_upload_images/$groupe.jpg");
1165                                          }
1166                                          echo "<p>";
1167                                          if(is_uploaded_file($tmp_image)){
1168                                              //unlink("/var/se3/Docs/media/ImageMagick/admin.jpg");
1169                                              //$dest_file="/var/se3/Docs/media/ImageMagick/admin.jpg";
1170                                              //www-se3 ne va pas avoir le droit de le coller directement là.
1171                                              //Même avec des ACL... parce que www-se3 n'y écrit pas à travers Samba.
1172                                              //Placer dans un dossier temporaire et sudo pour placer l'image.
1173  
1174                                              $dest_file="$dossier_upload_images/$groupe.jpg";
1175                                              $source_file=stripslashes("$tmp_image");
1176                                              $res_copy=copy("$source_file" , "$dest_file");
1177                                              echo "".gettext("Le fond")." $image ".gettext("va &#234;tre mis en place sous le nom")." $groupe.jpg ".gettext("dans")." I:\\media\\fonds_ecran";
1178                                          }
1179                                          echo "</p>\n";
1180                                          // Mise en place du fichier de $dossier_upload_images vers I:\media\fonds_ecran
1181                                          exec("/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon image_fournie $groupe");
1182                                      }
1183  
1184  
1185  
1186                                      if($type_image=="degrade"){
1187  
1188                                          $liste_nettoye=Array('largeur_','hauteur_','couleur1_','couleur2_');
1189                                          for($i=0;$i<count($liste_nettoye);$i++){
1190                                              $query="DELETE FROM wallpaper WHERE nom='".$liste_nettoye[$i].$groupe."'";
1191                                              $resultat = mysql_query($query);
1192                                          }
1193  
1194                                          $query="INSERT INTO wallpaper VALUES('largeur_$groupe','$largeur','')";
1195                                          $resultat = mysql_query($query);
1196                                          $query="INSERT INTO wallpaper VALUES('hauteur_$groupe','$hauteur','')";
1197                                          $resultat = mysql_query($query);
1198                                          $query="INSERT INTO wallpaper VALUES('couleur1_$groupe','$couleur1','')";
1199                                          $resultat = mysql_query($query);
1200                                          $query="INSERT INTO wallpaper VALUES('couleur2_$groupe','$couleur2','')";
1201                                          $resultat = mysql_query($query);
1202  
1203                                          //Génération du fichier de paramètres:
1204                                          $fichier=fopen("$chemin_param_fond/parametres_$groupe.sh","w+");
1205                                          $ecriture=fwrite($fichier,'largeur='.$largeur.'
1206  hauteur='.$hauteur.'
1207  
1208  # Base de l image de fond:
1209  couleur1="'.$couleur1.'"
1210  couleur2="'.$couleur2.'"
1211  
1212  # Pour choisir d"autres couleurs, voir:
1213  # http://www.commentcamarche.net/html/htmlcouleurs.php3
1214  # Vérifier si toutes les couleurs sont acceptées par ImageMagick.
1215  ');
1216                                          $fermeture=fclose($fichier);
1217  
1218  
1219                                          // Nettoyage préalable:
1220                                          exec("/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon nettoyer $groupe",$tabretour);
1221                                          if(count($tabretour)>0) {
1222                                              echo "<p style='color:red'>Nettoyage prealable:<br />exec(\"/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon nettoyer $groupe\",\$tabretour);<br />";
1223                                              for($i=0;$i<count($tabretour);$i++){
1224                                                  echo "\$tabretour[$i]=$tabretour[$i]<br>";
1225                                              }
1226                                              echo "</p>\n";
1227                                          }
1228  
1229                                          // Génération du dégradé:
1230                                          exec("/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon genere_base $groupe",$tabretour);
1231                                          if(count($tabretour)>0) {
1232                                              echo "<p style='color:red'>Generation degrade:<br />exec(\"/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon genere_base $groupe\",\$tabretour);<br />";
1233                                              for($i=0;$i<count($tabretour);$i++){
1234                                                  echo "\$tabretour[$i]=$tabretour[$i]<br>";
1235                                              }
1236                                              echo "</p>\n";
1237                                          }
1238  
1239                                          //La 'variable_bidon' est là pour passer le test sur $1
1240                                          //Il faut juste éviter de créer un dossier '/home/variable_bidon'
1241                                          echo "<p>".gettext("Le nouveau fond a &#233;t&#233; g&#233;n&#233;r&#233; dans")." 'I:\\media\\fonds_ecran'.</p>\n";
1242  
1243                                          // Mise en place d'une copie au format PNG pour l'interface web:
1244                                          // Le script fond_jpg2png.sh n'existe pas.
1245                                          //echo "exec(\"/usr/bin/sudo $chemin_scripts/fond_jpg2png.sh $groupe\");<br />";
1246                                          //exec("/usr/bin/sudo $chemin_scripts/fond_jpg2png.sh $groupe");
1247  
1248                                          if((file_exists("/var/se3/Docs/media/fonds_ecran/$groupe.bmp"))&&
1249                                          (!file_exists("/var/se3/Docs/media/fonds_ecran/$groupe.jpg"))) {
1250                                              // Mise en place d'une copie au format JPG pour l'interface web:
1251                                              exec("/usr/bin/sudo $chemin_scripts/fond_bmp2jpg.sh $groupe",$tabretour);
1252                                              if(count($tabretour)>0) {
1253                                                  echo "<p style='color:red'>Copie JPG pour consultation web:<br />exec(\"/usr/bin/sudo $chemin_scripts/fond_bmp2jpg.sh $groupe\",\$tabretour);<br />";
1254                                                  for($i=0;$i<count($tabretour);$i++){
1255                                                      echo "\$tabretour[$i]=$tabretour[$i]<br>";
1256                                                  }
1257                                              }
1258                                          }
1259                                      }
1260  
1261                                      //$fermeture=mysql_close();
1262  
1263                                  }
1264                                  else{
1265                                      echo "<p>".gettext("Le fond n'a pas &#233;t&#233; modifi&#233; dans")." 'I:\\media\\fonds_ecran'.</p>\n";
1266                                      if(!file_exists("/var/se3/Docs/media/fonds_ecran/$wallgrp.jpg")){
1267                                          echo "<p style=\"color:red;\">".gettext("ERREUR: Le fichier")." I:\\media\\fonds_ecran\\$groupe.jpg ".gettext("n'existe pas.<br>\nSi vous ne d&#233;finissez pas d'image, vous risquez de ne pas obtenir ce que vous souhaitez!")."</p>\n";
1268                                      }
1269                                  }
1270                              }
1271                          }
1272  
1273  
1274  
1275                          //============
1276                          // Annotations
1277                          //============
1278                          $groupe=$_POST['groupe'];
1279                          $type_image=$_POST['type_image'];
1280  
1281                          // Si $type_image a changé, il faut regénérer les fonds pour les utilisateurs concernés.
1282                          // Idem si les annotations sont supprimées.
1283                          // Idem si les annotations sont modifiées (A TESTER...).
1284                          // Supprimer le fond.txt pour chaque utilisateur suffit.
1285                          if(($type_image!="pas_de_modif")||($suppr_annotations==$groupe)){
1286                              exec("/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon annuler $groupe");
1287                              $regeneration_fond_programmee="oui";
1288                          }
1289  
1290  
1291                          //if(!isset($choix_annotations)){
1292                          //if(!isset($_POST['choix_annotations'])){
1293                          // $choix_annotation peut-être initialisée sans soumission de formulaire
1294                          // dans le cas de la désactivation du fond pour un $groupe
1295                          if((!isset($_POST['choix_annotations']))&&(!isset($choix_annotations))){
1296                              // Annotations pour le groupe choisi
1297                              echo "<h3>".gettext("Annotations pour")." $groupe</h3>\n";
1298                              echo "<blockquote>\n";
1299  
1300                              echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n";
1301                              echo "<input type=\"hidden\" name=\"choix1\" value=\"parametrer\">\n";
1302                              echo "<input type=\"hidden\" name=\"groupe\" value=\"$groupe\">\n";
1303                              echo "<input type=\"hidden\" name=\"type_image\" value=\"$type_image\">\n";
1304                              echo "<input type=\"hidden\" name=\"regeneration_fond_programmee\" value=\"$regeneration_fond_programmee\">\n";
1305  
1306                              echo "<p><label for='suppr_annotations' style='cursor:pointer;'>".gettext("Pour d&#233;sactiver l'annotation des images pour")." $groupe, ".gettext("cochez ici").": </label><input type=\"checkbox\" name=\"suppr_annotations\" id=\"suppr_annotations\" value=\"$groupe\"></p>\n";
1307  
1308                              echo "<p>".gettext("Couleur").":</p>\n";
1309                              echo "<blockquote>\n";
1310                              echo "<table border=\"1\">\n";
1311  
1312  
1313                              // Couleurs par défaut:
1314                              switch($groupe){
1315                                  case "admin":
1316                                      $couleur_txt="yellow";
1317                                      break;
1318                                  case "Administratifs":
1319                                      $couleur_txt="yellow";
1320                                      break;
1321                                  case "Eleves":
1322                                      $couleur_txt="tomato";
1323                                      break;
1324                                  case "Profs":
1325                                      $couleur_txt="orange";
1326                                      break;
1327                                  case "overfill":
1328                                      $couleur_txt="black";
1329                                      break;
1330                                  default:
1331                                      // Et sinon: Classe_XXX
1332                                      $couleur_txt="black";
1333                              }
1334  
1335                              $valeur=recupere_valeur('couleur_txt_'.$groupe,$couleur_txt);
1336                              //echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Couleur texte</td><td><input type=\"text\" name=\"couleur_txt\" value=\"$valeur\"></td></tr>\n";
1337                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Couleur texte")."</td><td>\n";
1338                              echo "<select name=\"couleur_txt\">\n";
1339                              for($i=0;$i<count($tabcouleur);$i++){
1340                                  if($tabcouleur[$i]=="$valeur"){
1341                                      $checked=" selected=\"true\"";
1342                                  }
1343                                  else{
1344                                      $checked="";
1345                                  }
1346                                  echo "<option style=\"background-color: $tabcouleur[$i]\" value=\"$tabcouleur[$i]\"$checked>$tabcouleur[$i]</option>\n";
1347                              }
1348                              echo "</select>\n";
1349                              echo "</td></tr>\n";
1350  
1351                              $valeur=recupere_valeur('taille_police_'.$groupe,"20");
1352                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Taille de la police")."</td><td><input type=\"text\" name=\"taille_police\" value=\"$valeur\"></td></tr>\n";
1353  
1354                              echo "</table>\n";
1355                              echo "</blockquote>\n";
1356  
1357  
1358  
1359                              echo "<p>".gettext("Informations &#224; afficher").":</p>\n";
1360                              echo "<blockquote>\n";
1361                              echo "<table border=\"1\">\n";
1362                              $alt=$alt*(-1);
1363  
1364                              /*
1365                              $checked=recupere_actif_ou_pas('annotation_login_'.$groupe);
1366                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Afficher le login</td><td><input type=\"radio\" name=\"afficher_login\" value=\"1\" $checked[1]>Afficher ou non<input type=\"radio\" name=\"afficher_login\" value=\"0\"$checked[2]></td></tr>\n";
1367  
1368                              $checked=recupere_actif_ou_pas('annotation_machine_'.$groupe);
1369                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Afficher le nom NETBIOS du poste</td><td><input type=\"radio\" name=\"afficher_machine\" value=\"1\"$checked[1]>Afficher ou non<input type=\"radio\" name=\"afficher_machine\" value=\"0\"$checked[2]></td></tr>\n";
1370  
1371                              $checked=recupere_actif_ou_pas('annotation_ip_'.$groupe);
1372                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Afficher l'adresse IP du poste</td><td><input type=\"radio\" name=\"afficher_ip\" value=\"1\"$checked[1]>Afficher ou non<input type=\"radio\" name=\"afficher_ip\" value=\"0\"$checked[2]></td></tr>\n";
1373  
1374                              $checked=recupere_actif_ou_pas('annotation_arch_'.$groupe);
1375                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Afficher l'architecture</td><td><input type=\"radio\" name=\"afficher_arch\" value=\"1\"$checked[1]>Afficher ou non<input type=\"radio\" name=\"afficher_arch\" value=\"0\"$checked[2]></td></tr>\n";
1376  
1377                              $checked=recupere_actif_ou_pas('annotation_date_'.$groupe);
1378                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Afficher la date</td><td><input type=\"radio\" name=\"afficher_date\" value=\"1\"$checked[1]>Afficher ou non<input type=\"radio\" name=\"afficher_date\" value=\"0\"$checked[2]></td></tr>\n";
1379                              */
1380  
1381                              $checked=recupere_actif_ou_pas('annotation_nom_'.$groupe);
1382                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Afficher le nom")."</td><td><input type=\"radio\" name=\"annotation_nom\" value=\"1\"$checked[1]>".gettext("Afficher ou non")."<input type=\"radio\" name=\"annotation_nom\" value=\"0\"$checked[2]></td></tr>\n";
1383  
1384                              /*
1385                              $checked=recupere_actif_ou_pas('annotation_prenom_'.$groupe);
1386                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Afficher le prénom</td><td><input type=\"radio\" name=\"annotation_prenom\" value=\"1\"$checked[1]>Afficher ou non<input type=\"radio\" name=\"annotation_prenom\" value=\"0\"$checked[2]></td></tr>\n";
1387                              */
1388  
1389                              $checked=recupere_actif_ou_pas('annotation_classe_'.$groupe);
1390                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Afficher la classe")."</td><td><input type=\"radio\" name=\"annotation_classe\" value=\"1\"$checked[1]>".gettext("Afficher ou non")."<input type=\"radio\" name=\"annotation_classe\" value=\"0\"$checked[2]></td></tr>\n";
1391  
1392                              echo "</table>\n";
1393                              echo "</blockquote>\n";
1394  
1395                              /*
1396                              echo "<p>Position des annotations:</p>\n";
1397                              echo "<blockquote>\n";
1398                              echo "<table border=\"1\">\n";
1399                              $alt=$alt*(-1);
1400                              $valeur=recupere_valeur('xtxt_'.$groupe,100);
1401                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Abscisse</td><td><input type=\"text\" name=\"xtxt\" value=\"$valeur\"></td></tr>\n";
1402                              $valeur=recupere_valeur('ytxt_'.$groupe,20);
1403                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>Ordonnée</td><td><input type=\"text\" name=\"ytxt\" value=\"$valeur\"></td></tr>\n";
1404                              echo "</table>\n";
1405                              echo "</blockquote>\n";
1406                              */
1407  
1408                              $checked=recupere_actif_ou_pas('affiche_photo_'.$groupe);
1409                              echo "<p>".gettext("Pour afficher la photo si elle existe dans")." I:\\trombine: <input type=\"checkbox\" name=\"affiche_photo\" value=\"$groupe\"$checked[1]></p>\n";
1410                              echo "<blockquote>\n";
1411                              echo "<p>".gettext("Si oui").":</p>\n";
1412                              echo "<table border=\"1\">\n";
1413                              $alt=$alt*(-1);
1414                              $valeur=recupere_valeur('dim_photo_'.$groupe,100);
1415                              echo "<tr style=\"background-color: $tabcolor[$alt];\"><td>".gettext("Taille de la photo")."</td><td><input type=\"text\" name=\"dim_photo\" value=\"$valeur\"$checked[2]></td></tr>\n";
1416                              echo "</table>\n";
1417                              echo "</blockquote>\n";
1418  
1419                              echo "<input type=\"submit\" name=\"choix_annotations\" value=\"".gettext("Valider")."\">\n";
1420                              echo "</form>\n";
1421                              echo "</blockquote>\n";
1422                              echo "<p><i>".gettext("NOTE").":</i> ".gettext("La photo est assimil&#233;e &#224; une annotation.<br>Si vous d&#233;sactivez l'annotation, aucune photo ne sera ins&#233;r&#233;e m&#234;me si elle existe dans")." I:\\trombine</p>\n";
1423                          }
1424                          else{
1425                              //Connexion à la base de données
1426                              //$etablissement_connexion_mysql=connexion();
1427                              //===================================
1428                              // DEBUG:
1429                              //foreach($_POST as $key => $value) {
1430                              //    echo "\$_POST['$key']=$value<br />";
1431                              //}
1432                              //===================================
1433  
1434                              // La variable $suppr_annotations peut être initialisée
1435                              //  sans validation de formulaire lorsqu'on désactive
1436                              // l'utilisation d'image pour le groupe $groupe
1437                              if(!isset($suppr_annotations)){
1438                                  $suppr_annotations=isset($_POST['suppr_annotations']) ? $_POST['suppr_annotations'] : "";
1439                              }
1440  
1441                              // Validation des choix d'annotation:
1442                              //if($_POST['suppr_annotations']==$groupe){
1443                              if($suppr_annotations==$groupe){
1444                                  echo "<h3>".gettext("D&#233;sactivation des annotations pour")." '$groupe'.</h3>\n";
1445                                  
1446                                  $fichier=fopen("$chemin_param_fond/annotations_$groupe.txt","w+");
1447                                  $ecriture=fwrite($fichier,'inactif');
1448                                  $fermeture=fclose($fichier);
1449  
1450                                  // Nettoyage:
1451                                  $query="DELETE FROM wallpaper WHERE nom='annotations_".$groupe."'";
1452                                  $resultat = mysql_query($query);
1453  
1454                                  $query="INSERT INTO wallpaper VALUES('annotations_$groupe','inactif','')";
1455                                  $resultat = mysql_query($query);
1456  
1457                                  // Si les annotations sont supprimées, il faut regénérer les fonds pour les utilisateurs concernés.
1458                                  // Supprimer le fond.txt pour chaque utilisateur suffit.
1459                                  // On lance l'opération si cela n'a pas déjà été fait.
1460                                  if($_POST['regeneration_fond_programmee']!="oui"){
1461                                      exec("/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon annuler $groupe");
1462                                      $regeneration_fond_programmee="oui";
1463                                      
1464                                  }
1465                              }
1466                              else{
1467                                  echo "<blockquote>\n";
1468                                  // Activation des annotations:
1469                                  echo "<p>".gettext("Activation des annotations pour")." '$groupe'.</p>\n";
1470                                  $fichier=fopen("$chemin_param_fond/annotations_$groupe.txt","w+");
1471                                  $ecriture=fwrite($fichier,'actif');
1472                                  $fermeture=fclose($fichier);
1473  
1474                                  // Nettoyage:
1475                                  $query="DELETE FROM wallpaper WHERE nom LIKE 'annotation%_%_".$groupe."'";
1476                                  $resultat = mysql_query($query);
1477                                  $query="DELETE FROM wallpaper WHERE nom LIKE 'couleur_txt_".$groupe."'";
1478                                  $resultat = mysql_query($query);
1479  
1480                                  $query="INSERT INTO wallpaper VALUES('annotations_$groupe','actif','')";
1481                                  $resultat = mysql_query($query);
1482  
1483                                  // DEBUG
1484                                  //echo "\$_POST['couleur_txt']=".$_POST['couleur_txt']."<br />";
1485  
1486                                  // Si la variable est vide, imposer une couleur.
1487                                  if($_POST['couleur_txt']==""){
1488                                      $couleur_txt="black";
1489                                      echo "<p>".gettext("La couleur de texte choisie n'&#233;tait pas valide.<br>\nCouleur impos&#233;e").": $couleur_txt</p>\n";
1490                                  }
1491                                  // Il faudrait contrôler les valeurs de couleur_txt d'après le contenu de $tabcouleur
1492                                  $temoin_couleur_valide="non";
1493                                  // DEBUG
1494                                  //echo "count(\$tabcouleur)=".count($tabcouleur)."<br />";
1495                                  for($i=0;$i<count($tabcouleur);$i++){
1496                                      // DEBUG
1497                                      //echo "$tabcouleur[$i] ";
1498                                      if($_POST['couleur_txt']==$tabcouleur[$i]){
1499                                          $temoin_couleur_valide="oui";
1500                                      }
1501                                  }
1502                                  if($temoin_couleur_valide=="non"){
1503                                      $couleur_txt="black";
1504                                      echo "<p>".gettext("La couleur de texte choisie n'&#233;tait pas valide.<br>\nCouleur impos&#233;e").": $couleur_txt</p>\n";
1505                                  }
1506  
1507  
1508  
1509                                  // Paramètres des annotations:
1510                                  $fichier=fopen("$chemin_param_fond/annotations_$groupe.sh","w+");
1511                                  //$ecriture=fwrite($fichier,'couleur_txt='.$_POST['couleur_txt']."\n");
1512                                  $ecriture=fwrite($fichier,'couleur_txt='.$_POST['couleur_txt']."\n");
1513                                  $ecriture=fwrite($fichier,'taille_police='.$_POST['taille_police']."\n");
1514  
1515                                  $ecriture=fwrite($fichier,'annotation_nom='.$_POST['annotation_nom']."\n");
1516                                  //$ecriture=fwrite($fichier,'annotation_prenom='.$_POST['annotation_prenom']."\n");
1517                                  $ecriture=fwrite($fichier,'annotation_classe='.$_POST['annotation_classe']."\n");
1518  
1519                                  /*
1520                                  $ecriture=fwrite($fichier,'annotation_login='.$_POST['afficher_login']."\n");
1521                                  $ecriture=fwrite($fichier,'annotation_machine='.$_POST['afficher_machine']."\n");
1522                                  $ecriture=fwrite($fichier,'annotation_ip='.$_POST['afficher_ip']."\n");
1523                                  $ecriture=fwrite($fichier,'annotation_arch='.$_POST['afficher_arch']."\n");
1524                                  $ecriture=fwrite($fichier,'annotation_date='.$_POST['afficher_date']."\n");
1525                                  */
1526  
1527                                  $fermeture=fclose($fichier);
1528  
1529                                  // A VERIFIER:
1530                                  // Il faudrait rendre annotations_$groupe.sh exécutable, non?
1531  
1532                                  //$query="INSERT INTO wallpaper VALUES('couleur_txt_$groupe','".$_POST['couleur_txt']."','')";
1533                                  $query="INSERT INTO wallpaper VALUES('couleur_txt_$groupe','".$_POST['couleur_txt']."','')";
1534                                  $resultat = mysql_query($query);
1535  
1536                                  $query="INSERT INTO wallpaper VALUES('taille_police_$groupe','".$_POST['taille_police']."','')";
1537                                  $resultat = mysql_query($query);
1538  
1539                                  $query="INSERT INTO wallpaper VALUES('annotation_nom_$groupe','".$_POST['annotation_nom']."','')";
1540                                  $resultat = mysql_query($query);
1541                                  //$query="INSERT INTO wallpaper VALUES('annotation_prenom_$groupe','".$_POST['annotation_prenom']."','')";
1542                                  //$resultat = mysql_query($query);
1543                                  $query="INSERT INTO wallpaper VALUES('annotation_classe_$groupe','".$_POST['annotation_classe']."','')";
1544                                  $resultat = mysql_query($query);
1545  
1546                                  /*
1547                                  $query="INSERT INTO wallpaper VALUES('annotation_login_$groupe','".$_POST['afficher_login']."','')";
1548                                  //echo "<p>$query</p>\n";
1549                                  $resultat = mysql_query($query);
1550                                  $query="INSERT INTO wallpaper VALUES('annotation_machine_$groupe','".$_POST['afficher_machine']."','')";
1551                                  $resultat = mysql_query($query);
1552                                  $query="INSERT INTO wallpaper VALUES('annotation_ip_$groupe','".$_POST['afficher_ip']."','')";
1553                                  $resultat = mysql_query($query);
1554                                  $query="INSERT INTO wallpaper VALUES('annotation_arch_$groupe','".$_POST['afficher_arch']."','')";
1555                                  $resultat = mysql_query($query);
1556                                  $query="INSERT INTO wallpaper VALUES('annotation_date_$groupe','".$_POST['afficher_date']."','')";
1557                                  $resultat = mysql_query($query);
1558                                  */
1559  
1560                                  /*
1561                                  if(strlen(preg_replace("/[0-9]/","",$_POST['xtxt']))==0){
1562                                      $query="DELETE FROM wallpaper WHERE nom='xtxt_$groupe'";
1563                                      $resultat = mysql_query($query);
1564  
1565                                      $query="INSERT INTO wallpaper VALUES('xtxt_$groupe','".$_POST['xtxt']."','')";
1566                                      $resultat = mysql_query($query);
1567  
1568                                      $fichier=fopen("$chemin_param_fond/annotations_$groupe.sh","a+");
1569                                      $ecriture=fwrite($fichier,"xtxt=".$_POST['xtxt']."\n");
1570                                  }
1571  
1572                                  if(strlen(preg_replace("/[0-9]/","",$_POST['ytxt']))==0){
1573                                      $query="DELETE FROM wallpaper WHERE nom='ytxt_$groupe'";
1574                                      $resultat = mysql_query($query);
1575  
1576                                      $query="INSERT INTO wallpaper VALUES('ytxt_$groupe','".$_POST['ytxt']."','')";
1577                                      $resultat = mysql_query($query);
1578  
1579                                      $fichier=fopen("$chemin_param_fond/annotations_$groupe.sh","a+");
1580                                      $ecriture=fwrite($fichier,"ytxt=".$_POST['ytxt']."\n");
1581                                  }
1582                                  */
1583  
1584  
1585  
1586  
1587                                  //echo "<p>Liste des informations affichées lorsque l'annotation est activée:</p>\n";
1588                                  echo "<p>".gettext("Liste des informations affich&#233;es sera la suivante").":</p>\n";
1589                                  echo "<ul>\n";
1590                                  if($_POST['annotation_nom']=="1"){
1591                                      echo "<li><p>".gettext("Les 'nom' et 'pr&#233;nom' de l'utilisateur connect&#233;").".</p></li>\n";
1592                                  }
1593                                  /*
1594                                  if($_POST['annotation_prenom']=="1"){
1595                                      echo "<li><p>Le 'prénom' de l'utilisateur connecté.</p></li>\n";
1596                                  }
1597                                  */
1598                                  if($_POST['annotation_classe']=="1"){
1599                                      echo "<li><p>".gettext("La 'classe' de l'utilisateur connect&#233; (<i>pour un professeur, ce sera 'Profs'</i>)").".</p></li>\n";
1600                                  }
1601                                  /*
1602                                  if($_POST['afficher_login']=="1"){
1603                                      echo "<li><p>Le 'login' de l'utilisateur connecté.</p></li>\n";
1604                                  }
1605                                  if($_POST['afficher_machine']=="1"){
1606                                      echo "<li><p>Le 'nom netbios' de la machine sur laquelle il se connecte.</p></li>\n";
1607                                  }
1608                                  if($_POST['afficher_ip']=="1"){
1609                                      echo "<li><p>L'adresse 'IP' de la machine sur laquelle il se connecte.</p></li>\n";
1610                                  }
1611                                  if($_POST['afficher_arch']=="1"){
1612                                      echo "<li><p>L'architecture':</p>
1613                                          <ul>
1614                                              <li>'Win95': pour Window$ 95, 98 et Me.</li>
1615                                              <li>'WinNT': pour Window$ NT.</li>
1616                                              <li>'Win2k': pour Window$ 2k et XP.</li>
1617                                          </ul>
1618                                      </li>\n";
1619                                  }
1620                                  if($_POST['afficher_date']=="1"){
1621                                      //echo "<li><p>La 'date' de login au format aaaa/mm/jj.</p></li>\n";
1622                                      echo "<li><p>La date et l'heure de login.</p></li>\n";
1623                                  }
1624                                  */
1625                                  echo "</ul>\n";
1626  
1627  
1628  
1629                                  // Photo:
1630                                  if(isset($_POST['affiche_photo'])){
1631                                      $query="DELETE FROM wallpaper WHERE nom='affiche_photo_$groupe'";
1632                                      $resultat = mysql_query($query);
1633  
1634                                      //$query="INSERT INTO wallpaper VALUES('affiche_photo_$groupe','".$_POST['affiche_photo']."','')";
1635                                      $query="INSERT INTO wallpaper VALUES('affiche_photo_$groupe','1','')";
1636                                      $resultat = mysql_query($query);
1637  
1638                                      if($_POST['affiche_photo']==$groupe){
1639                                          $fichier=fopen("$chemin_param_fond/photos_$groupe.txt","w+");
1640                                          //$ecriture=fwrite($fichier,'couleur_txt='.$_POST['couleur_txt']."\n");
1641                                          $ecriture=fwrite($fichier,"actif");
1642                                          $fermeture=fclose($fichier);
1643  
1644                                          if(strlen(preg_replace("/[0-9]/","",$_POST['dim_photo']))==0){
1645                                              $query="DELETE FROM wallpaper WHERE nom='dim_photo_$groupe'";
1646                                              $resultat = mysql_query($query);
1647  
1648                                              $query="INSERT INTO wallpaper VALUES('dim_photo_$groupe','".$_POST['dim_photo']."','')";
1649                                              $resultat = mysql_query($query);
1650  
1651                                              $fichier=fopen("$chemin_param_fond/dim_photo_$groupe.sh","a+");
1652                                              $ecriture=fwrite($fichier,"dim_photo=".$_POST['dim_photo']."\n");
1653                                          }
1654  
1655                                          echo "<p>".gettext("La photo sera affich&#233;e, si elle existe dans")." I:\\trombine</p>\n";
1656  
1657                                          echo "<p>Retour au <a href='".$_SERVER['PHP_SELF']."?choix1=parametrer'>Param&#233;trage</a></p>\n";
1658                                      }
1659  /*
1660                                      else{
1661                                          $fichier=fopen("$chemin_param_fond/photos_$groupe.txt","w+");
1662                                          //$ecriture=fwrite($fichier,'couleur_txt='.$_POST['couleur_txt']."\n");
1663                                          $ecriture=fwrite($fichier,"inactif");
1664                                          $fermeture=fclose($fichier);
1665                                      }
1666  */
1667                                  }
1668                                  else{
1669                                      $query="DELETE FROM wallpaper WHERE nom='affiche_photo_$groupe'";
1670                                      $resultat = mysql_query($query);
1671  
1672                                      $query="INSERT INTO wallpaper VALUES('affiche_photo_$groupe','0','')";
1673                                      $resultat = mysql_query($query);
1674  
1675                                      $fichier=fopen("$chemin_param_fond/photos_$groupe.txt","w+");
1676                                      //$ecriture=fwrite($fichier,'couleur_txt='.$_POST['couleur_txt']."\n");
1677                                      $ecriture=fwrite($fichier,"inactif");
1678                                      $fermeture=fclose($fichier);
1679                                  }
1680  
1681  
1682  
1683                                  echo "</blockquote>\n";
1684  
1685                                  // Si les annotations sont modifiées, il faut regénérer les fonds pour les utilisateurs concernés.
1686                                  // Supprimer le fond.txt pour chaque utilisateur suffit.
1687                                  // On lance l'opération si cela n'a pas déjà été fait.
1688                                  if($_POST['regeneration_fond_programmee']!="oui"){
1689                                      exec("/usr/bin/sudo $chemin_scripts/genere_fond.sh variable_bidon annuler $groupe");
1690                                      $regeneration_fond_programmee="oui";
1691                                  }
1692  
1693                              }
1694  
1695                              //$fermeture=mysql_close();
1696                          }
1697                      }
1698                  }
1699              }
1700          }
1701      
1702      }
1703      else{
1704          echo "<p>".gettext("Vous n'&#234;tes pas autoris&#233; &#224; acc&#233;der &#224; cette page").".</p>\n";
1705      }
1706  
1707      // Fin de la connexion à MySQL:
1708      $fermeture=mysql_close();
1709  
1710      //Fin de page:
1711      include ("pdp.inc.php");
1712  ?>


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