[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

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

   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&#233;cup&#233;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&#233;cup&#233;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&#233;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 &#233;l&#232;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'&#234;tre remis par").($nb_eleves_remis==1?gettext("l'&#233;l&#232;ve :"):gettext("les")." $nb_eleves_remis ".gettext(" &#233;l&#232;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 &#233;l&#232;ves ont maintenant remis leur devoir")."</h4>".gettext("
 180     Il est possible :<br>
 181   -  d'envoyer un corrig&#233; (\"Envoi de corrig&#233;s\")<br>
 182   -  de l'archiver ou de revenir &#224; une phase de r&#233;cup&#233;ration (\"Gestion des devoirs\")<br>");  
 183  } 
 184  else {
 185    $etat="R"; 
 186    if ($now <= $date_retour) {
 187      echo "<h4>".gettext("Il doit &#234;tre remis, au plus tard le ").affiche_date($date_retour).",".gettext(" par")." </h4>";
 188    } else {
 189      echo "<h4>".($nb_eleves_retard==1?gettext("El&#232;ve")." <font color='red'>".gettext("en retard")."</font> :":gettext("Liste des")." $nb_eleves_retard ".gettext("&#233;l&#232;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  


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