// //////////////////////////////////////////////////////////////////////////////////////////////////// // 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'];