Communication entre membres
Paramètrage
Les paramètres choisis au niveau du noyau SPIP
Cf Configuration / Interactivité
- Ne pas envoyer d’annonces éditoriales
- Ne pas envoyer la liste des nouveautés
- Adresse email d’envoi : laissé vide —> "l’adresse destinataire sera utilisée comme adresse d’envoi" !!!
Doc sur envoi automatique de mails
Attention : certains hébergeurs désactivent la fonction qui permet l’envoi automatique de mails. Si vous êtes dans cette situation, les options suivantes ne pourront pas être activées.
– Suivi des messages des forums publics (permet aux auteurs de suivre les discussions provoquées par leurs articles)
– Suivi de l’activité éditoriale du site (lorsqu’un article est proposé pour la validation ou publié, les participants à la vie du site sont informés en temps réel)
– Annonce des nouveautés (Cette fonctionnalité de SPIP permet de créer des emails du type « Quoi de neuf ? » : si vous l’activez, et après avoir fixé l’intervalle de temps entre les différentes annonces, un mail est envoyé régulièrement à l’adresse indiquée, récapitulant les derniers articles et brèves publiés)
Système de messagerie interne
On peut correspondre entre rédacteur via le système de messagerie interne de SPIP. Mais :
– Ne permet pas de toucher les membres avec statut "visiteur"
– On risque de passer à coté des messages reçus : il faut se connecter au site et aller dans la partie privée
– "les rédacteurs qui ne se sont pas connectés à l’espace privé du site depuis plus de 15 jours ne sont pas joignables"
Comment ?
Passer en mode "Privé"
Pour lire les messages : cliquer sur Accueil
Pour envoyer un message : sélectionner "Edition / Auteurs" et l’auteur destinataire (il n’a pas besoin d’un mail, mais d’un login et d’avoir le statut rédacteur ou administrateur)
Bouton "Envoyer un message privé à cet auteur"
On a une vue d’ensemble sur tous les messages reçus et envoyés en cliquant sur le picto "boite mail" en haut à droite sous l’accès au menu "Configuration"
Plugin disponible, mais non installé "Messagerie entre membres" : prévoit la correspondance entre membres avec statut visiteur. Mais en utilisant la messagerie externe, c’est ce que j’ai réalisé à partir de ma page Trombinoscope
Système de messagerie mail externe
On peut faire appel à l’envoi de mail prévu par Spip en utilisant une balise dédiée #FORMULAIRE_ECRIRE_AUTEUR.
J’y fais appel dans 2 cas :
1) Depuis le Trombinoscope, si un lecteur veut envoyer un mail à un des membres. J’ai écrit à ce sujet le squelette "noisettes/auteur/description.html "
On devrait y récupérer l’id_auteur du destinataire et de l’émetteur
2) Depuis la page Contact (squelette "content/contact.html"), pour que toute personne puisse écrire au webmestre (id_auteur=1)
Le champ "Votre adresse" doit être renseigné par le mail de l’emetteur. En fait, on y trouve la dernière adresse utilisée. Alors qu’on devrait y retrouver - quand c’est possible (quand l’emetteur s’est identifié par un login et possède une adresse) - l’adresse mail rangée dans Auteur.
Pour y remédier, j’ai du faire une copie du formulaire et remplacer la value du champ email par : "#EVAL$GLOBALS[’visiteur_session’][’email’]"
Mais que ce fut long à réaliser !!!
Le système est tel que l’adresse de la personne émettrice du message n’est pas directement utilisable. Ainsi, si elle est "xxxxx@yyy.zz", la destinatrice reçoit un message en provenance de "xxxxx at yyy.zz". On peut donc y répondre à condition de changer " at " par @
Petit problème : le rédacteur du message peut communiquer une adresse fantaisiste !
— -
Balise #FORMULAIRE_ECRIRE_AUTEUR
La balise #FORMULAIRE_ECRIRE_AUTEUR affiche un formulaire permettant d’écrire à un auteur sans dilvuger son adresse. Il faut que le serveur hébergeant le site accepte d’envoyer des mails. Il est accessible à tout visiteur, car le champ adresse du rédacteur est accessible en saisie.
L’affichage du formulaire est assuré par le squelette
squelettes-dist/formulaires/ecrire_auteur.html
Il est constitué d’un formulaire avec une action qui varie en fonction d’une variable #ENVaction pouvant prendre plusieurs valeurs.
Quand on le valide, il appelle la fonction php associée à l’action (charger, vérifier ou traiter) et rangée dans
squelettes-dist/formulaires/ecrire_auteur.php
Explication détaillée du fonctionnement de ce type de formulaire en
https://programmer.spip.net/-Formulaires-35-
Avec "charger", les champs sujet et texte sont mis à blanc, le champ "email" est renseigné par "isset($GLOBALS[’visiteur_session’][’email’]" et l’id_auteur est récupéré.
Avec "traiter", le champ texte est complété par :
$texte .= "\n\n— " . _T(’envoi_via_le_site’) . " " . supprimer_tags(extraire_multi($GLOBALS[’meta’][’nom_site’])) . " (" . $GLOBALS[’meta’][’adresse_site’] . "/) —\n" ;
$envoyer_mail = charger_fonction(’envoyer_mail’, ’inc’) ;
Ce qui donne : "—Envoi via le site ORB Loisirs Informatique (http:// ...)—".
Examen d’une zone de saisie
<div class="editer saisie_email_message_auteur obligatoire[ (#ENV*{erreurs}|table_valeur{email_message_auteur}|oui)erreur]">
[<span class="erreur_message">(#ENV*{erreurs}|table_valeur{email_message_auteur})</span>]
<input[ (#HTML5|?{required="required" type="email" class="text email",type="text" class="text"})] name="email_message_auteur" id="email_message_auteur#ENV{id}" value="#ENV{email_message_auteur}" size="30" />
</div>
Si #ENVerreurs non vide, la zone de saisie est
– précédée d’un message d’erreur sur auteur
– dans un "div" avec class="... erreur"
La zone d’entrée est de type "email" si HTML5, sinon "text"
Sa valeur est "#ENVemail_message_auteur"
Dans une certaine config mise en place (laquelle ?), lors de l’affichage du formulaire, ce champ "email_message_auteur" n’est pas renseigné.
Je pense que c’est la fonction suivante qui devrait faire cette initialisation :
function formulaires_ecrire_auteur_initier($id_auteur, $id_article, $mail)
include_spip(’inc/texte’) ;
$puce = definir_puce() ;
$valeurs = array(
’sujet_message_auteur’ => ’Pour test’,
’texte_message_auteur’ => ’’,
’email_message_auteur’ => isset($GLOBALS[’visiteur_session’][’email’]) ? $GLOBALS[’visiteur_session’][’email’] : ’’,
’nobot’ => ’’,
Cette fonction ne semble pas appelée ; donc les valeurs dans les variables ne sont pas installées