[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   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'&#233;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&#233; de choisir une image &#224; ins&#233;rer au centre du fond d'&#233;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&nbsp;: <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&#233; de choisir une image &#224; ins&#233;rer au centre de votre fond d'&#233;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'&#233;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&nbsp;</i>: </p>";
 127          echo "<ul>\n";
 128          echo "<li><p>Si l'image &#224; ins&#233;rer comporte des transparences, veillez &#224; 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&#233; de param&#233;trer les dimensions de l'insertion d'image (<i>avec valeur max pour conserver le nom_pr&#233;nom,...</i>)</span></p></li>\n";
 130          if(is_admin("se3_is_admin",$login)=="Y") {
 131              echo "<li><p>Vous pouvez autoriser des utilisateurs &#224; modifier eux-m&#234;mes leur fond d'&#233;cran.<br />Pour cela, il suffit de leur d&#233;l&#233;guer le droit '<b>fond_can_change</b>'.<br />L'acc&#232;s leur est alors donn&#233; dans <b>Annuaire/Voir ma fiche/Personnaliser mon fond d'&#233;cran</b><br />Pensez cependant que certains utilisateurs pourraient mettre en place des fonds non politiquement corrects.<br />Le fait d'avoir autoris&#233; la modification du fond pourrait vous &#234;tre reproch&#233;e.<br />Choisissez donc soigneusement les utilisateurs auxquels vous d&#233;l&#233;guerez ce droit.</p></li>\n";
 132          }
 133          else {
 134              echo "<li><p>Vous pouvez ins&#233;rer une image de votre choix au centre du fond d'&#233;cran.<br />L'image ins&#233;r&#233;e sera r&#233;duite &#224; un maximum de 500px de côt&#233;.<br />&nbsp;<br />Pensez que l'image que vous ins&#233;rez doit &#234;tre politiquement correcte.<br />Elle ne doit pas choquer des &#233;lèves, des professeurs, votre principal ou proviseur.<br />De plus, le droit qui vous a &#233;t&#233; donn&#233; peut vous &#234;tre retir&#233;.</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 "&nbsp;: ".$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'&#233;cran de '$cible'&nbsp;:<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'&#233;cran&nbsp;:<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'&#233;cran du compte '<b>$cible</b>'&nbsp;:<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'&#233;cran&nbsp;:<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  ?>


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