$presence_item = TRUE; } if ($DB_ROW['eleve_id'] == $eleve_id) { $presence_eleve = TRUE; } if ($DB_ROW['item_id'] == $item_id && $DB_ROW['eleve_id'] == $eleve_id) { $presence_saisie = $DB_ROW['saisie_note']; break; // Pas besoin de tester davantage, on sort du foreach() } } // On enregistre les modifications. $info = $description . ' (' . afficher_identite_initiale($_SESSION['USER_NOM'], FALSE, $_SESSION['USER_PRENOM'], TRUE, $_SESSION['USER_GENRE']) . ')'; if (!$presence_item) { // 'ajouter' plutôt que 'creer' car en cas d'ajout puis de suppression d'une note à un élève, un item peut se retrouver déjà affecté à un devoir sans qu'il n'y ait de note trouvée DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id, array($item_id), 'ajouter'); } if (!$presence_eleve) { // 'ajouter' plutôt que 'creer' car en cas d'ajout puis de suppression d'une note à un élève, un élève peut se retrouver déjà affecté à un devoir sans qu'il n'y ait de note trouvée DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_eleve($devoir_id, $groupe_id, array($eleve_id), 'ajouter'); } $notif_eleve = FALSE; if ($presence_saisie == FALSE) { if ($note_val != 'X') { DB_STRUCTURE_PROFESSEUR::DB_ajouter_saisie($_SESSION['USER_ID'], $eleve_id, $devoir_id, $item_id, TODAY_MYSQL, $note_val, $info, TODAY_MYSQL); $notif_eleve = TRUE; } } else { if ($note_val == 'X') { DB_STRUCTURE_PROFESSEUR::DB_supprimer_saisie($eleve_id, $devoir_id, $item_id); $notif_eleve = TRUE;
exit('ok'); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Compléter une évaluation existante // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - elseif( ($action=='completer') && (isset($tab_types[$groupe_type])) && in_array($qui,$tab_qui) && $devoir_id && $devoir_groupe_id && in_array($suite,$tab_suite) && $nb_demandes && $nb_users && $nb_items && $date && $date_visible ) { // Dans le cas d'une évaluation sur une liste d'élèves sélectionnés if($qui=='select') { // Il faut ajouter tous les élèves choisis DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_user($devoir_id,$devoir_groupe_id,$tab_user_id,'ajouter'); // ($devoir_groupe_id et non $groupe_id qui correspond à la classe d'origine des élèves...) } // Maintenant on peut modifier les items de l'évaluation DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id,$tab_item_id,'ajouter'); // Insérer les scores 'REQ' pour indiquer au prof les demandes dans le tableau de saisie $date_mysql = convert_date_french_to_mysql($date); $date_visible_mysql = convert_date_french_to_mysql($date_visible); $info = 'Demande en attente ('.$_SESSION['USER_NOM'].' '.$_SESSION['USER_PRENOM']{0}.'.)'; foreach($tab_user_item as $key) { list($eleve_id,$item_id) = explode('x',$key); DB_STRUCTURE_PROFESSEUR::DB_ajouter_saisie($_SESSION['USER_ID'],$eleve_id,$devoir_id,$item_id,$date_mysql,'REQ',$info,$date_visible_mysql); } // Pour terminer, on change le statut des demandes ou on les supprime $listing_demande_id = implode(',',$tab_demande_id); if($suite=='changer') { DB_STRUCTURE_PROFESSEUR::DB_modifier_statut_demandes($listing_demande_id,'prof'); }
} } // sacoche_devoir (maj des paramètres date & info) DB_STRUCTURE_PROFESSEUR::DB_modifier_devoir($devoir_id,$_SESSION['USER_ID'],$date_mysql,$description,$date_visible_mysql,$date_autoeval_mysql,$doc_sujet,$doc_corrige,$tab_profs); if($type=='selection') { // sacoche_jointure_user_groupe + sacoche_saisie pour les users supprimés DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_user($devoir_id,$groupe_id,$tab_eleves,'substituer'); } elseif($type=='groupe') { // sacoche_devoir (maj groupe_id) + sacoche_saisie pour les users supprimés // DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_groupe($devoir_id,$groupe_id); // RETIRÉ APRÈS REFLEXION : IL N'Y A PAS DE RAISON DE CARRÉMENT CHANGER LE GROUPE D'UNE ÉVALUATION => AU PIRE ON LA DUPLIQUE POUR UN AUTRE GROUPE PUIS ON LA SUPPRIME. } // sacoche_jointure_devoir_item + sacoche_saisie pour les items supprimés DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id,$tab_items,'substituer'); // ************************ dans sacoche_saisie faut-il aussi virer certains scores élèves en cas de changement de groupe ... ??? // Afficher le retour $date_visible = ($date==$date_visible) ? 'identique' : $date_visible ; $date_autoeval = ($date_autoeval=='00/00/0000') ? 'sans objet' : $date_autoeval ; $ref = $devoir_id.'_'.strtoupper($groupe_type{0}).$groupe_id; $cs = ($nb_items>1) ? 's' : ''; $us = ($nb_eleves>1) ? 's' : ''; $profs_nombre = count($tab_profs) ? count($tab_profs).' profs' : 'moi seul' ; $image_sujet = ($doc_sujet) ? '<a href="'.$dossier_devoir.$doc_sujet.'" target="_blank"><img alt="sujet" src="./_img/document/sujet_oui.png" title="Sujet disponible." /></a>' : '<img alt="sujet" src="./_img/document/sujet_non.png" />' ; $image_corrige = ($doc_corrige) ? '<a href="'.$dossier_devoir.$doc_corrige.'" target="_blank"><img alt="corrigé" src="./_img/document/corrige_oui.png" title="Corrigé disponible." /></a>' : '<img alt="corrigé" src="./_img/document/corrige_non.png" />' ; echo'<td><i>'.$date_mysql.'</i>'.$date.'</td>'; echo'<td>'.$date_visible.'</td>'; echo'<td>'.$date_autoeval.'</td>'; echo ($type=='groupe') ? '<td>{{GROUPE_NOM}}</td>' : '<td>'.$nb_eleves.' élève'.$us.'</td>' ; echo'<td>'.html($description).'</td>';