function notifications_referentiel_edition($matiere_id, $notification_contenu)
{
    $abonnement_ref = 'referentiel_edition';
    $listing_profs = DB_STRUCTURE_REFERENTIEL::DB_recuperer_autres_professeurs_matiere($matiere_id, $_SESSION['USER_ID']);
    if ($listing_profs) {
        $listing_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_listing_id($abonnement_ref, $listing_profs);
        if ($listing_abonnes) {
            $tab_abonnes = explode(',', $listing_abonnes);
            foreach ($tab_abonnes as $abonne_id) {
                DB_STRUCTURE_NOTIFICATION::DB_modifier_log_attente($abonne_id, $abonnement_ref, 0, NULL, $notification_contenu, 'compléter', FALSE);
            }
        }
    }
}
Ejemplo n.º 2
0
        } 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à...
// ////////////////////////////////////////////////////////////////////////////////////////////////////
exit_json(FALSE, 'Erreur avec les données transmises !');
            foreach ($DB_TAB as $DB_ROW) {
                $tab_prof_id[] = $DB_ROW['user_id'];
                RSS::modifier_fichier_prof($DB_ROW['user_id'], $titre, $texte, $guid);
            }
        }
    }
    // Notifications (rendues visibles ultérieurement) ; on récupère des données conçues pour le flux RSS ($texte , $tab_prof_id)
    $abonnement_ref = 'demande_evaluation_eleve';
    $listing_profs = $prof_id ? $prof_id : (!empty($tab_prof_id) ? implode(',', $tab_prof_id) : NULL);
    if ($listing_profs) {
        $listing_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_listing_id($abonnement_ref, $listing_profs);
        if ($listing_abonnes) {
            $notification_contenu = $texte;
            $tab_abonnes = explode(',', $listing_abonnes);
            foreach ($tab_abonnes as $abonne_id) {
                DB_STRUCTURE_NOTIFICATION::DB_modifier_log_attente($abonne_id, $abonnement_ref, 0, NULL, $notification_contenu, 'compléter', TRUE);
            }
        }
    }
    // Affichage du retour
    $nb_demandes_formulees++;
    $nb_demandes_possibles--;
    $s = $nb_demandes_possibles > 1 ? 's' : '';
    echo '<label class="valide">Votre demande a été ajoutée.</label><br />';
    echo $nb_demandes_possibles == 0 ? 'Vous ne pouvez plus formuler d\'autres demandes pour cette matière.' : 'Vous pouvez encore formuler ' . $nb_demandes_possibles . ' demande' . $s . ' pour cette matière.';
    exit;
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Il se peut que rien n'ait été récupéré à cause de l'upload d'un fichier trop lourd
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if (empty($_POST)) {
/**
 * Enregistrer une action effectuée par un autre administrateur.
 *
 * @param string   $notification_contenu
 * @param int      $admin_id
 * @return void
 */
public static function enregistrer_action_admin($notification_contenu,$admin_id)
{
  $abonnement_ref = 'action_admin';
  $listing_abonnes = DB_STRUCTURE_NOTIFICATION::DB_lister_destinataires_listing_id( $abonnement_ref , $admin_id , FALSE );
  if($listing_abonnes)
  {
    $tab_abonnes = explode(',',$listing_abonnes);
    foreach($tab_abonnes as $abonne_id)
    {
      DB_STRUCTURE_NOTIFICATION::DB_modifier_log_attente( $abonne_id , $abonnement_ref , 0 , NULL , $notification_contenu , 'compléter' , FALSE /*sep*/ );
    }
  }
}