SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Interactivité, communication > Forums > Archives Forums

Faire suivre par mail les messages du forum public aux participants

vendredi 16 mai 2003, par BoOz, phil. Dernier ajout dimanche 25 février 2007


Il s’agit d’envoyer les messages non pas uniquement aux auteurs de l’article mais aussi aux participants de la discussion


Voici quelques lignes qui permettent l’envoi d’un email aux participants d’une discussion (forum) lors d’une réponse à leur commentaire, à inclure à la fin de inc-forum.php3

Il faut surement modifier quelques choses au niveau des requetes mysql.

Cela semble fonctionner chez moi.

$query="select id_parent from spip_forum where id_forum='$id_message' and statut='publie' ";
$result = mysql_query($query);
list($id_parent) = mysql_fetch_row($result);
while($id_parent!='0') {
$q_mail="select email_auteur, id_parent from spip_forum where id_forum=$id_parent";
$r_mail = mysql_query($q_mail);
list($email_auteur, $id_parent) = mysql_fetch_row($r_mail);
if ($email_auteur!='') {
envoyer_mail($email_auteur, $sujet, $courr);
}
}

Insérer le code juste après le dernier while qui se termine ligne 506 dans inc-forum.php3.
version 1.5.2


Répondre à cet article

  • SPIP 1.9

    25 juillet 2006 15:43, par Petite Souris

    Bonjour,

    Comment passer cette contrib avec la nouvelle version SPIP 1.9 ? J’ai essayé de remettre le code dans le fichier forum_insert.php qui apparemment remplace le fichier inc-messforum.php3 de l’ancienne version, mais cela ne marche pas ?

    Merci, Chris

    Répondre à ce message

    • SPIP 1.9 26 octobre 2006 14:52, par ecmoa

      Bonjour, j’ai essayé la même chose, j’ai tenté quelques modifs mais sans succès.

      Quelqu’un a-t-il une idée de la mise à jour à faire pour SPIP 1.9 ?

      Je vous remercie pour l’aide que vous voudrez bien m’apporter.

      Répondre à ce message

    Retour au début des forums

  • Pour SPIP 1.8

    19 juillet 2005 15:44, par OFondCBien

    Pour savoir comment utiliser cette contrib sur SPIP 1.8, allez donc jeter un coup d’oeil ici : http://article.gmane.org/gmane.comp...

    (Note : je ne fait que reporter l’info, je n’ai pas testé!)

    Répondre à ce message

    • > Pour SPIP 1.8 19 juillet 2005 18:29, par Déesse A.

      Ca ne marche il y a une variable qui a changé de nom. De plus, ce code n’utilise pas les fonctions d’abstraction de Spip, et a le défaut d’envoyer autant de mails identiques à un intervenant que son nombre d’intervention. Voici un code plus approprié, à mettre à la fin de la fonction prevenir_auteurs dans inc-messforum.php3 :

              $id_parent = $id_forum;
              $mails = array($email);
              while($r = spip_fetch_array(spip_query("select email_auteur, id_parent from spip_forum where id_forum=$id_parent"))) {

                list($email_auteur, $id_parent) = $r;
                if ($email_auteur!='' && !in_array($email_auteur, $mails)) {
                  envoyer_mail($email_auteur, $sujet, $corps);
                  $mails[] = $email_auteur;
                }
              }

      Répondre à ce message

      • > Pour SPIP 1.8 21 juillet 2005 18:30

        Bien ce script. Est-il possible de faire la même chose mais juste pour un thread ? En clair : être prévenu de la réponse posté suite à un thread et non pas à tous le forum. J’ai essayé avec $id_parent = $id_thread ; mais sans succès.

        Voir en ligne : Art et montagne

        Répondre à ce message

      • > Pour SPIP 1.8 7 août 2005 00:10, par byld

        Je viens de tester la nouvelle contrib, mais sous 1.8.1, mes "receveurs" ne reçoivent que des messages vides. Qu’est-ce qu’il se passe ? j’ai pourtant bien suivi la marche à suivre ? :’o(
        J’ai sans doute fait une fausse manip...Mais laquelle ?
        Merci pour votre aide

        Répondre à ce message

        • > Pour SPIP 1.8 11 août 2005 13:03, par Bernard

          Un grand Merci à Fil (rezo.net) qui m’a débloqué !
          En fait le vériatble script pour ceux qui ont un problème est le suivant :

          $id_parent = $id_forum;
                 $mails = array($email_auteur);
                 while($r = spip_fetch_array(spip_query("select email_auteur, id_parent from spip_forum where id_forum=$id_parent"))) {

                   list($email_auteur, $id_parent) = $r;
                   if ($email_auteur!='' && !in_array($email_auteur, $mails)) {
                     envoyer_mail($email_auteur, $titre, $texte);
                     $mails[] = $email_auteur;
                   }
                 }

          Vraiment un grand merci à Fil et à Déesse !

          Répondre à ce message

    Retour au début des forums

  • Chers spipeurs : C’est magnifique ! ça marche… mais, il y a toujours un « mais » surtout quand on ne sait rien à propos de php…

    Comment on peut faire que le message aux contributeurs contienne la phase « ceci est un message automatique. Message poste à la suite de votre message. Ne répondez pas à ce mail mais sur le forum a l’adresse suivante http://www.sitio.org »

    Merci d’avance et merci pour tout !!!

    (J’espère que mon français soit compréhensible… mes excuses !)

    Répondre à ce message

    • Je suis nul en php..Alors en regardant dans inc_messforum.php3, j’ai vu l’envoi ordinaire du mail, j’ai donc repris sans trop savoir et en tatonnant certaines parties de ce code et notamment l’incrustation des phrases habituelles et l’objet du mail avec le nom du site et le nom de l’article.
      Il n’en demeure pas moins deux bugs !
      le premier bug, pour celui qui répond à un message, il reçoit en double l’email.
      le deuxième bug : si je prends jean dupont qui répond à Muriel Truc, on obtient :
      Message posté par Jean DupontMuriel.Truc@fai.fr a la suite de votre article. il doit y’avoir quelque chose à faire dans array ('parauteur' => $parauteur ))."\n" mais je ne sais pas faire.
      reste tout de même que le mail reçu n’est plus anonyme

      function prevenir_auteurs($auteur, $email_auteur, $id_forum, $id_article, $texte, $titre, $statut) {
              global $nom_site_forum, $url_site;
              include_ecrire('inc_texte.php3');
              include_ecrire('inc_filtres.php3');
              include_ecrire('inc_mail.php3');
              $id_parent = $id_forum;
             $mails = array($email);
                      $nom_site_spip = lire_meta("nom_site");
             while($r = spip_fetch_array(spip_query("select email_auteur, id_parent from spip_forum where id_forum=$id_parent"))) {
                             
               list($email_auteur, $id_parent) = $r;
               if ($email_auteur!='' && !in_array($email_auteur, $mails)) {
                        $parauteur = (strlen($auteur) <= 2) ? '' :
                        (" "
                         ._T('forum_par_auteur',
                             array('auteur' => $auteur))
                         . $email_auteur);
                        $courr =  _T('form_forum_message_auto')."\n\n"
                        . _T('forum_poste_par', array('parauteur' => $parauteur))."\n"
                                         . $texte ;
                      $sujet = "[$nom_site_spip] ["._T('forum_forum')."] $titre";
                 envoyer_mail($email_auteur,  $sujet, $courr);
                 $mails[] = $email_auteur;
               }
             }

      Si quelqu’un savait fignoler cela ce serait super !!

      Répondre à ce message

    Retour au début des forums

  • C’est en partie grace à cette contribution que je me suis lancé dans la création de mon site de littérature. A l’époque aucun souci en 1.7
    Malheureusement venant de migrer en 1.8.2d cette contrib ne fonctionne plus.
    J’ai demandé de l’aide que j’ai d’ailleurs reçu et j’en remercie les personnes concernées mais malheureusement cela ne marche pas tout à fait.
    Voilà ce qu’il se passe :
    X fait un commentaire à Y, x reçoit dans sa BAL un mail sans lien, sans nom, mais avec le contenu du message et bien le titre de l’article . Pour Y c’est parfait.
    Y répond à son commentaire à destination de X. Y reçoit dans sa BAL 2 mails !
    Le premier impeccable le second sans lien, sans nom, et X reçoit un mail sans lien et sans nom.
    En résumé X ne sait pas qui l’a commenté et ne peux aller directement via le lien inexistant vers son article.
    C’est une véritable SOS que je lance car cette fonction est vitale pour la survie de mon site. Si quelqu’un avait l’idée géniale pour que cela fonctionne , je l’en remerci d’avance.
    (ps) j’ai lancé ce SOS sur une contrib ici par erreur, je vous prie de bien vouloir m’en excuser

    Répondre à ce message

    Retour au début des forums

  • Bonjour : j’ai utilisé votre code sur spip 1.7 et ça marche sans problème chez moi. Mais je voudrai savoir comment peut-on faire pour que ce code fonctionne aussi sur spip 1.8. Je n’arrive pas a trouver le fichier inc-forum.php3. Avez-vous une piste ? Merci pour cette contribution.

    Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net