// 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')
Пример #2
0
 {
   // 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&section='.$type);
         $tab_abonnes = explode(',',$listing_abonnes);
         foreach($tab_abonnes as $abonne_id)
         {
           if($tab_retour[$abonne_id]=='insert')
           {