[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   1  <?php
   2  
   3  
   4      /** 
   5  
   6      * Permet de gerer les devoirs deployes 
   7      
   8      * @Version $Id: gerer.php 6176 2011-02-27 23:00:23Z dbo $
   9         * @Projet LCS-SE3
  10     
  11         * @Auteurs Jean Gourdin
  12     
  13         * @Licence Distribue selon les termes de la licence GPL
  14      
  15          */
  16  
  17      /**
  18  
  19      * file: gerer.php
  20      * @Repertoire: echanges/
  21      */
  22  
  23  ?>
  24  
  25  <head><script LANGUAGE="JavaScript">
  26  parametres="toolbar=0,location=0,directories=0,menuBar=0,scrollbars=1,resizable=0,width=700,height=600,left=150,top=50";
  27  
  28  /**
  29  * ouvre une nouvelle fenetre pour le lien 
  30  * @language Javascript
  31  * @Parametres lien
  32  * @Return Action ouvre une nouvelle fenetre
  33  */
  34  
  35  function ouvrirFenetre(lien) {
  36     f=window.open(lien,"Nouvelle_fenetre",parametres);
  37     f.focus();
  38  }
  39  </script></head>
  40  
  41  <?php
  42  require("entete.inc.php");
  43  require ("ldap.inc.php");
  44  require ("fonc_outils.inc.php");
  45  
  46  require_once  ("lang.inc.php");
  47  bindtextdomain('se3-echange',"/var/www/se3/locale");
  48  textdomain ('se3-echange');
  49  
  50  //aide
  51  $_SESSION["pageaide"]="L%27interface_prof#Ressources_et_partages";
  52  
  53  $login=isauth();
  54  $now =date("Y-m-d");
  55  $table="devoirs";
  56  $libelle_etat= array('A'=>gettext("archiv&#233;"),'R'=>gettext("r&#233;cup&#233;ration en cours"),'F'=>gettext("r&#233;cup&#233;ration termin&#233;e"),'D'=>gettext("juste distribu&#233;"));
  57  
  58  
  59  // recuperer les parametres passes par POST
  60  foreach ($_POST as $cle=>$val) {
  61    $$cle = $val;
  62   // echo "$$cle =  $val<br>";
  63  }
  64  
  65  
  66  
  67  echo "<body >
  68  <h1>".gettext("Gestion des devoirs")." <FONT size='-2'>(".gettext("le ").affiche_date($now).")</FONT></h1>
  69  <hr>";
  70  
  71  // Suppression d'un devoir avant recup
  72  if (isset($action) and $action=='s') {
  73  // supprimer d'adord tout les dossiers du devoir 
  74   $req =" SELECT * FROM $table WHERE id='$id'";
  75   $res=mysql_query($req);
  76   $ligne=mysql_fetch_array($res);
  77   list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib_dev,$date_retour_dev,$description_dev,$liste_distrib,$liste_retard, $etat) = $ligne; 
  78  
  79   $liste_distrib=preg_replace("/#$/","",$liste_distrib);
  80   $tab_eleves= preg_split("/#/",$liste_distrib);
  81   $nb_eleves=sizeof($tab_eleves);
  82   
  83  // boucle sur tous les eleves pour suppression de leur dossier de devoir
  84  echo gettext("Suppression du dossier du devoir")." <em>$id_devoir</em> ".gettext("pour les &#233;l&#232;ves :")."<p>";
  85  
  86   for ($p=0; $p < $nb_eleves; $p++) {
  87    $uid_eleve=$tab_eleves[$p];
  88    $param= params_eleve($uid_eleve);
  89    $classe=$param['classe'];
  90    $rep="/var/se3/Classes/$classe/$uid_eleve/$id_devoir";        
  91    $ch ="/usr/bin/sudo  /usr/share/se3/scripts/supp_rep_dev.sh  $rep" ;
  92    $cr= exec($ch) ;
  93    if ($cr) {
  94      echo $im=($param['sexe']=="F"?"<img src=\"../annu/images/gender_girl.gif\" width=14 height=14 hspace=3 border=0>":
  95           "<img src=\"../annu/images/gender_boy.gif\" width=14 height=14 hspace=3 border=0>");
  96      echo $param["nom"]." - ".$param["classe"]."<br>";       
  97     }  
  98     else        
  99     echo " ---> &#233;chec de la suppression du dossier pour $uid_eleve<br>";
 100   }        
 101             
 102  // enfin supprimer l'enregistrement
 103  $req_sup="delete from $table where id='$id'";
 104  mysql_query($req_sup);
 105  echo "<h4>".gettext("Le devoir")." <em>$id_devoir</em> ".gettext("a &#233;t&#233; d&#233;finitivement supprim&#233;")." </h4>";
 106  
 107  }
 108  if (isset($action) and $action=='r') {
 109  $req = "UPDATE $table SET etat='R' WHERE id='$id' ";
 110  @mysql_query($req);
 111  echo "<h4>".gettext("Le devoir")." <em>$id_devoir</em> ".gettext("est remis en &#233;tat de \"r&#233;cup&#233;ration\"")." </h4>";
 112  }
 113  if (isset($action) and $action=='a') {
 114  $req_archiv = "UPDATE $table SET etat='A' WHERE id='$id' ";
 115  @mysql_query($req_archiv);
 116  echo "<strong>".gettext("Le devoir")." <em>$id_devoir</em> ".gettext("a bien &#233;t&#233; archiv&#233;")."<br>
 117   <font size='-1'>".gettext("Il est possible toutefois en cas de n&#233;cessit&#233; de reprendre une phase de \"r&#233;cup&#233;ration\"")."</font></strong>";
 118  }
 119  
 120  // recherche de tous les devoirs du prof
 121  $req =" SELECT * FROM $table WHERE id_prof='$login' AND etat <> 'A' order by etat, date_distrib ";
 122  $resultat=mysql_query($req);
 123  $nb_devoirs=mysql_num_rows($resultat);
 124  
 125  $req_arch =" SELECT * FROM $table WHERE id_prof='$login' AND etat = 'A' order by date_distrib,date_recup ";
 126  $resultat_arch=mysql_query($req_arch);
 127  $nb_devoirs_arch=mysql_num_rows($resultat_arch);
 128  
 129  if ($nb_devoirs +$nb_devoirs_arch ==0) {
 130   die ("$login ".gettext(" n'a distribu&#233; aucun devoir"));
 131   }
 132  
 133  if ($nb_devoirs > 0) {
 134  echo "<h4><FONT color='#ff0e7e'>".gettext("Devoirs en cours de traitement")."</FONT></h4>";
 135  echo "<table width='100%' border=2>
 136    <tr><th>".gettext("identifi&#233; par")."</th><th>".gettext("distribu&#233; le")."</th><th>".gettext("&#224; rendre le")."</th><th>".gettext("sous le nom")."</th><th>".gettext("Etat actuel")."</th><th align='center' width='25%' colspan=2>".gettext("actions")."</th></tr>";
 137    
 138  for ($i=0;$i<$nb_devoirs;$i++) {
 139    $ligne=mysql_fetch_array($resultat);
 140    list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib_dev,$date_retour_dev,$description_dev,$liste_dev,$liste_retard, $etat) = $ligne; 
 141  
 142    // afficher les listes des eleves a la demande dans une fenetre
 143    echo "<tr><td><a href='devoir.php?id=$id' onClick=\"ouvrirFenetre(this.href); return false\">$id_devoir</a></td>";
 144    echo "<td>".affiche_date($date_distrib_dev)."</td>";
 145    if ($date_retour_dev <= $now )
 146      echo "<td><font color='red'>".affiche_date($date_retour_dev)."</font></td>";
 147    else
 148      echo "<td>".affiche_date($date_retour_dev)."</td>";
 149    echo "<td>$nom_devoir</td>"; 
 150    echo "<td>$libelle_etat[$etat]</td>";
 151  
 152     
 153   if ($etat =='D' ) { 
 154   /* etat D (tout juste distribue) on peut avant 1ere recup : 
 155    - changer tous les parametres du devoir, sauf changer les documents
 156    - supprimer totalement (y compris les fichiers distribues)
 157    */
 158    /////// Suspension de la possibilite de supprimer definitivement le devoir //////////  
 159    /*  echo "<td><form action='gerer.php' method='post'>
 160         <input type='button'  value='Supprimer' onclick=\"if (confirm('ATTENTION ! Confimez-vous cette d&#233;cision irr&#233;versible de suppression ?') ) this.form.submit();\">   
 161         <input type='hidden' name='id' value='$id'><input type='hidden' name='action' value='s'>      
 162         </form></td >";
 163    */
 164      echo "<td align='center' colspan=2><form action='gestion.php' method='post'>
 165         <input type='submit'  value='".gettext("Modifier")."'>   
 166         <input type='hidden' name='id' value='$id'>       
 167         </form></td></tr>";
 168     }
 169  
 170    if ($etat =='R' ) {
 171   /* etat R (en cours de recup)  :
 172    - id_devoir est fige, 
 173    - pour le supprimer il faudra declarer la phase de recup terminee 
 174    - changer les autres parametres du devoir, sauf changer les documents
 175    */
 176      echo "<td align='center' width='25%' colspan=2>
 177       <form  action='gestion.php'  method='post'>
 178       <input type='submit'  value='".gettext("Modifier")."'>   
 179       <input type='hidden' name='id' value='$id'>        
 180       </form></td></tr>";     
 181    }
 182     if ($etat =='F' ) {
 183   /* etat F (phase de recuperation terminee), cf page recuperer
 184    - pas de changement de parametres du devoir 
 185    - suppression ?
 186    - archivage possible (signaler ou liaison avec envoi de corrige  )
 187    */
 188     echo "<td><form action='gerer.php' method='post'>
 189       <input type='button'  value=\"".gettext("Reprise du devoir")."\" onclick=\"if (confirm".gettext("('Permettre une nouvelle r&#233;cup&#233;ration du devoir ?')")." ) this.form.submit();\">   
 190       <input type='hidden' name='id' value='$id'><input type='hidden' name='id_devoir' value='$id_devoir'><input type='hidden' name='action' value='r'>      
 191       </form></td>";
 192  
 193   /*  echo "<td><form action='corriger.php' method='post'>
 194         <input type='submit'  value='Correction'>   
 195         <input type='hidden' name='id' value='$id'> </form></td> ";      
 196   */
 197      echo "<td ><form  action='gerer.php' method='post' >
 198         <input type='button'  value='".gettext("Archiver")."' onclick=\"if (confirm".gettext("('Confimez-vous cette d&#233;cision d\'archivage ?')")." ) this.form.submit();\">   
 199         <input type='hidden' name='id' value='$id'><input type='hidden' name='id_devoir' value='$id_devoir'><input type='hidden' name='action' value='a'>
 200         </form></td></tr>";    
 201    } 
 202  }
 203  echo "</table>"; 
 204  }
 205  
 206  // sinon affichage de la table (complete) des devoirs
 207  if ($nb_devoirs_arch > 0) {
 208  echo "<h4><FONT color='#ff0e7e'>".gettext("Devoirs archiv&#233;s")."</FONT></h4>";
 209  echo "<table width='100%' border=2>
 210    <tr><th>".gettext("nom devoir")."</th><th>".gettext("date distribution")."</th><th>".gettext("date retour")."</th><th>".gettext("Etat actuel")."</th><th align='center' width='25%' colspan=2>".gettext("actions")."</th></tr>";
 211  // <th>description</th><th>liste</th>
 212  
 213  for ($i=0;$i<$nb_devoirs_arch;$i++) {
 214    $ligne_arch=mysql_fetch_array($resultat_arch);
 215    list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib_dev,$date_retour_dev,$description_dev,$liste_dev,$liste_retard, $etat) = $ligne_arch; 
 216    // afficher les listes des eleves a la demande dans une fenetre
 217    echo "<tr><td><a href='devoir.php?id=$id' onClick=\"ouvrirFenetre(this.href); return false\">$id_devoir</a></td>";
 218    echo "<td>".affiche_date($date_distrib_dev)."</td>";
 219    echo "<td>".affiche_date($date_retour_dev)."</td>";
 220    echo "<td>$libelle_etat[$etat]</td>";
 221    if ($etat =='A' ) {  
 222   // suppression possible du repertoire du devoir  /home/prof/$login  
 223   
 224    echo "<td align='center' ><form action='gerer.php' method='post'>
 225       <input type='button'  value=\"".gettext("Reprise du devoir")."\" onclick=\"if (confirm".gettext("('Permettre une nouvelle r&#233;cup&#233;ration du devoir ?')")." ) this.form.submit();\">   
 226       <input type='hidden' name='id' value='$id'><input type='hidden' name='id_devoir' value='$id_devoir'><input type='hidden' name='action' value='r'>      
 227       </form></td>";
 228      
 229   /* echo "<td><form action='gerer.php' method='post'>";
 230    // <input type=checkbox name=sup_rep ><font size='-1'>avec le dossier ?</font>
 231    echo "<input type='button'  value='Supprimer' onclick=\"if (confirm('ATTENTION ! cette op&#233;ration va supprimer l'enregistrement du devoir. Confimez-vous cette d&#233;cision irr&#233;versible ?') ) this.form.submit();\">   
 232       <input type='hidden' name='id' value='$id'><input type='hidden' name='id_devoir' value='$id_devoir'><input type='hidden' name='action' value='s'>      
 233       </form></td></tr>"; 
 234    */    
 235    }
 236  }   
 237  echo "</table>";
 238  }
 239  
 240  // lien sur identifiant pour ouverture fenetre ou tout sera affiche sur le devoir
 241  // mettre boite de verif javascript AVANT validation
 242  
 243  include("pdp.inc.php");
 244  ?>
 245  


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