Un formulaire permettant l’envoi d’un email

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

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

<BOUCLE_mail_auteur(AUTEURS) {id_auteur}{tout}>
    <?php if ("#EMAIL") { ?>
        <a
href="inc_ecrire_auteur.php3?id_auteur=#ID_AUTEUR" target="mail"
title="<:envoyer_message:>"
onclick="javascript:window.open('inc_ecrire_auteur.php3?id_auteur=#ID_AUTEUR', 'mail', 'scrollbars=yes, resizable=yes, width=640, height=640'); return false;">
        [&nbsp;(#NOM)]</a>
    <?php } else  { ?>
        [&nbsp;(#NOM)]
    <?php } ?>
</BOUCLE_mail_auteur>

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.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<BOUCLE_ecrire_auteur(AUTEURS){id_auteur}{tout}>

<html lang="#LANG">
<head>
<title>&Eacute;crire &agrave; &nbsp;#NOM</title>
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET">
<!-- Ceci est la feuille de style par defaut pour les types internes a SPIP -->
<link rel="stylesheet" href="spip_style.css" type="text/css">
<!-- Les feuilles de style specifiques aux presents squelettes -->
<link rel="stylesheet" href="typographie.css" type="text/css">
<!-- media="..." permet de ne pas utiliser ce style sous Netscape 4 (sinon plantage) -->
<link rel="stylesheet" href="habillage.css" type="text/css" media="projection, screen, tv">
<!-- media="print" permet d'utiliser cette feuille de style quand vous imprimez depuis votre navigateur -->
<link rel="stylesheet" href="impression.css" type="text/css" media="print">
</head>


<body  dir="#LANG_DIR" OnLoad=self.focus()>
<div class="cartouche">
	<h1 class="titre-texte">&Eacute;crire &agrave #NOM</h1>
</div>
	<div class="texte">
[(#FORMULAIRE_ECRIRE_AUTEUR|sinon{"Ce r&eacute;dacteur ne peut pas &ecirc;tre contact&eacute; de cette fa&ccedil;on"}) ]
</BOUCLE_ecrire_auteur>

<//B_ecrire_auteur>
</div>

</body>
</html>

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

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.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom