[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /** 5 6 * Permet de recuperer les devoirs 7 * @Projet LCS-SE3 8 9 * @Version $Id: recuperation.php 8601 2015-03-16 20:17:16Z plouf $ 10 * @Auteurs Jean Gourdin 11 12 * @Licence Distribue selon les termes de la licence GPL 13 14 */ 15 16 /** 17 18 * file: recuperer.php 19 * @Repertoire: echanges/ 20 */ 21 22 require_once ("lang.inc.php"); 23 bindtextdomain('se3-echange',"/var/www/se3/locale"); 24 textdomain ('se3-echange'); 25 26 ?> 27 28 <html> 29 <head> 30 <title><?php echo gettext("Récupération de devoirs"); ?></title> 31 <link href="style/style.css" type="text/css" rel="StyleSheet"> 32 </head> 33 34 <?php 35 36 37 38 require("entete.inc.php"); 39 require ("ldap.inc.php"); 40 require ("fonc_outils.inc.php"); 41 42 //aide 43 $_SESSION["pageaide"]="L%27interface_prof#Ressources_et_partages"; 44 45 46 // recuperer les parametres passes par POST 47 foreach ($_POST as $cle=>$val) { 48 $$cle = $val; 49 } 50 51 52 $login=isauth(); 53 $now =date("Y-m-d"); 54 $table="devoirs"; 55 56 // requete pour avoir le detail de ce devoir $id 57 $req = "SELECT * FROM $table WHERE id = '$id'"; 58 $resultat = mysql_query($req); 59 $ligne= mysql_fetch_array($resultat); 60 list($id,$id_prof,$id_devoir,$nom_devoir,$date_distrib,$date_retour,$description,$liste_distrib, $liste_retard) = $ligne; 61 62 // liste complete des eleves beneficiaires du devoir 63 $liste_distrib=preg_replace("/\|$/","",$liste_distrib); 64 $tab_distrib = liste_tab($liste_distrib); // tableau associatif : nom_classe --> uid1#uid2#.. 65 66 $tab_eleves_retard = array(); 67 $tab_eleves_remis = array(); 68 $tab_retard = array(); // tableau associatif : nom_classe --> uid1#uid2#.. 69 $nb_eleves_remis=0; 70 $nb_eleves_retard=0; 71 72 echo "<body > 73 <h1>".gettext("Récupération du devoir")." <em>$id_devoir</em> <font size=-2>(<em>".gettext("par")." $login, ".gettext("le ").affiche_date($now)."</em>)</font></h1> 74 <hr>"; 75 76 /* Si le rep de reception n'existe pas dans le home prof, le creer au nom $id_devoir 77 ***********************************************************************************/ 78 $rep_devoir= "$id_devoir"; 79 $ch ="/usr/bin/sudo /usr/share/se3/scripts/creer_rep_dev.sh $login $rep_devoir" ; 80 $cr= exec($ch) ; 81 if ($cr) 82 echo "<strong><font size='-1'>Création du dossier K:/Devoirs/$rep_devoir</font></strong>"; 83 84 /* 1er cas : $liste_retard est vide : 85 * premiere tentative de recup, boucle sur TOUS les $nb_eleves 86 *************************************************************/ 87 if ($liste_retard == "") { 88 // boucle sur toutes les classes/groupes 89 foreach ($tab_distrib as $classe => $liste_distrib_classe) { 90 $liste_distrib_classe=preg_replace("/#$/","",$liste_distrib_classe); 91 $tab_eleves_classe=preg_split("/#/",$liste_distrib_classe); 92 $nb_eleves_classe=count($tab_eleves_classe); 93 $liste_classe_retard =""; // liste eleves en retard par classe 94 95 // boucle sur tous les eleves de la classe/groupe 96 for ($p=0; $p < $nb_eleves_classe; $p++) { 97 $uid_eleve = $tab_eleves_classe[$p]; 98 $cla=classe_eleve($uid_eleve); // $cla est la VRAIE classe de l'eleve (# $classe si $classe designe un groupe !) 99 // $param= params_eleve($uid_eleve); 100 101 $ch ="/usr/bin/sudo /usr/share/se3/scripts/copie_dev.sh $login $id_devoir $nom_devoir ".inverse_login($uid_eleve)." $cla "; 102 $cr=exec($ch); // echo "$ch --> $cr<br>"; 103 if ($cr) { 104 $tab_eleves_remis[$classe][]="$uid_eleve"; 105 $nb_eleves_remis++; 106 } else { 107 $liste_classe_retard .= "$uid_eleve#"; 108 $tab_eleves_retard[$classe][] = "$uid_eleve"; 109 $nb_eleves_retard++; 110 } 111 112 } // fin boucle eleves / classe 113 //echo "liste retard = $liste_classe_retard<br>"; 114 $tab_retard[$classe]=$liste_classe_retard; 115 } 116 } 117 /* fin 1ere fois, debut des recup d'eleves en retard 118 ****************************************************/ 119 else { 120 // traiter la liste des eleves en retard 121 $liste_retard = preg_replace("/\|$/","",$liste_retard); 122 $tab_retard = liste_tab($liste_retard); // tableau associatif : nom_classe --> uid1#uid2#.. 123 124 foreach ($tab_retard as $classe => $liste_classe) { 125 $liste_classe=preg_replace("/#$/","",$liste_classe); 126 $tab_eleves_classe=preg_split("/#/",$liste_classe); 127 $nb_eleves_classe=count($tab_eleves_classe); 128 $liste_classe_retard =""; // liste eleves en retard par classe 129 130 if ($nb_eleves_classe == 0) continue; // continue ! il n'y a rien a recuperer dans ce groupe ! 131 132 // boucle sur la liste des eleves en retard de cette classe/groupe 133 for ($p=0; $p < $nb_eleves_classe; $p++) { 134 $uid_eleve = $tab_eleves_classe[$p]; 135 $cla=classe_eleve($uid_eleve); // $cla est la VRAIE classe de l'eleve (# $classe si $classe designe un groupe !) 136 // $param= params_eleve($uid_eleve); 137 138 $ch ="/usr/bin/sudo /usr/share/se3/scripts/copie_dev.sh $login $id_devoir $nom_devoir ".inverse_login($uid_eleve)." $cla "; 139 $cr=exec($ch); // echo "$ch --> $cr<br>"; 140 if ($cr) { 141 $tab_eleves_remis[$classe][]="$uid_eleve"; 142 $nb_eleves_remis++; 143 } else { 144 $liste_classe_retard .= "$uid_eleve#"; 145 $tab_eleves_retard[$classe][] = "$uid_eleve"; 146 $nb_eleves_retard++; 147 } 148 149 } // fin boucle eleves / classe 150 $tab_retard[$classe]=$liste_classe_retard; 151 // echo "$classe --> $liste_classe_retard<br>"; 152 } 153 } 154 155 /* Compte-rendu global 156 *********************/ 157 if ($nb_eleves_remis==0) 158 echo "<h4>".gettext("Aucun élève nouveau n'a remis le devoir")." <em>$id_devoir</em></h4>"; 159 else { 160 echo "<h4>".gettext("Le devoir")." <em>$id_devoir</em> ".gettext("vient d'être remis par").($nb_eleves_remis==1?gettext("l'élève :"):gettext("les")." $nb_eleves_remis ".gettext(" élèves :"))."</h4>"; 161 162 foreach ($tab_eleves_remis as $classe => $tab_eleves) { 163 if (preg_match("/^Classe_/", $classe)) 164 echo gettext("Classe")." <b>".$classe."</b><br>"; 165 else 166 echo gettext("Groupe")." <b>".$classe."</b><br>"; 167 168 for ($p=0; $p < count($tab_eleves); $p++) { 169 $param= params_eleve($tab_eleves[$p]); 170 echo ($param["sexe"]=="F"?"<img src=\"../annu/images/gender_girl.gif\" width=14 height=14 hspace=3 border=0>": 171 "<img src=\"../annu/images/gender_boy.gif\" width=14 height=14 hspace=3 border=0>"); 172 echo $param["nom"]."<br>"; 173 } 174 } 175 } 176 177 if ($nb_eleves_retard==0) { 178 $etat="F"; 179 echo "<h4>".gettext("Tous les élèves ont maintenant remis leur devoir")."</h4>".gettext(" 180 Il est possible :<br> 181 - d'envoyer un corrigé (\"Envoi de corrigés\")<br> 182 - de l'archiver ou de revenir à une phase de récupération (\"Gestion des devoirs\")<br>"); 183 } 184 else { 185 $etat="R"; 186 if ($now <= $date_retour) { 187 echo "<h4>".gettext("Il doit être remis, au plus tard le ").affiche_date($date_retour).",".gettext(" par")." </h4>"; 188 } else { 189 echo "<h4>".($nb_eleves_retard==1?gettext("Elève")." <font color='red'>".gettext("en retard")."</font> :":gettext("Liste des")." $nb_eleves_retard ".gettext("élèves")." <font color='red'>".gettext("en retard")."</font> :")."</h4>"; 190 } 191 192 foreach ($tab_eleves_retard as $classe => $tab_eleves) { 193 if (preg_match("/^Classe_/", $classe)) 194 echo gettext("Classe")."<b>".$classe."</b><br>"; 195 else 196 echo gettext("Groupe")." <b>".$classe."</b><br>"; 197 for ($p=0; $p < count($tab_eleves); $p++) { 198 $param= params_eleve($tab_eleves[$p]); 199 echo ($param["sexe"]=="F"?"<img src=\"../annu/images/gender_girl.gif\" width=14 height=14 hspace=3 border=0>": 200 "<img src=\"../annu/images/gender_boy.gif\" width=14 height=14 hspace=3 border=0>"); 201 echo $param["nom"]."<br>"; 202 } 203 } 204 } 205 // conclusion 206 $liste_retard=tab_liste($tab_retard); // transformation du tableau (classe, eleves en retard) en liste a enregistrer 207 // Dans tous les cas, mettre a jour le champ liste_retard et les indicateurs de recup 208 $req_maj = "UPDATE $table SET liste_retard='$liste_retard', etat='$etat' WHERE id='$id' "; 209 @mysql_query($req_maj); 210 211 include("pdp.inc.php"); 212 ?> 213
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 |