SPIP - Contrib

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



Accueil du site > Interactivité, communication > Mails > Archives Email

Un formulaire permettant l’envoi d’un email

dimanche 5 septembre 2004, par Grégoire. Dernier ajout dimanche 21 janvier 2007


Ce script permet aux visiteurs d’envoyer un email à un auteur (ou visiteur inscrit) sans divulguer l’e-mail de ce dernier.


Objectif

Le script liste le nom de chaque rédacteur sur une page choisie. Les liens permettent l’ouverture d’une fenêtre pop-up qui contient un formulaire généré par la balise #FORMULAIRE_ECRIRE_AUTEUR de Spip, et permet d’envoyer un email.

La boucle d’affichage des auteurs et du lien pour leur envoyer un message

Le paramètre {tout}
Le paramètre {tout} permet de lister tous les rédacteurs, qu’ils aient écrit quelque chose ou pas. (voir l’article 907)

Il faut bien vérifier dans tout le site qu’il n’y ait plus de #EMAIL qui apparaissent.

La page avec le formulaire

Le fichier inc_ecrire_auteur.php3 :
Le inc_ecrire_auteur.php3 est un fichier .php3 à 1 mois (30*24*3600 secondes) de délais, il n’est absolument pas nécessaire de mettre un délai court.

Son squelette inc_ecrire_auteur.html :
Son squelette inc_ecrire_auteur.html se contente d’afficher la mise en page avec une simple boucle AUTEUR{id_auteur} et #FORMULAIRE_ECRIRE_AUTEUR

Le voici : adaptez le à cotre convenance.
J’ai placé des commentaire dedans.

Démonstration

J’utilise ce pluggin dans ce site http://espace.jdr.ath.cx

Utilisation

Quand vous avez besoin d’afficher les auteurs de l’article avec un lien vers leur formulaire, il suffit de placer la ligne suivante à l’intérieur de la boucle article :

<INCLURE(inc_lien_ecrire_auteur.php3){id_auteur}>

Il faudrait améliorer cela pour qu’un message soit envoyé dans la partie privée si le rédacteur n’a pas mis d’e-mail.

Autres utilisations... :
Vous pourriez utiliser d’autres champs du rédacteur, ou bien les champs EXTRA pour permettre au rédacteur de spécifier une autre adresse e-mail pour recevoir les messages des visiteurs.

améliorations à faire

Je me suis inspiré de la fenêtre qui s’ouvre pour permettre de recevoir ses identifiants par e-mail quand on les a oubliés.
Il faudrait que cette fenêtre pop-up soit refermée et crée, parce que si elle est déjà ouverte mais masquée cela peut poser quelques problèmes quand on a un système anti popup. (la fenêtre ne viendrait pas au premier plan, cela donnerait l’impression que le lien ne fonctionne pas.)
L’autre solution consiste à nommer différement la fenêtre, par exemple mail#id_article.

Grégoire

P.-S.

A rajouter par vos soins, suggestion :
Il manque le style à ajouter pour les rédacteurs, parce q’ils apparaissent soit sous forme de lien, soit sous forme de texte.


Attention, il ne faut pas confondre les fichiers inc avec les autres. dans la partie publique du site, les fichiers inc de spip s’écrivent inc- . Donc, inc_ecrire_auteur.php3 se repère tout de suite.
Dans ecrire, par contre, il y aurait des risques de confusions. De toute façon, ce fichier n’a pas à y être.

Libre à vous de changer les noms selon votre propre charte.


S’il y a du PHP, c’est parce que le filtre |sinon n’aime pas certains caractères.

Si vous arrivez à faire la même chose sans PHP, faites-le savoir.
Merci.


Pensez à créer vos propres feuilles de styles, avec des noms différents, et modifier le squelette ici en conséquence.


Répondre à cet article

  • Bonjour

    Je voulais signaler que cette contibution fonctionne mal sous Spip 1.8pr, la prévisualisation de fait mal mais le message est bien envoyé, probablement parce que le formulaire est appelé dans une fenêtre.

    A bientôt

    Grégoire

    Répondre à ce message

    • Bonjour,

      J’avais installé cette boucle qui fonctionnait à merveille en 1.7.2 et en passant en 1.8.2g, le message obtenu devient "Cet auteur ne peut être contacté de cette façon.".

      Y a-t-il une ruse pour que cela remarche ou bien un réglage à faire quelque part ou encore une autre boucle plus récente ?

      Grand merci par avance pour les réponses ;-)
      @+
      Voldor

      Répondre à ce message

      • Bonsoir

        Oui, sous 1.7.2 ça marchait bien....

        Maintenant, avec les nouveaux formulaires, il se pourrait que ce ne soit vraiment plus compatible.

        [(#FORMULAIRE_ECRIRE_AUTEUR|sinon{"Ce r&eacute;dacteur ne peut pas &ecirc;tre contact&eacute; de cette fa&ccedil;on"}) ]

        Indique que #FORMULAIRE_ECRIRE_AUTEUR à retourné une valeur ’0’...

        Il faudrait refaire cette contribution et y intégrer le filtrage anti-spam pour éviter les e-mails en copie dans le champs e-mail...

        Tout un programme

        Je ne toucherais pas à cette contribution avant quelques mois...

        Bon courage
        Grégoire

        Répondre à ce message

    Retour au début des forums

  • > Un formulaire permettant l’envoi d’un email

    23 décembre 2004 14:21, par Hada de la Luna

    Bonjour :o)

    j’ai créé les fichiers dans la racine du site :

    • inc_ecrire_auteur.php3
    • inc_ecrire_auteur.html

    par simple copié-collé (courageuse mais pas téméraire ;op)

    dans le fichier article.html j’ai :

            <!-- Auteurs de l'article -->

            <B_auteurs>

            <div class="menu">
            <h2 class="structure"><:memes_auteurs:></h2>
            <ul class="divers">
            <BOUCLE_auteurs(AUTEURS) {id_article} {par nom}>
                    <li>
                    <div class="menu-titre" title="Auteur"><a href="(#FORMULAIRE_ECRIRE_AUTEUR)" target="wclose"
    onclick="window.open('#FORMULAIRE_ECRIRE_AUTEUR','wclose',
    'width=380,height=350,toolbar=no,status=no,left=20,top=30')">#NOM</a></div>
                    <ul>
                    [<li class="menu-item" style="text-align: center"><a href="(#URL_SITE)">#NOM_SITE</a></li>]
                    [<li class="menu-item" style="text-align: center">(#BIO)</li>]
            <B_articles_auteur>
            <BOUCLE_articles_auteur(ARTICLES) {id_auteur} {par popularite} {inverse} {0,5}>
                    <li class="menu-item"><a href="#URL_ARTICLE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></li>
            </BOUCLE_articles_auteur>
                    </ul>
                    </li>
            </BOUCLE_auteurs>
            </ul>
            </div>

            </B_auteurs>

    Cela m’affiche le formulaire dans la page (et de façon très désordonnée) comment faire pour qu’il soit véritablement affiché comme un lien générant un pop-up sur le nom de l’auteur ?

    Répondre à ce message

    Retour au début des forums

  • > pb formulaire permettant l’envoi d’un email ->re

    12 septembre 2004 21:43, par gab zéta

    voila ou j’en suis :
    - j’ai inséré le premier script dans auteur.html (c’est indiqué nulle part dans l’article, mais je vois pas ou le mettre sinon)
    - j’ai créé un fichier inc_ecrire_auteur.php3 comme tu le dis
    - j’ai créé son pendant html avec ton code plus haut
    - j’ai inséré le <INCLURE(inc_lien_ecrire_auteur.php3){id_auteur}> dans une boucle article :
    - 

    <BOUCLE_ecrire(ARTICLES){id_article=1}>
    <INCLURE(inc_lien_ecrire_auteur.php3){id_auteur}>
    </BOUCLE_ecrire>

    - ... et ca plante

    # ligne 243, fichier inclus navigation.html: Unknown(inc_lien_ecrire_auteur.php3): failed to open stream: No such file or directory (2)
    # ligne 243, fichier inclus navigation.html: (null)(): Failed opening 'inc_lien_ecrire_auteur.php3' for inclusion (include_path='.;C:\Program Files\EasyPHP1-7\php\pear\') (2)

    Je précise que je suis en local, et là je sais vraiment plus quoi faire... ;-(

    Voir en ligne : http://dixminutes.ouvaton.org

    Répondre à ce message

    Retour au début des forums

  • > pb formulaire permettant l’envoi d’un email ->réponse

    12 septembre 2004 20:21, par Gregoire

    Bonjour.

    Ici, on utilise un formulaire intégré dans Spip : #FORMULAIRE_ECRIRE_AUTEUR, mais on l’insère dans une boucle, qui fait partie d’un squelette : inc_ecrire_auteur.html qui sera appelé par un include <INCLURE(inc_lien_ecrire_auteur.php3){id_auteur}>.

    De la même façon que article.html est un squelette, qu’il est appelé via un programme en php article.php3.

    Les squelettes doivent être avec les squelettes, les scripts php3 à la racine du site.

    Voir :

    Amicalement Grégoire

    Répondre à ce message

    Retour au début des forums

  • > pb formulaire permettant l’envoi d’un email

    12 septembre 2004 19:54, par gab zéta

    excuse moi mais j’ai pas bien compris ou on met le premier script...

    merci de m’éclairer

    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