// 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
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à...
/** * 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; }