[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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é"),'R'=>gettext("récupération en cours"),'F'=>gettext("récupération terminée"),'D'=>gettext("juste distribué")); 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 élè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 " ---> é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 été définitivement supprimé")." </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 état de \"récupé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 été archivé")."<br> 117 <font size='-1'>".gettext("Il est possible toutefois en cas de nécessité de reprendre une phase de \"récupé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é 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é par")."</th><th>".gettext("distribué le")."</th><th>".gettext("à 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écision irré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écupé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é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é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écupé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ération va supprimer l'enregistrement du devoir. Confimez-vous cette décision irré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
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 |