} 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; } elseif ($presence_saisie != $note_val) { DB_STRUCTURE_PROFESSEUR::DB_modifier_saisie($_SESSION['USER_ID'], $eleve_id, $devoir_id, $item_id, $note_val, $info); $notif_eleve = TRUE; }
} } // Retour $groupe_type_initiale = $qui == 'select' ? 'E' : $groupe_type[0]; exit('ok' . '¤' . $devoir_id . '¤' . $groupe_type_initiale . '¤' . $groupe_id); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Compléter une évaluation existante // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'completer' && in_array($qui, $tab_qui) && ($qui == 'select' || isset($tab_types[$groupe_type])) && $devoir_id && $devoir_groupe_id && in_array($suite, $tab_suite) && $nb_demandes && $nb_users && $nb_items && $date && $date_visible && $description) { $date_mysql = convert_date_french_to_mysql($date); $date_visible_mysql = convert_date_french_to_mysql($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_eleve($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 $tab_item_for_user = array(); $info = 'À saisir (' . afficher_identite_initiale($_SESSION['USER_NOM'], FALSE, $_SESSION['USER_PRENOM'], TRUE) . ')'; 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); $tab_item_for_user[$eleve_id][] = $item_id; } // Pour terminer, on change le statut des demandes ou on les supprime $listing_demande_id = implode(',', $tab_demande_id); if ($suite == 'changer') {
exit('ok'.'¤'.$devoir_id.'¤'.$groupe_type_initiale.'¤'.$groupe_id); } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Compléter une évaluation existante // //////////////////////////////////////////////////////////////////////////////////////////////////// if( ($action=='completer') && in_array($qui,$tab_qui) && ( ($qui=='select') || (isset($tab_types[$groupe_type])) ) && $devoir_id && $devoir_groupe_id && in_array($suite,$tab_suite) && $nb_demandes && $nb_users && $nb_items && $date && $date_visible && $description ) { $date_mysql = convert_date_french_to_mysql($date); $date_visible_mysql = convert_date_french_to_mysql($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_eleve($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 $tab_item_for_user = array(); $info = 'À saisir ('.afficher_identite_initiale($_SESSION['USER_NOM'],FALSE,$_SESSION['USER_PRENOM'],TRUE).')'; 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); $tab_item_for_user[$eleve_id][] = $item_id; } // Pour terminer, on change le statut des demandes ou on les supprime $listing_demande_id = implode(',',$tab_demande_id); if($suite=='changer')
$proprietaire_archive = afficher_identite_initiale($proprietaire_nom,FALSE,$proprietaire_prenom,TRUE,$proprietaire_genre); // Ordre des élèves if($groupe_type=='classe') { $eleves_ordre = 'alpha'; } else { Form::save_choix('evaluation_gestion'); } // sacoche_devoir (maj des paramètres date & info) DB_STRUCTURE_PROFESSEUR::DB_modifier_devoir( $devoir_id , $proprio_id , $date_mysql , $description , $proprietaire_archive , $date_visible_mysql , $date_autoeval_mysql , $eleves_ordre ); if($type=='selection') { // sacoche_jointure_user_groupe + sacoche_saisie pour les users supprimés DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_eleve( $devoir_id , $groupe_id , $tab_eleves , 'substituer' ); } elseif($type=='groupe') { // sacoche_devoir (maj groupe_id) + sacoche_saisie pour TOUS les users ! DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_groupe( $devoir_id , $groupe_id ); } // sacoche_jointure_devoir_prof ; à restreindre en cas de modification d'une évaluation dont on n'est pas le propriétaire if($proprio_id==$_SESSION['USER_ID']) { if($nb_profs) { // Mofifier les affectations des profs choisis $tab_retour = DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_prof( $devoir_id , $tab_profs , 'substituer' ); if(!empty($tab_retour)) {