[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/echanges/ -> gestion.php (source)

   1  <?php
   2  
   3      /** 
   4  
   5      * Permet de gerer les devoirs deployes 
   6      
   7      * @Version $Id: gestion.php 6176 2011-02-27 23:00:23Z dbo $ 
   8         * @Projet LCS-SE3
   9     
  10         * @Auteurs Jean Gourdin
  11     
  12         * @Licence Distribue selon les termes de la licence GPL
  13      
  14          */
  15  
  16      /**
  17  
  18      * file: gestion.php
  19      * @Repertoire: echanges/
  20      */
  21  
  22  ?>
  23  
  24  <head><script LANGUAGE="JavaScript">
  25  parametres="toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=0,width=700,height=600,left=150,top=50";
  26  
  27  /**
  28  * ouvre une nouvelle fenetre pour le lien
  29  * @language Javascript
  30  * @Parametres lien
  31  * @Return Action ouvre une nouvelle fenetre
  32  */
  33  
  34  function ouvrirFenetre(lien) {
  35     f=window.open(lien,"Nouvelle_fenetre",parametres);
  36     f.focus();
  37  }
  38  </script></head>
  39  
  40  <?php
  41  require("entete.inc.php");
  42  require ("ldap.inc.php");
  43  require ("fonc_outils.inc.php");
  44  
  45  require_once  ("lang.inc.php");
  46  bindtextdomain('se3-echange',"/var/www/se3/locale");
  47  textdomain ('se3-echange');
  48  
  49  
  50  //aide
  51  $_SESSION["pageaide"]="L%27interface_prof#Ressources_et_partages";
  52  
  53  $login=isauth();
  54  $an=date("Y"); $mois=date("m"); $jour=date("d");
  55  $table="devoirs";
  56  $self="gestion.php";
  57  
  58  
  59  // recuperer les parametres passes par POST
  60  foreach ($_POST as $cle=>$val) {
  61    $$cle = $val;
  62  }
  63  
  64  // recuperer l'enregistrement
  65  $req =" SELECT * FROM $table WHERE id_prof='$login' AND id='$id'";
  66  $resultat=mysql_query($req);
  67  $ligne=mysql_fetch_array($resultat);
  68  list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib,$date_retour,$description,$liste_distrib,$liste_retard, $etat) = $ligne; 
  69  
  70  // traitement de la modification
  71  if (isset($modif)) {
  72  
  73   if ($etat=='D') {      
  74     /* ATTENTION si changement de $id_devoir :  
  75      - SIGNALER LE CHANGEMENT D'IDENTIFIANT aux eleves (mails ??)
  76      */
  77     
  78    $date_distrib_nv = $an_distrib_nv."-".$mois_distrib_nv."-".$jour_distrib_nv;       
  79    if ($date_distrib != $date_distrib_nv) 
  80         $date_distrib = $date_distrib_nv;
  81    
  82    if ($id_devoir_nv != $id_devoir)  {
  83   
  84  // verifier d'abord que le nouvel identifiant n'a pas deja ete utilise
  85  // ATTENTION : tenir compte de la casse avec BINARY
  86    $req_verif =" SELECT id FROM $table WHERE BINARY id_devoir='$id_devoir_nv' ";
  87    $res_verif=mysql_query($req_verif);
  88    $nb= mysql_num_rows($res_verif); 
  89    if ($nb != 0) {
  90      echo gettext("Modification du devoir")." <em>$id_devoir</em> ".gettext("en")." <em>$id_devoir_nv</em> :";
  91      echo "<h4><em>\"$id_devoir_nv\"</em> ".gettext("a d&#224;j&#224; &#224;t&#224; utilis&#224; !")."<br>".gettext("Veuillez choisir un autre identifant")."</h4>";
  92    }
  93    else {
  94    echo gettext("Modification du devoir")." <em>$id_devoir</em> ".gettext("en")." <em>$id_devoir_nv</em> ".gettext(" pour :")."<br>";
  95    // liste complete des eleves beneficiaires du devoir   
  96    $liste_distrib=preg_replace("/\|$/","",$liste_distrib);
  97    $tab_distrib = liste_tab($liste_distrib);       // tableau associatif : nom_classe --> uid1#uid2#..
  98    foreach ($tab_distrib as $classe => $liste_distrib_classe) {
  99      $liste_distrib_classe=preg_replace("/#$/","",$liste_distrib_classe);
 100      $tab_eleves_classe=preg_split("/#/",$liste_distrib_classe);
 101      $nb_eleves_classe=count($tab_eleves_classe);
 102      // boucle sur tous les eleves de la classe/groupe
 103     for ($p=0; $p < $nb_eleves_classe; $p++) { 
 104       $uid_eleve = $tab_eleves_classe[$p];
 105       $param= params_eleve($uid_eleve);
 106       $cla=classe_eleve($uid_eleve);       // $cla est la VRAIE classe de l'eleve
 107       $chemin="/var/se3/Classes/$cla/".inverse_login($uid_eleve);        
 108       
 109       $ch ="/usr/bin/sudo  /usr/share/se3/scripts/modif_rep_dev.sh  $chemin  $id_devoir  $id_devoir_nv" ;
 110       $cr= exec($ch) ;
 111       if ($cr) {
 112         $im=($param["sexe"]=="F"?"<img src=\"../annu/images/gender_girl.gif\" width=14 height=14 hspace=3 border=0>":
 113         "<img src=\"../annu/images/gender_boy.gif\" width=14 height=14 hspace=3 border=0>");
 114         echo $im.$param["nom"]."<br>";       
 115       }
 116       else   
 117         echo "---> <FONT color='red'>".gettext("&#224;chec")."</FONT> ".gettext("pour")." $param[nom]</h4>";
 118     }
 119    }  // fin foreach
 120    $id_devoir = $id_devoir_nv;
 121   }  // fin else
 122  }  // fin if  
 123  } // fin cas "D"
 124  
 125   if ($etat=='D' or $etat=='R') {      
 126    $date_retour  = $an_retour_nv."-".$mois_retour_nv."-".$jour_retour_nv;
 127    $description  = $description_nv;
 128   } 
 129  // Mise a jour dans la table 
 130    $req_devoir="UPDATE $table ";  
 131    $req_devoir .=" SET id_devoir='$id_devoir',date_distrib='$date_distrib',date_recup='$date_retour', description='$description' WHERE id='$id' ";  
 132    $ok = mysql_query($req_devoir);
 133   }
 134  
 135  echo "<body >
 136  <h1>".gettext("Modification des param&#232;tres du devoir")." <em>$id_devoir</em></h1>";
 137  
 138  /* PREVOIR CHANGEMENT D ETAT :
 139   -  archiver, supprimer (avertir de la disparition ! )
 140   -  A -> R (si archive) revenir a l'etat R (en recuperation) 
 141   -  F -> A (si etat fini, le signaler par libelle dans la page de recuperation (enlever 
 142  */
 143  echo "<table width='100%' border=2>
 144       <form  action=$self  method='post'>";
 145       
 146     if ($etat=='D') {      
 147       echo "<tr><td>".gettext("Identifiant :")." <FONT color='red'>$id_devoir</FONT></td>
 148       <td><input type='text' name='id_devoir_nv' value='$id_devoir'></td></tr>
 149       <tr><td>".gettext("Date de distribution :")." <FONT color='red'>".affiche_date($date_distrib)."</FONT></td>
 150       <td>"; choix_date($date_distrib, 'distrib_nv'); echo "</td></tr>";
 151      } else  { 
 152       echo "<tr><td>".gettext("Identifiant")." </td>
 153       <td align='center'> <FONT color='red'>$id_devoir</FONT></td></tr>
 154       <tr><td>".gettext("Date de distribution")." </td>
 155       <td align='center'> <FONT color='red'>".affiche_date($date_distrib)."</FONT></td></tr>";
 156     } 
 157  
 158     if ($etat=='D' or $etat=='R') {      
 159       echo "<tr><td>".gettext("Date de retour :")." <FONT color='red'>".affiche_date($date_retour)."</FONT></td>
 160       <td>"; choix_date($date_retour, 'retour_nv'); echo "</td></tr> 
 161       <tr><td>".gettext("Commentaire")." </td>
 162       <td><textarea cols=30 rows=3 name=description_nv >$description</textarea></td></tr> ";
 163      } else  { 
 164       echo "<tr><td>".gettext("Date de retour")." </td>
 165       <td align='center'> <FONT color='red'>".affiche_date($date_retour)."</FONT></td></tr>    
 166       <tr><td>".gettext("Commentaire")." </td>
 167       <td> $description</td></tr>";        
 168     }
 169      
 170       echo "<tr><td>".gettext("Validation des modifications")."</td>      
 171       <td><input type='button'  name='modif' value='Modifier' onclick=\"if (confirm".gettext("('ATTENTION ! Confimez-vous ces modifications ?')")." ) this.form.submit();\">   
 172       <input type=\"hidden\" name='modif' value=1> 
 173       <input type=\"hidden\" name='id' value=$id>
 174       <input type=\"hidden\" name='id_devoir' value=$id_devoir>
 175       </td></tr></form></table>"; 
 176  
 177  include("pdp.inc.php");
 178  ?>
 179  


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