Browse Source

le formulaire de test permet de mettre un from et de cocher le flag important

svn/root/tags/v4.0.3
Cerdic 3 years ago
parent
commit
c18ca07c49
  1. 17
      formulaires/tester_facteur.html
  2. 23
      formulaires/tester_facteur.php
  3. 3
      lang/facteur_fr.php

17
formulaires/tester_facteur.html

@ -16,6 +16,23 @@
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/>
<p class="explication"><:facteur:note_test_configuration:></p>
</div>
#SET{name,email_test_from}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label for="#GET{name}"><:facteur:label_email_test_from:></label>[
<span class='erreur_message'>(#GET{erreurs})</span>
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" placeholder="<:facteur:label_email_test_from_placeholder|attribut_html:>" [(#HTML5|et{#GET{obli}})required='required']/>
</div>
#SET{name,email_test_important}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
<span class='erreur_message'>(#GET{erreurs})</span>
]<div class="choix">
#SET{val,0}
<input type="hidden" name="#GET{name}" value="#GET{val}" />
#SET{val,1}
<input type="checkbox" name="#GET{name}" class="checkbox" id="#GET{name}_#GET{val}" value="#GET{val}" aria-describedby="#GET{name}_explication" [(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)checked="checked"] />
<label for="#GET{name}_#GET{val}"><:facteur:label_email_test_important:></label>
</div>
</div>
</div>
<p class="boutons">
<input type="submit" name="tester" class="submit" value="<:facteur:tester:>" />

23
formulaires/tester_facteur.php

@ -16,6 +16,8 @@ function formulaires_tester_facteur_charger_dist() {
$valeurs = array(
'email_test' => $GLOBALS['meta']['email_webmaster'],
'email_test_from' => '',
'email_test_important' => 0,
);
if (!empty($GLOBALS['visiteur_session']['email'])) {
$valeurs['email_test'] = $GLOBALS['visiteur_session']['email'];
@ -45,6 +47,10 @@ function formulaires_tester_facteur_verifier_dist() {
} elseif (!email_valide($email)) {
$erreurs['email_test'] = _T('form_email_non_valide');
}
if ($from = _request('email_test_from')
and !email_valide($from)) {
$erreurs['email_test_from'] = _T('form_email_non_valide');
}
return $erreurs;
}
@ -55,7 +61,15 @@ function formulaires_tester_facteur_traiter_dist() {
$res = array();
$destinataire = _request('email_test');
$message_html = '';
$err = facteur_envoyer_mail_test($destinataire, _T('facteur:corps_email_de_test'), $message_html);
$options = array();
if ($from = _request('email_test_from')) {
$options['from'] = $from;
}
if (_request('email_test_important')) {
$options['important'] = true;
}
$err = facteur_envoyer_mail_test($destinataire, _T('facteur:corps_email_de_test'), $message_html, $options);
if ($err) {
$res['message_erreur'] = nl2br($err);
} else {
@ -82,10 +96,11 @@ function facteur_inline_base64src($texte, $type="text/html"){
* @param string $destinataire
* @param string $titre
* @param string $message_html
* @param array $options
* @return string
* message erreur ou vide si tout est OK
*/
function facteur_envoyer_mail_test($destinataire, $titre, &$message_html) {
function facteur_envoyer_mail_test($destinataire, $titre, &$message_html, $options = array()) {
include_spip('classes/facteur');
@ -115,13 +130,15 @@ function facteur_envoyer_mail_test($destinataire, $titre, &$message_html) {
'html' => $message_html,
'texte' => $message_texte,
'exceptions' => true,
'from' => 'compta@yterium.com'
);
if ($piece_jointe) {
$corps['pieces_jointes'] = array($piece_jointe);
}
if ($options) {
$corps = array_merge($options, $corps);
}
// passer par envoyer_mail pour bien passer par les pipeline et avoir tous les logs
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');

3
lang/facteur_fr.php

@ -69,6 +69,9 @@ Vérifiez votre fichier <tt>mes_options.php</tt>',
'label_mailjet_secret_key' => 'Clé secrète Mailjet',
'label_message_envoye' => 'Message envoyé :',
'label_utiliser_mailjet' => 'Utiliser Mailjet',
'label_email_test_from' => 'Expéditeur',
'label_email_test_from_placeholder' => 'from@example.org (optionnel)',
'label_email_test_important' => 'Cet email est important',
// M
'message_identite_email' => 'La <a href="@url@">configuration du plugin <i>Facteur</i></a> surcharge cette adresse email avec <b>@email@</b> pour l’envoi de courriels.',

Loading…
Cancel
Save