rechargement ajax du clug dans l'interface d'envoi de mails

This commit is contained in:
clem 2020-08-30 18:09:44 +02:00
parent 100f90923b
commit 28b5df40ce
7 changed files with 70 additions and 43 deletions

View file

@ -1,4 +1,4 @@
/* surrounding tag container */ /* les styles de tag-editor */
.tag-editor { .tag-editor {
list-style-type: none; list-style-type: none;
padding: 0 5px 0 0; padding: 0 5px 0 0;
@ -150,6 +150,7 @@
display: none; display: none;
} }
/* les styles de gamumails */
.formulaire_gamumail { .formulaire_gamumail {
padding-top: 0; padding-top: 0;
} }
@ -177,3 +178,16 @@
width: 50px; width: 50px;
} }
.reponse_formulaire {
padding: 1rem;
margin-bottom: 2rem;
font-weight: bold;
}
.reponse_formulaire_erreur {
background-color: #f7d1d1;
border: solid 2px #f00;
}
.reponse_formulaire_ok {
background-color: #c4ecd6;
border: solid 2px #080;
}

View file

@ -2,10 +2,9 @@
<link rel="stylesheet" href="[(#CHEMIN{css/gamumail.css}|timestamp)]" type="text/css" media="screen" charset="utf-8"> <link rel="stylesheet" href="[(#CHEMIN{css/gamumail.css}|timestamp)]" type="text/css" media="screen" charset="utf-8">
<div class="formulaire_spip formgtulaire_#FORM"> <div class="formulaire_spip formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
<form name="formulaire_#FORM" action="#ENV{action}" method="post"><div> <form name="formulaire_#FORM" action="#ENV{action}" method="post"><div>
#ACTION_FORMULAIRE{#ENV{action}} #ACTION_FORMULAIRE{#ENV{action}}
@ -77,7 +76,7 @@
#SET{name,Tpdfs_ok} #SET{name,Tpdfs_ok}
<B_pdf> <B_pdf>
<h2>Fichiers PDF envoyés</h2> <h2><:gamumail:pdf_envoyes:></h2>
<div class="editer_groupe"> <div class="editer_groupe">
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"} #SET{obli,"obligatoire"}
@ -96,7 +95,7 @@
#SET{name,Tid_doc} #SET{name,Tid_doc}
<BOUCLE_slug(GAMUMAILS){slug}{tout}> #SET{id_gamumail,#ID_GAMUMAIL} </BOUCLE_slug> <BOUCLE_slug(GAMUMAILS){slug}{tout}> #SET{id_gamumail,#ID_GAMUMAIL} </BOUCLE_slug>
<B_doc> <B_doc>
<h2>Autres Fichiers attachés</h2> <h2><:gamumail:autres_fichiers_attaches:></h2>
<div class="editer_groupe"> <div class="editer_groupe">
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"} #SET{obli,"obligatoire"}
@ -116,19 +115,15 @@
<INCLURE{fond=gamumail/#GET{fichier},env}> <INCLURE{fond=gamumail/#GET{fichier},env}>
] ]
<div class="boutons"> <div class="boutons">
<button type="submit" class="btn"><:gamumail:envoyer:></button> <button type="submit" class="btn"><:gamumail:envoyer:></button>
</div> </div>
</div></form> </div></form>
</div> </div>
<script src="[(#CHEMIN{js/jquery.tag-editor.min.js}|timestamp)]" type="text/javascript"></script> <script src="[(#CHEMIN{js/jquery.tag-editor.min.js}|timestamp)]" type="text/javascript"></script>
<script src="[(#CHEMIN{js/jquery.caret.min.js}|timestamp)]" type="text/javascript"></script> <script src="[(#CHEMIN{js/jquery.caret.min.js}|timestamp)]" type="text/javascript"></script>
<script type="text/javascript"> <script type="text/javascript">
jQuery(function() { jQuery(function() {
gamumail(); gamumail();
//onAjaxLoad(gamumail); //onAjaxLoad(gamumail);
@ -139,5 +134,4 @@
}); });
} }
}); });
</script> </script>

View file

@ -110,9 +110,8 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient
$Tmails_erreur[] = $dest; $Tmails_erreur[] = $dest;
} }
} }
$erreurs['pour'] = '';
if (count($Tid_erreur)) { if (count($Tid_erreur)) {
$erreurs['pour'] .= _T("gamumail:id_destinataires_sans_mails", ['ids_erreur' => join(', ', $Tid_erreur)]).' '; $erreurs['pour'] = _T("gamumail:id_destinataires_sans_mails", ['ids_erreur' => join(', ', $Tid_erreur)]).' ';
} }
if (count($Tmails_erreur)) { if (count($Tmails_erreur)) {
$erreurs['pour'] .= _T("gamumail:mails_destinataires_en_erreur", ['mails_erreur' => join(', ', $Tmails_erreur)]); $erreurs['pour'] .= _T("gamumail:mails_destinataires_en_erreur", ['mails_erreur' => join(', ', $Tmails_erreur)]);
@ -236,19 +235,6 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
} }
$html = $html_header . $html . $html_footer; $html = $html_header . $html . $html_footer;
$corps = [
'html' => $html,
'texte' => $texte,
'cc' => $cc,
'cci' => $cci,
'pieces_jointes' => $pieces_jointes
];
/*
if ($f = charger_fonction('traiter', 'gamumail', true)) {
$corps = $f($corps, $options, $slug, $Tmails, $Tclient, $Tpdf, $redirect);
}
*/
// pipeline pour les traitement du contenu des slugs spécifiques de chaque plugin // pipeline pour les traitement du contenu des slugs spécifiques de chaque plugin
$args = $options; $args = $options;
$args['slug'] = $slug; $args['slug'] = $slug;
@ -257,7 +243,21 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
'args' => $args, 'args' => $args,
'data' => $html 'data' => $html
)); ));
$texte = facteur_mail_html2text($html);
$corps = [
'html' => $html,
'texte' => $texte,
'cc' => $cc,
'cci' => $cci,
'pieces_jointes' => $pieces_jointes
];
/*
if ($f = charger_fonction('traiter', 'gamumail', true)) {
$corps = $f($corps, $options, $slug, $Tmails, $Tclient, $Tpdf, $redirect);
}
*/
// appel d'une éventuelle fonction de traitement du contenu spécifique du slug // appel d'une éventuelle fonction de traitement du contenu spécifique du slug
if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) { if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) {
$corps = $f($corps, $options, $slug, $Tmails, $Tclient, $Tpdf, $redirect); $corps = $f($corps, $options, $slug, $Tmails, $Tclient, $Tpdf, $redirect);
@ -265,11 +265,13 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
$envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); $envoyer_mail = charger_fonction('envoyer_mail', 'inc/');
$ok = $envoyer_mail($Tmails, $sujet, $corps); $ok = $envoyer_mail($Tmails, $sujet, $corps);
if (!$ok) { if (!$ok) {
spip_log("Erreur d'envoi du mail : ","gamumail"); spip_log("Erreur d'envoi du mail : ","gamumail");
spip_log($corps,"gamumail"); spip_log($corps,"gamumail");
$retour['message_erreur'] = _T("gamumail:erreur_envoi_mail"); $retour['message_erreur'] = _T("gamumail:erreur_envoi_mail");
} else { }
else {
$retour['message_ok'] = _T('gamumail:mail_envoye'); $retour['message_ok'] = _T('gamumail:mail_envoye');
} }
@ -280,7 +282,7 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
} }
} }
if ($redirect) { if ($redirect AND $redirect != '') {
$retour['redirect'] = $redirect; $retour['redirect'] = $redirect;
} }

View file

@ -31,7 +31,6 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
if ($res) { if ($res) {
$sujet = $res['sujet']; $sujet = $res['sujet'];
$html = propre($res['texte']); $html = propre($res['texte']);
$texte = facteur_mail_html2text($html);
$id_docs = $res['id_docs']; $id_docs = $res['id_docs'];
} }
else { else {
@ -162,6 +161,7 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
'args' => $args, 'args' => $args,
'data' => $html 'data' => $html
)); ));
$texte = facteur_mail_html2text($html);
$corps = [ $corps = [
'html' => $html, 'html' => $html,
@ -217,6 +217,5 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
$retour['redirect'] = $redirect; $retour['redirect'] = $redirect;
} }
*/ */
return $retour; return $retour;
} }

View file

@ -33,16 +33,20 @@
</div> </div>
</B_slugs> </B_slugs>
<div class="bloc_slug" id="bloc_slug"> <div class="bloc_slug" id="bloc_slug">
<h3 id="titre_slug"><:gamumail:contenu_mail:></h3> <INCLURE{fond=inclure/vue_slug, env, ajax=vue_slug}>
<div class="bloc_contenu_slug ajax">
[(#FORMULAIRE_GAMUMAIL{
#ENV{slug},
#ENV{destinataires},
#ENV{client},
#ENV{Tpdf},
#ENV{redirect},
#ARRAY{}
})]
</div>
</div> </div>
</div> </div>
<script type="text/javascript">
jQuery(function() {
$('#choix_slug').on('change', function() {
var choix_slug = $(this).val();
ajaxReload('vue_slug', {
args:{
slug : choix_slug,
dest : "#ENV{dest}"
}
//, callback: function(){}
});
});
});
</script>

11
inclure/vue_slug.html Normal file
View file

@ -0,0 +1,11 @@
<h3 id="titre_slug"><:gamumail:contenu_mail:></h3>
<div class="bloc_contenu_slug ajax">
[(#FORMULAIRE_GAMUMAIL{
#ENV{slug},
#ENV{dest},
#ENV{client},
#ENV{Tpdf},
#ENV{redirect},
#ARRAY{}
})]
</div>

View file

@ -11,6 +11,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// A // A
'ajouter_lien_gamumail' => 'Ajouter ce gamumail', 'ajouter_lien_gamumail' => 'Ajouter ce gamumail',
'avertissement_remplacements' => 'NB: attention! tous les autres remplacements sont spécifiques de leur modèle et ne peuvent êtres utilisés dans un autre modèle', 'avertissement_remplacements' => 'NB: attention! tous les autres remplacements sont spécifiques de leur modèle et ne peuvent êtres utilisés dans un autre modèle',
'autres_fichiers_attaches' => 'Autres Fichiers attachés',
// C // C
'champ_slug_label' => 'Slug', 'champ_slug_label' => 'Slug',
@ -25,6 +26,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
"erreur_envoi_mail" => "Erreur dans l'envoi de votre mail", "erreur_envoi_mail" => "Erreur dans l'envoi de votre mail",
'erreur_format_slug' => 'Le slug est un identifiant qui ne peut contenir que des chiffres, lettres et _ ou -', 'erreur_format_slug' => 'Le slug est un identifiant qui ne peut contenir que des chiffres, lettres et _ ou -',
// F
'pdf_envoyes' => 'Fichiers PDF envoyés',
// I // I
'icone_creer_gamumail' => 'Créer un gamumail', 'icone_creer_gamumail' => 'Créer un gamumail',