" . _T('organiseur:info_1_message_nonlu') . '';
} elseif ($total_messages > 1) {
$flux['data'][] = "" . _T(
'organiseur:info_nb_messages_nonlus',
array('nb' => $total_messages)
) . '';
}
return $flux;
}
/**
* Afficher les interventions et objets en lien
* avec un auteur (sur sa page)
*
* @pipeline affiche_auteurs_interventions
*
* @param array $flux
* @return array
*/
function organiseur_affiche_auteurs_interventions($flux) {
if ($id_auteur = intval($flux['args']['id_auteur'])) {
include_spip('inc/message_select');
// Messages de l'auteur et discussions en cours
if ($GLOBALS['meta']['messagerie_agenda'] != 'non'
and $id_auteur != $GLOBALS['visiteur_session']['id_auteur']
and autoriser('repondre', 'message', '', $id_auteur)
) {
$flux['data'] .= recuperer_fond(
'prive/squelettes/inclure/organiseur-interventions',
array('id_auteur' => $id_auteur)
);
}
}
return $flux;
}
/**
* Déclarer les metas de configuration de l'agenda/messagerie
*
* @pipeline configurer_liste_metas
* @param array $metas
* Couples nom de la méta => valeur par défaut
* @return array
* Couples nom de la méta => valeur par défaut
*/
function organiseur_configurer_liste_metas($metas) {
$metas['messagerie_agenda'] = 'oui';
return $metas;
}
/**
* Insérer la css de l'agenda dans l'espace privé (hum)
*
* @pipeline header_prive
* @param string $head
* @return string
*/
function organiseur_header_prive($head) {
// CSS calendrier
if ($GLOBALS['meta']['messagerie_agenda'] != 'non') {
$head .= '' . "\n";
}
return $head;
}
/**
* Afficher agenda, messages et annonces sur la page d'accueil
*
* @pipeline affiche_droite
* @param array $flux
* @return array
*/
function organiseur_affiche_droite($flux) {
if ($flux['args']['exec'] == 'accueil') {
$flux['data'] .= recuperer_fond(
'prive/squelettes/inclure/organiseur-rappels',
array(
'id_auteur' => $GLOBALS['visiteur_session']['id_auteur'],
'last' => $GLOBALS['visiteur_session']['quand'],
)
);
}
return $flux;
}
/**
* Afficher le formulaire de configuration sur la page concernée
*
* @pipeline affiche_milieu
* @param array $flux
* @return array
*/
function organiseur_affiche_milieu($flux) {
if ($flux['args']['exec'] == 'configurer_interactions') {
$c = recuperer_fond('prive/squelettes/inclure/configurer_messagerie', array());
if ($p = strpos($flux['data'], '')) {
$flux['data'] = substr_replace($flux['data'], $c, $p, 0);
} else {
$flux['data'] .= $c;
}
}
return $flux;
}
/**
* Diffuser un message qui passe en publie (== a envoyer)
*
* @pipeline post_edition
* @param array $flux
* @return array
*/
function organiseur_post_edition($flux) {
if (isset($flux['args']['table'])
and $flux['args']['table'] == 'spip_messages'
and $flux['args']['action'] == 'instituer'
and $flux['data']['statut'] == 'publie'
and $flux['args']['statut_ancien'] != 'publie'
) {
$id_message = $flux['args']['id_objet'];
$row = sql_fetsel('destinataires,id_auteur,titre,texte', 'spip_messages', 'id_message=' . intval($id_message));
if ($row) {
include_spip('inc/messages');
list($auteurs_dest, $email_dests) = messagerie_destiner(explode(',', $row['destinataires']));
// diffuser le message en interne
messagerie_diffuser_message($id_message, $auteurs_dest);
// diffuser le message en externe
messagerie_mailer_message($id_message, $email_dests);
}
}
return $flux;
}