// 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 $doc_sujet = ''; $doc_corrige = ''; $devoir_id = DB_STRUCTURE_PROFESSEUR::DB_ajouter_devoir( $_SESSION['USER_ID'] , $groupe_id , $date_mysql , $description , $date_visible_mysql , $date_autoeval_mysql , $doc_sujet , $doc_corrige , $eleves_ordre='alpha' ); // Affecter tous les élèves choisis (dans le cas d'une évaluation sur une liste d'élèves sélectionnés) if($qui=='select') { DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_eleve($devoir_id,$groupe_id,$tab_user_id,'creer'); } // Affecter tous les profs choisis if($nb_profs) { DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_prof( $devoir_id , $tab_profs , 'creer' ); } // Insérer les enregistrements des items de l'évaluation DB_STRUCTURE_PROFESSEUR::DB_modifier_liaison_devoir_item($devoir_id,$tab_item_id,'creer'); // 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')
{ // 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)) { // Notifications (rendues visibles ultérieurement) ; le mode discret ne d'applique volontairement pas ici car les modifications sont chirurgicales $listing_profs = implode(',',array_keys($tab_retour)); $listing_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_listing_id( $abonnement_ref_partage , $listing_profs ); if($listing_abonnes) { $notification_contenu = afficher_identite_initiale($_SESSION['USER_NOM'],FALSE,$_SESSION['USER_PRENOM'],TRUE,$_SESSION['USER_GENRE']).' vous partage son évaluation "'.$description.'" avec le droit '; $tab_texte_etat = array( 'voir'=>'de la visualiser / dupliquer.'."\r\n\r\n" , 'saisir'=>'d\'en co-saisir les notes.'."\r\n\r\n" , 'modifier'=>'d\'en modifier les paramètres.'."\r\n\r\n" ); $notification_lien = "\r\n".'Pour y accéder :'."\r\n".Sesamail::adresse_lien_profond('page=evaluation_gestion§ion='.$type); $tab_abonnes = explode(',',$listing_abonnes); foreach($tab_abonnes as $abonne_id) { if($tab_retour[$abonne_id]=='insert') {