[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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 êtes administrateur du serveur SE3.<br> 47 Avec le menu ci-dessous, vous pouvez mettre en place des fonds d'é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'être que des liens vers un fond commun (<i>économique en place</i>), ou des images avec annotation (<i>nom, prénom, classe, photo</i>).</p> 57 <p>Ces fonds peuvent être des dégradés généré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 à 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é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'é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énération de fonds pour le Bureau nécessite l'installation des paquets suivants").":</p>\n"; 95 echo "<ul>\n"; 96 echo " <li><p><b>ImageMagick</b>: ".gettext("Programme de géné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ê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é 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é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é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é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érer une image personnalisée dans le fond d'un utilisateur").".</label></p></li>\n"; 159 echo "<li><p><a href='fond_perso.php'>".gettext("Insérer une image personnalisé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è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étrage de fond n'est effectué").".</p>\n"; 180 echo "<br>"."<a href=\"../fond_ecran/fonds.php\">Retour</a> "; 181 } 182 else{ 183 echo "<h3>".gettext("Tableau des paramétrages effectués")."</h3>\n"; 184 echo "<table border=\"1\">\n"; 185 186 echo "<tr style=\"font-weight:bold; text-align:center;\">\n"; 187 echo "<td> </td>\n"; 188 echo "<td colspan=\"5\">".gettext("Paramètres de l'image")."</td>\n"; 189 echo "<td colspan=\"7\">".gettext("Paramè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é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=" "; 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=" "; 235 $largeur=" "; 236 $hauteur=" "; 237 $couleur1=" "; 238 $couleur2=" "; 239 $annotations=" "; 240 $couleur_txt=" "; 241 $taille_police=" "; 242 $annotation_nom=" "; 243 //$annotation_prenom=" "; 244 $annotation_classe=" "; 245 /* 246 $annotation_login=" "; 247 $annotation_machine=" "; 248 $annotation_ip=" "; 249 $annotation_arch=" "; 250 $annotation_date=" "; 251 */ 252 $affiche_photo=" "; 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étrage")."</h2>\n"; 540 541 if((!isset($_POST['groupe']))||($_POST['groupe']=="")){ 542 if(!isset($_POST['registre_zrn'])){ 543 echo "<h3>".gettext("Activation/dé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énération de fonds est activée").".</p>\n"; 567 } 568 else{ 569 $ecriture=fwrite($fichier,"0"); 570 echo "<p>".gettext("La génération de fonds est désactivé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 été supprimés par cette opération.<br>\nEn revanche, il ne sera pas testé chaque nuit, ni à chaque login, si des modifications de fonds doivent être effectué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éné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éné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éné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ésactiver")."</label><input type=\"radio\" name=\"action\" id=\"action_inactif\" value=\"inactif\"$checked2><label for='action_inactif' style='cursor:pointer;'> ".gettext("la géné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ô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és Wallpaper dans MySQL sont correctes.<br>\nSi vous voulez quand même regéné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és Wallpaper dans MySQL ne conviennent pas.<br>\nEn validant ci-dessous, ces valeurs vont être corrigées et les registre.zrn vont être regénéré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éné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 été regénéré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é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éfinissez des fonds pour le groupe 'Eleves' et pour des 'Classe_XXX', les définitions de classes seront prioritaires").".</p>\n"; 839 echo "<p>".gettext("Et si vous dépassez vos quotas (<i>si vous les avez mis en place</i>), les paramètres dé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ètres pour")." $groupe</h3>\n"; 868 echo "<blockquote>\n"; 869 echo "<h4>".gettext("Fond d'é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ésactivation")."</h4>\n"; 889 echo "<p>".gettext("Pour dé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énérer un dégradé").":</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égradé").": <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ées ci-dessus sont consultables à 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égradés ont tendance à virer à l'arc-en-ciel (<i>constaté 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é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'écran, mais seulement que le critère")." '$groupe' ".gettext("ne sera pas utilisé pour la génération de fond lors des logins à 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 ê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 été généré 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 été modifié 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é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é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 à 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ée à une annotation.<br>Si vous désactivez l'annotation, aucune photo ne sera insérée mê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é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'était pas valide.<br>\nCouleur imposé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'était pas valide.<br>\nCouleur imposé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é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énom' de l'utilisateur connecté").".</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é (<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ée, si elle existe dans")." I:\\trombine</p>\n"; 1656 1657 echo "<p>Retour au <a href='".$_SERVER['PHP_SELF']."?choix1=parametrer'>Paramé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'êtes pas autorisé à accéder à 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 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |