gettext("archivé"),'R'=>gettext("récupération en cours"),'F'=>gettext("récupération terminée"),'D'=>gettext("juste distribué"));
// recuperer les parametres passes par POST
foreach ($_POST as $cle=>$val) {
$$cle = $val;
// echo "$$cle = $val
";
}
echo "
".gettext("Gestion des devoirs")." (".gettext("le ").affiche_date($now).")
";
// Suppression d'un devoir avant recup
if (isset($action) and $action=='s') {
// supprimer d'adord tout les dossiers du devoir
$req =" SELECT * FROM $table WHERE id='$id'";
$res=mysql_query($req);
$ligne=mysql_fetch_array($res);
list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib_dev,$date_retour_dev,$description_dev,$liste_distrib,$liste_retard, $etat) = $ligne;
$liste_distrib=preg_replace("/#$/","",$liste_distrib);
$tab_eleves= preg_split("/#/",$liste_distrib);
$nb_eleves=sizeof($tab_eleves);
// boucle sur tous les eleves pour suppression de leur dossier de devoir
echo gettext("Suppression du dossier du devoir")." $id_devoir ".gettext("pour les élèves :")."";
for ($p=0; $p < $nb_eleves; $p++) {
$uid_eleve=$tab_eleves[$p];
$param= params_eleve($uid_eleve);
$classe=$param['classe'];
$rep="/var/se3/Classes/$classe/$uid_eleve/$id_devoir";
$ch ="/usr/bin/sudo /usr/share/se3/scripts/supp_rep_dev.sh $rep" ;
$cr= exec($ch) ;
if ($cr) {
echo $im=($param['sexe']=="F"?"":
"");
echo $param["nom"]." - ".$param["classe"]."
";
}
else
echo " ---> échec de la suppression du dossier pour $uid_eleve
";
}
// enfin supprimer l'enregistrement
$req_sup="delete from $table where id='$id'";
mysql_query($req_sup);
echo "
".gettext("Le devoir")." $id_devoir ".gettext("a été définitivement supprimé")."
";
}
if (isset($action) and $action=='r') {
$req = "UPDATE $table SET etat='R' WHERE id='$id' ";
@mysql_query($req);
echo "".gettext("Le devoir")." $id_devoir ".gettext("est remis en état de \"récupération\"")."
";
}
if (isset($action) and $action=='a') {
$req_archiv = "UPDATE $table SET etat='A' WHERE id='$id' ";
@mysql_query($req_archiv);
echo "".gettext("Le devoir")." $id_devoir ".gettext("a bien été archivé")."
".gettext("Il est possible toutefois en cas de nécessité de reprendre une phase de \"récupération\"")."";
}
// recherche de tous les devoirs du prof
$req =" SELECT * FROM $table WHERE id_prof='$login' AND etat <> 'A' order by etat, date_distrib ";
$resultat=mysql_query($req);
$nb_devoirs=mysql_num_rows($resultat);
$req_arch =" SELECT * FROM $table WHERE id_prof='$login' AND etat = 'A' order by date_distrib,date_recup ";
$resultat_arch=mysql_query($req_arch);
$nb_devoirs_arch=mysql_num_rows($resultat_arch);
if ($nb_devoirs +$nb_devoirs_arch ==0) {
die ("$login ".gettext(" n'a distribué aucun devoir"));
}
if ($nb_devoirs > 0) {
echo "".gettext("Devoirs en cours de traitement")."
";
echo "
".gettext("identifié par")." | ".gettext("distribué le")." | ".gettext("à rendre le")." | ".gettext("sous le nom")." | ".gettext("Etat actuel")." | ".gettext("actions")." |
";
for ($i=0;$i<$nb_devoirs;$i++) {
$ligne=mysql_fetch_array($resultat);
list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib_dev,$date_retour_dev,$description_dev,$liste_dev,$liste_retard, $etat) = $ligne;
// afficher les listes des eleves a la demande dans une fenetre
echo "$id_devoir | ";
echo "".affiche_date($date_distrib_dev)." | ";
if ($date_retour_dev <= $now )
echo "".affiche_date($date_retour_dev)." | ";
else
echo "".affiche_date($date_retour_dev)." | ";
echo "$nom_devoir | ";
echo "$libelle_etat[$etat] | ";
if ($etat =='D' ) {
/* etat D (tout juste distribue) on peut avant 1ere recup :
- changer tous les parametres du devoir, sauf changer les documents
- supprimer totalement (y compris les fichiers distribues)
*/
/////// Suspension de la possibilite de supprimer definitivement le devoir //////////
/* echo " | ";
*/
echo " |
";
}
if ($etat =='R' ) {
/* etat R (en cours de recup) :
- id_devoir est fige,
- pour le supprimer il faudra declarer la phase de recup terminee
- changer les autres parametres du devoir, sauf changer les documents
*/
echo "
| ";
}
if ($etat =='F' ) {
/* etat F (phase de recuperation terminee), cf page recuperer
- pas de changement de parametres du devoir
- suppression ?
- archivage possible (signaler ou liaison avec envoi de corrige )
*/
echo " | ";
/* echo " | ";
*/
echo " | ";
}
}
echo "
";
}
// sinon affichage de la table (complete) des devoirs
if ($nb_devoirs_arch > 0) {
echo "".gettext("Devoirs archivés")."
";
echo "
".gettext("nom devoir")." | ".gettext("date distribution")." | ".gettext("date retour")." | ".gettext("Etat actuel")." | ".gettext("actions")." |
";
// description | liste |
for ($i=0;$i<$nb_devoirs_arch;$i++) {
$ligne_arch=mysql_fetch_array($resultat_arch);
list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib_dev,$date_retour_dev,$description_dev,$liste_dev,$liste_retard, $etat) = $ligne_arch;
// afficher les listes des eleves a la demande dans une fenetre
echo "$id_devoir | ";
echo "".affiche_date($date_distrib_dev)." | ";
echo "".affiche_date($date_retour_dev)." | ";
echo "$libelle_etat[$etat] | ";
if ($etat =='A' ) {
// suppression possible du repertoire du devoir /home/prof/$login
echo " | ";
/* echo " |
";
*/
}
}
echo "
";
}
// lien sur identifiant pour ouverture fenetre ou tout sera affiche sur le devoir
// mettre boite de verif javascript AVANT validation
include("pdp.inc.php");
?>