Ejemplo n.º 1
0
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Récupération et traitement des données postées, si formulaire soumis
// Pas de passage par la page ajax.php => protection contre attaques type CSRF ajoutée ici
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($affichage_formulaire_statut && $_SESSION['SESAMATH_ID'] != ID_DEMO) {
    $tab_ids = isset($_POST['classe_ids']) ? explode(',', $_POST['classe_ids']) : array();
    $new_etat = isset($_POST['etat']) ? Clean::texte($_POST['etat']) : '';
    $discret = isset($_POST['mode_discret']) ? TRUE : FALSE;
    $tab_ids = array_intersect(array_filter(Clean::map_entier($tab_ids), 'positif'), $tab_classes_concernees);
    if (count($tab_ids) && isset($tab_etats[$new_etat])) {
        Session::verifier_jeton_anti_CSRF($PAGE);
        // Concernant les notifications, on liste déjà s'il y a des utilisateurs qui s'y seraient abonnés
        $abonnement_ref = 'fiche_brevet_statut';
        $abonnes_nb = 0;
        if (!$discret && in_array($new_etat, array('2rubrique', '3mixte', '4synthese'))) {
            $DB_TAB = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_avec_informations($abonnement_ref);
            $abonnes_nb = count($DB_TAB);
            if ($abonnes_nb) {
                $tab_abonnes = array();
                $tab_profils = array();
                // On récupère les infos au passage
                foreach ($DB_TAB as $DB_ROW) {
                    $notification_statut = COURRIEL_NOTIFICATION == 'oui' && $DB_ROW['jointure_mode'] == 'courriel' && $DB_ROW['user_email'] ? 'envoyée' : 'consultable';
                    $tab_abonnes[$DB_ROW['user_id']] = array('statut' => $notification_statut, 'mailto' => $DB_ROW['user_prenom'] . ' ' . $DB_ROW['user_nom'] . ' <' . $DB_ROW['user_email'] . '>', 'courriel' => $DB_ROW['user_email'], 'contenu' => '');
                    $tab_profils[$DB_ROW['user_profil_type']][] = $DB_ROW['user_id'];
                }
                // Récupération du nom des classes (sans fignoler)
                $tab_classes = array();
                $DB_TAB = DB_STRUCTURE_ADMINISTRATEUR::DB_lister_classes();
                foreach ($DB_TAB as $DB_ROW) {
                    $tab_classes[$DB_ROW['groupe_id']] = $DB_ROW['groupe_nom'];