Example #1
0
$profils_archives_pdf = 'administrateurs (de l\'établissement)<br />' . afficher_profils_droit_specifique($_SESSION['DROIT_FICHE_BREVET_VOIR_ARCHIVE'], 'br');
// Droit de modifier le statut d'une fiche brevet (dans le cas PP, restera à affiner classe par classe...).
$affichage_formulaire_statut = $_SESSION['USER_PROFIL_TYPE'] == 'administrateur' || test_user_droit_specifique($_SESSION['DROIT_FICHE_BREVET_MODIFIER_STATUT']);
$tab_etats = array('1vide' => 'Vide (fermé)', '2rubrique' => 'Saisies Profs', '3mixte' => 'Saisies Mixtes', '4synthese' => 'Saisie Synthèse', '5complet' => 'Complet (fermé)');
$annee_session_brevet = annee_session_brevet();
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// 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'];
                }