SPIP - Contrib

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



Accueil du site > Interactivité, communication > Mails > Envoyer à un ami

Plugin envoyer à un ami

jeudi 21 juin 2007, par vcris. Dernier ajout mardi 22 avril 2008

Toutes les versions de cet article :


Envoyer l’article par mail à un ami

Voir en ligne : Démonstration en ligne


Présentation

Une des fonctions qui nous manque parfois en lisant un article ou une brève est la possibilité d’envoyer de manière confortable et rapide la référence de cet article ou brève à un ami.

Avec « envoyer email » (enviar_email) vous pouvez créer un lien dans vos brèves et articles pour effectuer cette action.

Nota : Le Plugin utilise la class « phpmailer 1.73 » ce qui permet d’effectuer l’envoi des mail par SMTP en évitant les problèmes qui apparaissent en utilisant la fonction mail de PHP.

Installation

Récupérez le zip « plugin_enviar_email_spip » du plugin sur l’espace de téléchargement de la Zone : http://files.spip.org/spip-zone/ [1]. L’installation se déroule ensuite comme pour tous les autres plugins, cf. http://www.spip.net/fr_article3396.html

Insérez dans votre squelette la balise #ENVIAR_EMAIL** (les deux ** sont indispensables) à l’endroit où vous désirer afficher le bouton.

Personnalisation

Pour personnaliser la typographie du lien vous pouvez par exemple placer la balise #ENVIAR_EMAIL** entre

Vous pouvez aussi modifier le style de la page envoyée (typo, taille, couleur...) directement dans le squelette entre les balise <style> des squelettes enviar_email_articulo.html ou enviar_email_breve.html, voir plus directement ces squelettes eux mêmes (s’inspirer du code qui y est inséré).

Pour d’autres modifications ouvrir le fichier baliza_enviar_email.php et retouchez ce que vous voulez, par exemple les valeur « 440 » et « 460 » à la ligne 28 qui fixe la taille de la fenêtre ouverte.

Pour modifier l’icone de la balise remplacer le fichier plugins/enviar_email/sobre.gif par le vôtre

Quelques icônes alternatives

Auteur

Le plugin « enviar_email » est développé sur la zone en espagnol par José Luis, l’article original est espagnol

Mise à jour

02/12/08 reprise des modifications et amélioration issues du forum de l’article

- incorporation du logo du site dans le message
- traduction d’une balise oubliée, lorsque le sujet n’est pas précisé : 'no_escrito_nombre'
- erreur récurrente lors de l’envoi de mail de type Warning : fsockopen() [function.fsockopen] tout se passe dans enviar_email_articulo.html ligne 120

le code de base est $mail->Mailer = "smtp" ;

en remplaçant par $mail->Mailer = "sendmail" ; j’ai un message d’erreur (avec free et spip 1.9.a)

par contre en remplaçant par$mail->Mailer = "mail" ; tout marche impec

Actuellement le fichier sur la zone est configuré avec $mail->Mailer = "mail"; si toutefois cela ne marche pas essayez les autres solution (’smtp’ ou ’sendmail’)

15/01/08

Suite à plusieurs questions sur le forum, procédure pour enlever l’intitulé de la balise :

Dans le fichier /enviar_email/baliza_enviar_email.php remplacez

27         // prepara el enlace completo
28                 $enlace = $javascript_centrar_enviar."<a href=\"javascript:;\" onClick=\"centrarVentana('$url','Enviar_documento','scrollbars=yes,resizable=yes','440','460','true')\" title=\""._T('enviarmail:enviar_title')."\" style=\"border:none\"><img src=\"$logo\" style=\"border:none\" alt=\""._T('enviarmail:enviar_title')." title=\""._T('enviarmail:enviar_title')."\" /> "._T('enviarmail:enviar_por_email')."</a>";
29                 return $enlace;
30        
31         }

par

27         // prepara el enlace completo
28                 $enlace = $javascript_centrar_enviar."<a href=\"javascript:;\" onClick=\"centrarVentana('$url','Enviar_documento','scrollbars=yes,resizable=yes','440','460','true')\" title=\""._T('enviarmail:enviar_title')."\" style=\"border:none\"><img src=\"$logo\" style=\"border:none\" alt=\""._T('enviarmail:enviar_title')." title=\""._T('enviarmail:enviar_title')."\" />                                                        </a>";
29                 return $enlace;
30        
31         }

P.-S.

Il existe des plugins équivalents, notamment celui de Fil qui s’appelle « Recommander », parmi les plugins TEST sur Spip-zone ou encore le plugin Envoyer l’article aux amiEs

Notes

[1] En cas de problême sur ce lien de téléchargement voir les sites miroirs


Répondre à cet article

  • Plugin envoyer à un ami : KO

    24 mars 2008 18:22, par Tropicaloo

    Bonjour,

    En test ce soir, le plugin qui fonctionnait si bien, a rendu l’âme ! Peut-être a-t-il trop mangé de chocolat pour Pâques ;-).
    Les seules modifs de ces derniers jours sont le passage de 1.9.2c à 1.9.2d et l’ajout du plugin Couteau suisse.

    En cliquant sur Envoyer par mail, à l’ouverture de la fenetre du formulaire, j’obtiens :
    Parse error : syntax error, unexpected T_STRING in /home/www/6e3c0ae6e5e329796b16fa6b7d650a27/web/ecrire/public.php(177) : eval()’d code on line 176.

    Si un pro du php a une idée, je suis preneur ! Merci pour votre aide.

    Répondre à ce message

    • Plugin envoyer à un ami : KO 24 mars 2008 22:35

      à priori ça ne doit pas venir du plugin, je l’utilise sans problème avec spip 1.9.2.d et le couteau suisse. le message indique une erreur de caractère un" ’ " en trop ou en moins. as tu essayer de ré-installer complètement le plugin ? quels outils as tu activé sur le couteau suisse ?

      Répondre à ce message

    • Plugin envoyer à un ami : KO 26 mai 2008 23:57, par fred

      J’ai le même problème, sans avoir installé le couteau suisse... a-t-il été résolu ?

      Répondre à ce message

      • Plugin envoyer à un ami : KO 27 mai 2008 19:29, par vcris

        peux tu me donner plus d’infos, genre un lien, ta version de spip, du plugin

        Répondre à ce message

        • Plugin envoyer à un ami : KO 28 mai 2008 09:32, par fred

          la version : spip 1.9.2d [11132] le plugin : enviar_email_1_9

          le message d’erreur : Parse error : syntax error, unexpected T_STRING in /site/www/ecrire/public.php(177) : eval()’d code on line 176

          Répondre à ce message

          • Plugin envoyer à un ami : KO 7 juin 2008 23:34, par Tropicaloo

            Je reviens aux nouvelles.
            Depuis le mois de mars, le plugin est toujours en standby pour moi avec cette erreur
            Parse error : syntax error, unexpected T_STRING in /site/www/ecrire/public.php(177) : eval()’d code on line 176

            Fred, as-tu trouvé une solution pour ce bug ?

            Répondre à ce message

            • Plugin envoyer à un ami : KO 8 juin 2008 18:37, par fred

              Hélàs non, toujours pas. Ça marche avec un site hébergé chez Lautre.net, pas avec un autre hébergé chez OVH. Je ne sais pas par contre si ça a un rapport.

              Répondre à ce message

              • Plugin envoyer à un ami : KO 19 juin 2008 16:41, par Marc

                Bonjour,

                Cela n’a peut-être pas de rapport avec votre problème, mais comme l’a précisé Julien, il est préférable de modifier la première ligne des fichiers php du répertoire lang (< ? par < ?php).

                Selon la configuration de votre hébergeur, sans cela, le PHP ne sera pas interprété (depuis la version 5 de PHP si je ne m’abuse).

                Répondre à ce message

                • Plugin envoyer à un ami : KO 19 juin 2008 23:33, par Tropicaloo

                  Merci Marc, mais malheureusement cela n’y fait rien.

                  Répondre à ce message

                  • Plugin envoyer à un ami : KO 8 juillet 2008 00:31, par vcris

                    pour faire une petite synthèse les problèmes semblent plutôt liés à l’hébergeur(opérationnel chez l’autre et chez free), si les modifications au niveaux du mode d’envoi des mails ne fonctionnent pas je vous recommande vivement d’essayer le plugin recommander (sur la zone), non documenté mais qui fonctionne parfaitement (il utilise les fonctions d’envoi de spip en plus l’auteur est fil, un gage de codage parfait)

                    Répondre à ce message

    • Plugin envoyer à un ami : KO 14 août 2008 07:36

      Bonjour,

      même si je ne connais pas la raison exacte, j’ai réussi à contourner ce problème en mettant en commentaire le logo (ligne 174 chez moi).

      // $logo=’[(#LOGO_SITE_SPIP||liens_absolus)]’ ;

      Je ne suis pas un pro de PHP, je laisse le soins à d’autres personne de rechercher la cause exacte de ce bug.

      A+

      Répondre à ce message

      • Plugin envoyer à un ami : KO 19 août 2008 16:33

        Bravo !!! Je ne sais pas comment tu es arrivé à cette conclusion, mais en effet ça fonctionne. J’ai remplacé : $logo=’[(#LOGO_SITE||liens_absolus)]’ ; par : $logo=’[(#LOGO_SITE_NORMAL||liens_absolus)]’ ; et ça fonctionne...

        Répondre à ce message

    Retour au début des forums

  • Bonjour,

    Il faudrait changer la première ligne des fichiers du dossier lang et remplacer <? par <?php

    Les balises simplifiées sont assez "casse gueules" ...

    Répondre à ce message

    Retour au début des forums

  • Plugin envoyer à un ami

    31 mai 2008 20:31, par aleck

    Bonjour J’ai l’impression que ca ne fonctionne ni sous ie 6 ni sous ie7. en local chez moi et sur le lien de démo donné en début d’article. Merci

    Répondre à ce message

    Retour au début des forums

  • Plugin envoyer à un ami

    20 avril 2008 22:37, par alex

    ça marche nickel chez moi super plugin merci. seul petit soucis avec la pagination du couteau suite qui s’incrustre en début de texte. j’ai tente textebrut en filtre mais ça m’affiche une erreur de squelette. ya t-il un autre filtre qui permette de virer la pagination sans planter le squelette.

    par avance merci

    Répondre à ce message

    Retour au début des forums

  • Plugin envoyer à un ami et Brèves

    22 décembre 2007 17:30, par Thomas

    Je me permets de vous écrire pour vous poser une question sur les Brèves à envoyer. Je suis sur Spip 1.9.2.c , mon problème est le suivant : la fonction Balise_Enviar_email passe systèmatiquement la variable Id_article , même pour les brèves (au lieu de Id_Breve). Du coup, cela retourne une erreur (voir http://artenegra.fr/spip.php?breve1). J’ai essayé de changer le code PHP : de cela

    function balise_ENVIAR_EMAIL($p)

    // numero y enlace al artículo o breve

    $_id_article = champ_sql(’id_article’, $p) ;

    $arg = "’page=enviar_email_articulo&id_article=’.".$_id_article ;

    $url = generer_url_public(’’,$arg) ;

    if (!$_id_article)

    $_id_breve = champ_sql(’id_breve’, $p) ;

    $arg = "’page=enviar_email_breve&id_breve=’.".$_id_breve ;

    $url = generer_url_public(’’,$arg) ;

    $p->code ="preparar_enlace_enviar($arg)" ;

    $p->statut = ’html’ ;

    return $p ;

    je passe à ça :

    function balise_ENVIAR_EMAIL($p)

    // numero y enlace al artículo o breve

    if (!$_id_article)

    $_id_breve = champ_sql(’id_breve’, $p) ;

    $arg = "’page=enviar_email_breve&id_breve=’.".$_id_breve ;

    $url = generer_url_public(’’,$arg) ;

    else

    $_id_article = champ_sql(’id_article’, $p) ;

    $arg = "’page=enviar_email_articulo&id_article=’.".$_id_article ;

    $url = generer_url_public(’’,$arg) ;

    $p->code ="preparar_enlace_enviar($arg)" ;

    $p->statut = ’html’ ;

    return $p ;

    mais cela ne donne rien. Avez-vous déjà rencontré ce problème ? Merci d’avance

    Répondre à ce message

    • Plugin envoyer à un ami et Brèves 11 février 2008 12:43, par Yann

      j’ai le même problème. Il semble que la condition ne soit pas comprise et donc prise en compte... Aussi comment est il possible de dire : si c’est un article, fais ci sinon fais çà...en se basant plutôt sur le type article ou brève plutôt que sur l’id... J’ai beau essayer les différents critères de comparaison, rien n’y fait... Merci pour l’oeil avisé des pros du php Yann

      Répondre à ce message

      • Plugin envoyer à un ami et Brèves 19 avril 2008 13:57, par KinugraphiK pour Bambin Nature

        Je pense que le problème vient du fait que la variable $_id_article n’est jamais vide, même lorsqu’il s’agit d’une brève.

        J’ai contourné ce problème avec ce code, dans la fonction balise_ENVIAR_EMAIL :

                $_id_article = champ_sql('id_article', $p);
                $_id_breve = champ_sql('id_breve', $p);
                if ($_id_breve < $_id_article){
                        $arg = "'page=enviar_email_breve&id_breve='.".$_id_breve;
                        $url = generer_url_public('',$arg);
                } else {
                        $arg = "'page=enviar_email_articulo&id_article='.".$_id_article;
                        $url = generer_url_public('',$arg);
                }

        Chez moi, ça fonctionne ;)

        Voir une brève sur le site Bambin Nature.

        PS : y’a aussi quelques surprises dans la page enviar_email_breve.html, qui n’a pas été aussi bien travaillée que sa consœur enviar_email_articulo.html...

        Perso, j’ai récupéré le contenu de la page enviar_email_articulo.html, que j’avais déjà adapté à mon site, puis remplacé tout ce qui avait un rapport aux articles par les brèves (boucles SPIP).

        Répondre à ce message

    Retour au début des forums

  • Plugin envoyer à un ami

    14 avril 2008 13:07, par Boby

    Bonjour,

    Il y a 2 petites erreurs qui provoque des pb de validation html :

    D’une part, dans le fichier baliza_enviar_email.php, il faut remplacer language="Javascript1.2" par type="text/javascript" pour avoir ainsi la balise

    <script type=\"text/javascript\">

    D'autre part, si on veut, comme indiqué dans la partie "mise à jour", enlever l’intitulé de la balise, il manque une fermeture de " à la ligne 28 qu'il faut remplacer par :
    $enlace = $javascript_centrar_enviar."<a href=\"javascript:;\" onClick=\"centrarVentana('$url','Enviar_documento','scrollbars=yes,resizable=yes','440','460','true')\" title=\""._T('enviarmail:enviar_title')."\" style=\"border:none\"><img src=\"$logo\" style=\"border:none\" alt=\""._T('enviarmail:enviar_title')."\" title=\""._T('enviarmail:enviar_title')."\" /> </a>";

    A noter qu'il reste encore une erreur que je ne sais pas corriger :
    there is no attribute "onClick".
    </script>

    p>

    (mon site est pourtant Doctype : XHTML 1.0 Transitional)

    Si quelqu’un a une solution...

    Boby

    Répondre à ce message

    Retour au début des forums

  • Plugin envoyer à un ami

    3 avril 2008 00:31, par Castagnetti bruno

    Version SPIP. 1.9.d

    Le traitement pour la page article.html fonctionne correctement.

    Par contre pour la page breve.html la redirection vers la fenêtre popup plante avec une 404. L’url de la brève n’est pas renseignée correctement. La fonction balise_ENVIAR_EMAIL($p) ne réalise pas la redirection vers la page brève active, mais vers un page article vide.

    L’erreur viens de la commutation automatique, que je n’ai pas encore débuggé... Si vous trouvez avant, merci de nous l’indiquer.

    Répondre à ce message

    Retour au début des forums

  • Plugin envoyer à un ami

    2 avril 2008 11:00

    Des problèmes avec le pluging hébergé sur un site free.

    Disposez vous des paramètres pour la connexion smtp à placer dans la page class.phpmailer.php

    var $Host = "smtp.free.fr" ; var $Port = 25 ;

    les deux modes suivants ne fonctionnent pas : var $Mailer = "sendmail" ;

    var $Mailer = "mail" ;

    y à t’il un autre paramétrage à prendre en compte ?

    Si vous savez le faire marcher sur Free.fr merci de m’aider à configurer les paramètres.

    Répondre à ce message

    • Plugin envoyer à un ami 2 avril 2008 22:45

      J’ai trouvé mon problème. Free ne fontionne qu’avec le mode Mail.

      Je confirme le message décrit au dessus : dans la page Enviar_Email_Articulo.html Le paramètre de type d’envoi précisé dans class.phpmailer.php est à nouveau défini après chargement. Il faut donc le redéfinir.

      // ENVIO DEL MENSAJE CON PHPMAILER

      include_spip("phpmailer/class.phpmailer") ; include_spip("phpmailer/class.smtp") ; include_spip(’inc/meta’) ; // para coger datos automáticamente del servidor, usuario,... $mail = new PHPMailer() ;

      $mail->IsSMTP() ; $mail->Mailer = "mail" ; # CORRECTION A APPORTER

      Répondre à ce message

    Retour au début des forums

  • Plugin envoyer à un ami

    6 septembre 2007 20:37, par Keuls

    Bonjour, très bonne contrib le seul hic c’est que ca fonctionne pas en tout cas chez moi. Le principe est super intéressant mais après avoir fait les quelques modifs recommandées dans les commentaires la popup s’ouvre et m’affiche ceci :

    ’Envoyer l\’article’, ’envoyer’ => ’Envoyer’, ’reference_de’ => ’la référence de’, ’par_courriel’ => ’par courrier électronique’, ’a_destination’ => ’Envoyer á l\’adresse :’, ’donnees_optionnelles’ => ’Données optionnelles’, ’separe_virgule’ => ’séparer les adresses par des virgules si vous écrivez á plusieurs personnes’, ’sujet’ => ’Sujet’, ’titre_vouloir’ => ’Titre du message’, ’nom’ => ’Nom’, ’adresse’ => ’Adresse mail’, ’texte’ => ’Vous pouvez ajouter un texte’, ’envoi’ => ’Envoyer’, ’annuler’ => ’Annuler’, ’enviar_title’ => ’envoyer l\’article par mail’, ’enviar_por_email’ => ’’, ’referencia’ => ’La référence de ’, ’enviado’ => ’a été envoyé à :’, ’sentimos’ => ’désolé’, ’problema’ => ’Il y a eu un problème et le courrier n\’a pas pu être envoyé’, ’hola’ => ’Salut. Cet article t\’interéssera peut-être ’, ’leer’ => ’Lire la suite...’, ’enviado_por’ => ’Envoyer par : ’, ’direction’ => ’mais sans une adresse de courrier électronique valable’, ’podemos’ => ’nous ne pouvons pas envoyer le message’, ’fermer’ => ’fermer’, ’documento’ => ’Salut, les documents de’, ’interesar’ => ’pourraient t\’intéresser’, ’descargarte’ => ’Si vous visitez le site vous pourrez télécharger les documents suivants :’, ’source’ => ’Source’, ) ; ?> Parse error : parse error, unexpected T_STRING in C :\Program Files\xampp\htdocs\KaliKom\Okkitv\ecrire\public.php(173) : eval()’d code on line 177

    De plus j’ai le même texte sur la page de l’article où se trouve la balise #enviar_email mais sans le code d’erreur, ce qui comme vous vous en doutez mets toute ma mise en page en l’air.

    Si quelqu’un a une solution je suis preneur...

    Merci à tous

    Répondre à ce message

    • Bonjour,

      J’ai le même problème.

      ’Envoyer l\’article’, ’envoyer’ => ’Envoyer’, ’reference_de’ => ’la référence de’, ’par_courriel’ => ’par courrier électronique’, ’a_destination’ => ’Envoyer à l\’adresse :’, ’donnees_optionnelles’ => ’Données facultatives’, ’separe_virgule’ => ’séparez les adresses par des virgules si vous écrivez à plusieurs personnes’, ’sujet’ => ’Sujet’, ’titre_vouloir’ => ’Titre du message’, ’nom’ => ’Votre nom’, ’adresse’ => ’Votre adresse mail’, ’texte’ => ’Vous pouvez ajouter un texte’, ’envoi’ => ’Envoyer’, ’annuler’ => ’Annuler’, ’enviar_title’ => ’envoyer l\’article par mail’, ’enviar_por_email’ => ’envoyer par mail’, ’referencia’ => ’La référence de ’, ’enviado’ => ’a été envoyé à :’, ’sentimos’ => ’Désolé,’, ’problema’ => ’Il y a eu un problème et le courrier n\’a pas pu être envoyé’, ’hola’ => ’Salut. Cet article t\’interéssera peut-être. ’, ’leer’ => ’Lire la suite...’, ’enviado_por’ => ’Envoyer par : ’, ’direction’ => ’mais sans une adresse de courrier électronique valable’, ’podemos’ => ’nous ne pouvons pas envoyer le message’, ’fermer’ => ’Fermer’, ’documento’ => ’Salut, les documents de’, ’interesar’ => ’pourraient t\’intéresser’, ’descargarte’ => ’Si vous visitez le site vous pourrez télécharger les documents suivants :’, ’source’ => ’Source’, ’no_escrito_nombre’ => ’Pas de nom précisé’, ) ; ?>

      Apparemment, le contenu du fichier enviarmail_fr.php s’affiche au dessus sur la page de l’article et sur la page enviar_email_articulo.

      Ce serait un problème de gestion du cache ?

      Quelqu’un·e n’a vraiment pas de réponse ?

      Répondre à ce message

    Retour au début des forums

0 | 25 | 50 | 75 | 100



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