}
     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')
示例#4
0
 $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))
     {