Bonjour,
J'ai modifié le plugin notifications afin de permettre la notification des auteurs d'un article lors de la publication de celui-ci.
J'ai modifié notifications.php et cfg_notifications
Si vous pensez que c'est utile, je peux le mettre sur la zone.
Voila ce que j'ai ajouté dans notification.php
function notifications_instituerarticle($quoi, $id_article, $options) {
// ne devrait jamais se produire
if ($options['statut'] == $options['statut_ancien']) {
spip_log("statut inchange");
return;
}
include_spip('inc/texte');
if ($options['statut'] == 'publie') {
notifier_publication_article($id_article);
notifier_publication_auteurs_article($id_article);
}
if ($options['statut'] == 'prop' AND $options['statut_ancien'] != 'publie')
notifier_proposition_article($id_article);
}
function notifier_publication_auteurs_article($id_article) {
$envoyer_mail = charger_fonction('envoyer_mail','inc');
$nom_site_spip = nettoyer_titre_email($GLOBALS['meta']["nom_site"]);
$suivi_edito = $GLOBALS['meta']["suivi_edito"];
if ($suivi_edito == "oui" AND $GLOBALS['notifications']['prevenir_auteurs_articles']) {
$row = sql_fetsel("*", "spip_articles", "id_article = $id_article");
if ($row) {
$l = lang_select($row['lang']);
// URL de l'article
charger_generer_url(false);
$url = url_absolue(_DIR_RACINE.generer_url_article($id_article, '','', 'publie'));
$titre = nettoyer_titre_email($row['titre']);
$sujet = _T('info_publie_1', array('nom_site_spip' => $nom_site_spip, 'titre' => $titre));
$sujet = _T('info_publie_1', array('nom_site_spip' => $debut_sujet, 'titre' => $titre));
$courr = _T('info_publie_2')."\n\n";
$nom = $GLOBALS['visiteur_session']['nom'];
$nom = trim(supprimer_tags(typo($nom)));
$courr .= _T('info_publie_01', array('titre' => $titre, 'connect_nom' => $nom))
. "\n\n"
. "-> " . $url
. "\n";
// Qui va-t-on prevenir ?
$tous = array();
$result_email = sql_select("auteurs.email", "spip_auteurs AS auteurs, spip_auteurs_articles AS lien", "lien.id_article=$id_article AND auteurs.id_auteur=lien.id_auteur");
while ($qui = sql_fetch($result_email)) {
$tous[] = $qui['email'];
}
// Nettoyer le tableau
// Ne pas ecrire au posteur du message !
$destinataires = array();
foreach ($tous as $m) {
if ($m = email_valide($m))
$destinataires[$m]++;
}