[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 5 * Upload de fond d'ecran personnalise 6 7 * @Version $Id: fond_perso.php 6262 2011-03-17 10:21:15Z crob $ 8 9 * @Projet LCS / SambaEdu 10 11 * @auteurs Stephane Boireau 12 13 * @Licence Distribue selon les termes de la licence GPL 14 15 * @note 16 17 */ 18 19 /** 20 21 * @Repertoire: fond_ecran/ 22 * file: fond_perso.php 23 24 */ 25 26 27 include "entete.inc.php"; 28 include "ldap.inc.php"; 29 include "ihm.inc.php"; 30 31 require_once ("lang.inc.php"); 32 bindtextdomain('se3-fond',"/var/www/se3/locale"); 33 textdomain ('se3-fonds'); 34 35 //aide 36 $_SESSION["pageaide"]="Le_module_Syst%C3%A8me_fond_d\'%C3%A9cran"; 37 38 39 if ((is_admin("se3_is_admin",$login)=="Y") or 40 (ldap_get_right("fond_can_change",$login)=="Y")) { 41 // Initialisation 42 $dossier_upload_images="/var/lib/se3/fonds_ecran"; 43 //$chemin_scripts="/usr/share/se3/scripts"; // mkwall_perso.sh 44 $chemin_scripts="/usr/share/se3/sbin"; // mkwall.sh 45 46 $chemin_www_fonds_courants="Admin/fonds_ecran/courant"; 47 $dossier_www_fonds_courants="/var/www/se3/".$chemin_www_fonds_courants; 48 49 //debug_var(); 50 51 echo "<h1>".gettext("Personnalisation du fond d'écran")."</h1>"; 52 53 if(!file_exists($dossier_www_fonds_courants)) { 54 mkdir($dossier_www_fonds_courants); 55 } 56 57 $cible=isset($_POST['cible']) ? $_POST['cible'] : $login; 58 $cible=preg_replace("/[^A-Za-z0-9\._-]/","",$cible); 59 60 //if(!isset($_POST['image'])) { 61 if(!isset($_POST['is_posted'])) { 62 echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\" name=\"form1\" enctype=\"multipart/form-data\">\n"; 63 64 if(is_admin("se3_is_admin",$login)=="Y") { 65 // Choix d'un utilisateur ou d'un groupe 66 echo "<p>Vous avez la possibilité de choisir une image à insérer au centre du fond d'écran de l'utilisateur de votre choix.</p>\n"; 67 68 echo "<p>\n"; 69 //echo "<input type='radio' id='type_utilisateur' name='type' value='utilisateur' /><label for='type_utilisateur'> Utilisateur</label><br />\n"; 70 //echo "<input type='radio' id='type_groupe' name='type' value='groupe' /><label for='type_groupe'> Groupe</label><br />\n"; 71 echo "Login de l'utilisateur : <input type='text' id='cible' name='cible' value='$cible' onblur='actualise_fond_actuel()' />"; 72 echo " "; 73 echo "<a href=\"#\" onclick=\"popuprecherche('search_login.php','popuprecherche','width=500,height=500,scrollbars=1'); return false;\" /><img src='../elements/images/zoom.png' width='22' height='22' border='0' alt='Chercher un utilisateur' /></a>"; 74 //echo " <a id='lien_fond_actuel' href='javascript:actualise_fond_actuel()'>Fond actuel</a>"; 75 // setTimeout('if(popuprecherche) {popuprecherche.focus()}', 1000); 76 echo "<br />\n"; 77 echo "</p>\n"; 78 } 79 else { 80 echo "<p>Vous avez la possibilité de choisir une image à insérer au centre de votre fond d'écran.</p>\n"; 81 82 if(file_exists($dossier_www_fonds_courants."/".$login.".jpg")) { 83 echo "<p><a href='$chemin_www_fonds_courants/$login.jpg' target='_blank'>Votre fond d'écran actuel</a></p>\n"; 84 } 85 } 86 87 echo "<p>".gettext("Image").": <input type=\"file\" name=\"image\" enctype=\"multipart/form-data\" /><br />\n"; 88 89 echo "<input type=\"hidden\" name=\"is_posted\" value=\"y\">\n"; 90 91 echo "<input type=\"submit\" name=\"bouton_choix\" value=\"".gettext("Valider")."\"></p>\n"; 92 93 echo "</form>\n"; 94 95 echo "<div id='fond_actuel'>"; 96 if(is_admin("se3_is_admin",$login)!="Y") { 97 echo "<img src='../$chemin_www_fonds_courants/$login.jpg' />"; 98 } 99 echo "</div>\n"; 100 101 echo "<script type='text/javascript'> 102 function actualise_fond_actuel() { 103 if((document.getElementById('cible'))&&(document.getElementById('fond_actuel'))) { 104 cible=document.getElementById('cible').value; 105 //alert('cible='+cible); 106 107 //alert('<img src=\"../$chemin_www_fonds_courants/'+cible+'.jpg\" width=\"800\" height=\"600\" />') 108 //document.getElementById('fond_actuel').innerHTML='<img src=\"../$chemin_www_fonds_courants/'+cible+'.jpg\" width=\"800\" height=\"600\" />'; 109 document.getElementById('fond_actuel').innerHTML='<img src=\"../$chemin_www_fonds_courants/'+cible+'.jpg\" />'; 110 111 /* 112 if(document.getElementById('lien_fond_actuel')) { 113 if(cible=='') { 114 document.getElementById('lien_fond_actuel').style.display='none'; 115 } 116 else { 117 document.getElementById('lien_fond_actuel').style.display=''; 118 } 119 } 120 */ 121 } 122 } 123 </script>\n"; 124 125 echo "<p><br /></p>\n"; 126 echo "<p><i>NOTES </i>: </p>"; 127 echo "<ul>\n"; 128 echo "<li><p>Si l'image à insérer comporte des transparences, veillez à la redimensionner pour que la dimension maximale (<i>hauteur ou largeur</i>) soit de 500px pour conserver la transparence.</p></li>\n"; 129 echo "<li><p><span style='color:red'>A FAIRE: Possibilité de paramétrer les dimensions de l'insertion d'image (<i>avec valeur max pour conserver le nom_prénom,...</i>)</span></p></li>\n"; 130 if(is_admin("se3_is_admin",$login)=="Y") { 131 echo "<li><p>Vous pouvez autoriser des utilisateurs à modifier eux-mêmes leur fond d'écran.<br />Pour cela, il suffit de leur déléguer le droit '<b>fond_can_change</b>'.<br />L'accès leur est alors donné dans <b>Annuaire/Voir ma fiche/Personnaliser mon fond d'écran</b><br />Pensez cependant que certains utilisateurs pourraient mettre en place des fonds non politiquement corrects.<br />Le fait d'avoir autorisé la modification du fond pourrait vous être reprochée.<br />Choisissez donc soigneusement les utilisateurs auxquels vous déléguerez ce droit.</p></li>\n"; 132 } 133 else { 134 echo "<li><p>Vous pouvez insérer une image de votre choix au centre du fond d'écran.<br />L'image insérée sera réduite à un maximum de 500px de côté.<br /> <br />Pensez que l'image que vous insérez doit être politiquement correcte.<br />Elle ne doit pas choquer des élèves, des professeurs, votre principal ou proviseur.<br />De plus, le droit qui vous a été donné peut vous être retiré.</p></li>\n"; 135 } 136 echo "</ul>\n"; 137 } 138 else { 139 if($cible=='') { 140 echo "<p><span style='color:red'>La cible choisie n'est pas valide"; 141 if(isset($POST['cible'])) {echo " : ".$POST['cible'];} 142 echo "</span>"; 143 echo "</p>\n"; 144 145 echo "<p><a href='".$_SERVER['PHP_SELF']."'>Retour</a></p>\n"; 146 include ("pdp.inc.php"); 147 die(); 148 } 149 150 $tmp_image=$HTTP_POST_FILES['image']['tmp_name']; 151 $image=$HTTP_POST_FILES['image']['name']; 152 $size_image=$HTTP_POST_FILES['image']['size']; 153 154 $cible=isset($_POST['cible']) ? $_POST['cible'] : $login; 155 156 // Retrouver le groupe d'appartenance 157 // Inutile... la recherche est faite dans mkwall_perso.sh ou mkwall.sh 158 159 /* 160 echo "\$tmp_image=$tmp_image<br />"; 161 echo "\$image=$image<br />"; 162 echo "\$size_image=$size_image<br />"; 163 */ 164 165 if(is_uploaded_file($tmp_image)){ 166 $dest_file="$dossier_upload_images/tmp_$cible.jpg"; 167 $source_file=stripslashes("$tmp_image"); 168 $res_copy=copy("$source_file" , "$dest_file"); 169 if(!$res_copy) { 170 echo "<p style='color:red'>Erreur lors de la copie de l'image.</p>\n"; 171 echo "<p><a href='".$_SERVER['PHP_SELF']."'>Retour</a></p>\n"; 172 include ("pdp.inc.php"); 173 die(); 174 } 175 } 176 else { 177 echo "<p style='color:red'>Erreur lors de l'upload de l'image.<br />Cela peut se produire avec une image trop volumineuse.</p>\n"; 178 include ("pdp.inc.php"); 179 die(); 180 } 181 echo "<p>Le fichier a ete uploade et copie.</p>\n"; 182 183 echo "<p>Lancement du traitement...<br />\n"; 184 //exec("/usr/bin/sudo $chemin_scripts/mkwall_perso.sh $cible"); 185 exec("/usr/bin/sudo $chemin_scripts/mkwall.sh $cible",$retour); 186 187 foreach($retour as $key => $value) { 188 //echo "<span style='color:green'>\$retour[$key]=$value</span><br />"; 189 echo "<span style='color:green; margin-left: 3em;'>$value</span><br />"; 190 } 191 192 //echo "$dossier_www_fonds_courants/$cible.jpg<br />"; 193 194 /* 195 // Les tests d'existence echouent 196 // peut-etre parce que ce sont des liens symboliques ? 197 198 if(file_exists($dossier_www_fonds_courants."/".$cible."jpg")) { 199 if(is_admin("se3_is_admin",$login)=="Y") { 200 echo "<p>Le nouveau fond d'écran de '$cible' :<br /><a href='../$chemin_www_fonds_courants/$cible.jpg' target='_blank'><img src='../$chemin_www_fonds_courants/$cible.jpg' /></a></p>\n"; 201 } 202 else { 203 echo "<p>Votre nouveau fond d'écran :<br /><a href='../$chemin_www_fonds_courants/$cible.jpg' target='_blank'><img src='../$chemin_www_fonds_courants/$cible.jpg' /></a></p>\n"; 204 } 205 } 206 207 if(file_exists("/var/se3/Docs/media/fonds_ecran/".$cible."jpg")) { 208 echo "file_exists(\"/var/se3/Docs/media/fonds_ecran/\".$cible.\"jpg\"<br />"; 209 } 210 */ 211 212 if(is_admin("se3_is_admin",$login)=="Y") { 213 echo "<p>Le nouveau fond d'écran du compte '<b>$cible</b>' :<br /><span style='margin-left: 3em;'><a href='../$chemin_www_fonds_courants/$cible.jpg' target='_blank'><img src='../$chemin_www_fonds_courants/$cible.jpg' /></a></span></p>\n"; 214 } 215 else { 216 echo "<p>Votre nouveau fond d'écran :<br /><span style='margin-left: 3em;'><a href='../$chemin_www_fonds_courants/$cible.jpg' target='_blank'><img src='../$chemin_www_fonds_courants/$cible.jpg' /></a></span></p>\n"; 217 } 218 219 echo "<p><a href='".$_SERVER['PHP_SELF']."'>Retour</a></p>\n"; 220 } 221 222 } // Fin if is_admin 223 include ("pdp.inc.php"); 224 ?>
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 |