Exemplo n.º 1
0
 // Notifications (rendues visibles ultérieurement parce que plus simple comme cela)
 if(!empty($tab_notif))
 {
   $abonnement_ref = 'bilan_officiel_visible';
   $is_acces_parent = in_array( 'TUT' , explode(',',$_SESSION['DROIT_OFFICIEL_'.$tab_types[$BILAN_TYPE]['droit'].'_VOIR_ARCHIVE']) ) ? TRUE : FALSE ;
   $is_acces_enfant = in_array( 'ELV' , explode(',',$_SESSION['DROIT_OFFICIEL_'.$tab_types[$BILAN_TYPE]['droit'].'_VOIR_ARCHIVE']) ) ? TRUE : FALSE ;
   if( $is_acces_parent || $is_acces_enfant )
   {
     $listing_eleves = implode(',',$tab_notif);
     $listing_parents = DB_STRUCTURE_NOTIFICATION::DB_lister_parents_listing_id($listing_eleves);
     $listing_users = ($listing_parents) ? $listing_eleves.','.$listing_parents : $listing_eleves ;
     $listing_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_listing_id( $abonnement_ref , $listing_users );
     if($listing_abonnes)
     {
       $notification_contenu = 'Bilan officiel disponible : ['.$classe_nom.'] ['.$tab_types[$BILAN_TYPE]['titre'].'] ['.$periode_nom.'].'."\r\n\r\n";
       $notification_contenu.= 'Y accéder :'."\r\n".Sesamail::adresse_lien_profond('page=officiel_voir_archive');
       $tab_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_detail_abonnes_envois( $listing_abonnes , $listing_eleves , $listing_parents );
       foreach($tab_abonnes as $abonne_id => $tab_abonne)
       {
         foreach($tab_abonne as $eleve_id => $notification_intro_eleve)
         {
           if( ( $is_acces_parent && $notification_intro_eleve ) || ( $is_acces_enfant && !$notification_intro_eleve ) )
           {
             DB_STRUCTURE_NOTIFICATION::DB_ajouter_log_attente( $abonne_id , $abonnement_ref , 0 , NULL , $notification_contenu );
           }
         }
       }
     }
   }
 }
 // Retour
Exemplo n.º 2
0
   else
   {
     DB_STRUCTURE_COMMENTAIRE::DB_supprimer_devoir_commentaire( $devoir_id , $eleve_id );
     $presence = FALSE;
   }
 }
 // Notifications (rendues visibles ultérieurement) ; le mode discret ne d'applique volontairement pas ici car les modifications sont chirurgicales
 $listing_eleves = (string)$eleve_id;
 $listing_parents = DB_STRUCTURE_NOTIFICATION::DB_lister_parents_listing_id($listing_eleves);
 $listing_users = ($listing_parents) ? $listing_eleves.','.$listing_parents : $listing_eleves ;
 $listing_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_listing_id( $abonnement_ref_saisie , $listing_users );
 if($listing_abonnes)
 {
   $notification_date = ( TODAY_MYSQL < $date_visible_mysql ) ? $date_visible_mysql : NULL ;
   $notification_contenu = 'Saisies pour l\'évaluation "'.$description.'" du '.$date_fr.' enregistrées par '.afficher_identite_initiale($_SESSION['USER_NOM'],FALSE,$_SESSION['USER_PRENOM'],TRUE,$_SESSION['USER_GENRE']).'.'."\r\n\r\n";
   $notification_lien = 'Voir le détail :'."\r\n".Sesamail::adresse_lien_profond('page=evaluation_voir&devoir_id='.$devoir_id.'&eleve_id='.$eleve_id);
   $tab_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_detail_abonnes_envois( $listing_abonnes , $listing_eleves , $listing_parents );
   foreach($tab_abonnes as $abonne_id => $tab_abonne)
   {
     foreach($tab_abonne as $eleve_id => $notification_intro_eleve)
     {
       if($presence)
       {
         DB_STRUCTURE_NOTIFICATION::DB_modifier_log_attente( $abonne_id , $abonnement_ref_saisie , $devoir_id , $notification_date , $notification_intro_eleve.$notification_contenu.$notification_lien , 'remplacer' );
       }
       else
       {
         DB_STRUCTURE_NOTIFICATION::DB_supprimer_log_attente( $abonnement_ref_saisie , $devoir_id , $abonne_id );
       }
     }
   }
            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;
        }
    }
    // Notifications (rendues visibles ultérieurement) ; le mode discret ne d'applique volontairement pas ici car les modifications sont chirurgicales
    if ($notif_eleve) {
        $abonnement_ref = 'devoir_saisie';
        $listing_eleves = (string) $eleve_id;
        $listing_parents = DB_STRUCTURE_NOTIFICATION::DB_lister_parents_listing_id($listing_eleves);
        $listing_users = $listing_parents ? $listing_eleves . ',' . $listing_parents : $listing_eleves;
        $listing_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_listing_id($abonnement_ref, $listing_users);
        if ($listing_abonnes) {
            $adresse_lien_profond = Sesamail::adresse_lien_profond('page=evaluation_voir&devoir_id=' . $devoir_id . '&eleve_id=');
            $notification_contenu = 'Saisie "à la volée" enregistrée par ' . afficher_identite_initiale($_SESSION['USER_NOM'], FALSE, $_SESSION['USER_PRENOM'], TRUE, $_SESSION['USER_GENRE']) . '.' . "\r\n\r\n";
            $tab_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_detail_abonnes_envois($listing_abonnes, $listing_eleves, $listing_parents);
            foreach ($tab_abonnes as $abonne_id => $tab_abonne) {
                foreach ($tab_abonne as $eleve_id => $notification_intro_eleve) {
                    $notification_lien = 'Voir le détail :' . "\r\n" . $adresse_lien_profond . $eleve_id;
                    DB_STRUCTURE_NOTIFICATION::DB_modifier_log_attente($abonne_id, $abonnement_ref, $devoir_id, NULL, $notification_intro_eleve . $notification_contenu . $notification_lien, 'remplacer');
                }
            }
        }
    }
    // Afficher le retour
    exit_json(TRUE, array('devoir_id' => $devoir_id, 'groupe_id' => $groupe_id));
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// On ne devrait pas en arriver là...
Exemplo n.º 4
0
 /**
  * Renvoie un texte comportant divers éléments pour la fin du courriel.
  * 
  * @param array   $tab_elements   peut contenir les valeurs 'excuses_derangement' , 'info_connexion' , 'no_reply' ,  'notif_individuelle' , 'signature'
  * @param string  $courriel       facultatif, seulement requis pour 'excuses_derangement' & 'notif_individuelle' 
  * @return string
  */
 public static function texte_pied_courriel($tab_elements, $courriel = NULL)
 {
     $texte = '';
     // texte s'excusant en cas de réception d'un courriel non sollicité
     if (in_array('excuses_derangement', $tab_elements)) {
         $texte .= "\r\n";
         $texte .= 'Si vous n\'êtes pas à l\'origine de cette demande, alors quelqu\'un a saisi votre adresse (' . $courriel . ') par erreur !' . "\r\n";
         $texte .= 'Dans ce cas, désolé pour le dérangement, veuillez ignorer ce message.' . "\r\n";
     }
     // texte donnant des informations sur la connexion internet utilisée
     if (in_array('info_connexion', $tab_elements)) {
         $AdresseIP = Session::get_IP();
         $HostName = gethostbyaddr($AdresseIP);
         $UserAgent = Session::get_UserAgent();
         $texte .= "\r\n";
         $texte .= 'Voici, pour information, les informations relatives à la connexion internet utilisée :' . "\r\n";
         $texte .= 'Adresse IP --> ' . $AdresseIP . "\r\n";
         $texte .= 'Nom d\'hôte --> ' . $HostName . "\r\n";
         $texte .= 'Navigateur --> ' . $UserAgent . "\r\n";
     }
     // texte indiquant qu'il ne faut pas répondre à l'envoyeur
     if (in_array('no_reply', $tab_elements)) {
         $texte .= "\r\n";
         $texte .= '______________________________________________________________________' . "\r\n";
         $texte .= "\r\n";
         $texte .= 'L\'expéditeur de ce courriel est une machine, merci de NE PAS répondre au message.' . "\r\n";
     }
     // texte avec l'indication pour modifier ses abonnements et un lien pour signaler une réception anormale
     if (in_array('notif_individuelle', $tab_elements)) {
         $texte .= "\r\n";
         $texte .= 'Modifier vos abonnements :' . "\r\n" . Sesamail::adresse_lien_profond('page=compte_email') . "\r\n";
         $texte .= 'Consulter vos notifications :' . "\r\n" . Sesamail::adresse_lien_profond('page=consultation_notifications') . "\r\n";
         $texte .= 'Signaler un courriel erroné :' . "\r\n" . URL_DIR_SACOCHE . '?' . 'base=' . $_SESSION['BASE'] . '&page=public_contact_admin&courriel=' . $courriel . "\r\n";
     }
     // texte avec la signature "SACoche"
     if (in_array('signature', $tab_elements)) {
         $texte .= "\r\n";
         $texte .= '--' . "\r\n";
         $texte .= 'SACoche - ' . HEBERGEUR_DENOMINATION . "\r\n";
     }
     // retour du contenu
     return $texte;
 }