$texte_coef = '['.$DB_ROW['item_coef'].'] '; $tab_comp_id[$DB_ROW['item_id']] = array($item_ref,$texte_socle.$texte_coef.$DB_ROW['item_nom']); } // résultats vierges foreach($tab_user_id as $user_id=>$val_user) { $tab_user_comm[$user_id] = NULL; foreach($tab_comp_id as $comp_id=>$val_comp) { $tab_result[$comp_id][$user_id] = ''; } } // compléter si demandé avec les résultats et/ou les demandes d'évaluations if($with_result || $only_req) { $DB_TAB = DB_STRUCTURE_PROFESSEUR::DB_lister_devoir_saisies( $devoir_id , $only_req ); foreach($DB_TAB as $DB_ROW) { // Test pour éviter les pbs des élèves changés de groupes ou des items modifiés en cours de route if(isset($tab_result[$DB_ROW['item_id']][$DB_ROW['eleve_id']])) { $valeur = ($with_result) ? $DB_ROW['saisie_note'] : ( ($DB_ROW['saisie_note']) ? 'REQ' : '' ) ; if($valeur) { $tab_result[$DB_ROW['item_id']][$DB_ROW['eleve_id']] = $valeur ; $tab_user_nb_req[$DB_ROW['eleve_id']]++; } } } } // liste des commentaires audio ou texte, si demandé avec les résultats
$devoir_id = $DB_ROW['devoir_id']; $groupe_id = $DB_ROW['groupe_id']; } } // Si pas de devoir, il faut l'ajouter if (!$presence_devoir) { // Commencer par créer un nouveau groupe de type "eval", utilisé uniquement pour cette évaluation (c'est transparent pour le professeur) ; y associe automatiquement le prof, en responsable du groupe $groupe_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_groupe_par_prof('eval', '', 0); // Insèrer l'enregistrement de l'évaluation $devoir_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir($_SESSION['USER_ID'], $groupe_id, TODAY_MYSQL, $description, TODAY_MYSQL, NULL, '', '', 'alpha'); } // Maintenant on recupère le contenu de la base déjà enregistré pour le comparer avec la saisie envoyée. $presence_item = FALSE; $presence_eleve = FALSE; $presence_saisie = FALSE; $DB_TAB = $presence_devoir ? DB_STRUCTURE_PROFESSEUR::DB_lister_devoir_saisies($devoir_id, TRUE) : array(); foreach ($DB_TAB as $DB_ROW) { if ($DB_ROW['item_id'] == $item_id) { $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']) . ')';
$groupe_id = $DB_ROW['groupe_id']; } } // Si pas de devoir, il faut l'ajouter if(!$presence_devoir) { // Commencer par créer un nouveau groupe de type "eval", utilisé uniquement pour cette évaluation (c'est transparent pour le professeur) ; y associe automatiquement le prof, en responsable du groupe $groupe_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_groupe_par_prof( 'eval' /*groupe_type*/ , '' /*groupe_nom*/ , 0 /*niveau_id*/ ); // Insèrer l'enregistrement de l'évaluation $devoir_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir( $_SESSION['USER_ID'] , $groupe_id , TODAY_MYSQL , $description , TODAY_MYSQL /*date_visible_mysql*/ ,NULL /*date_autoeval_mysql*/ , '' /*doc_sujet*/ , '' /*doc_corrige*/ , 'alpha' /*eleves_ordre*/ ); } // Maintenant on recupère le contenu de la base déjà enregistré pour le comparer avec la saisie envoyée. $presence_item = FALSE; $presence_eleve = FALSE; $presence_saisie = FALSE; $DB_TAB = ($presence_devoir) ? DB_STRUCTURE_PROFESSEUR::DB_lister_devoir_saisies( $devoir_id , TRUE /*with_REQ*/ ) : array() ; foreach($DB_TAB as $DB_ROW) { if($DB_ROW['item_id']==$item_id) { $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() }