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 {
list-style-type: none;
padding: 0 5px 0 0;
@ -150,6 +150,7 @@
display: none;
}
/* les styles de gamumails */
.formulaire_gamumail {
padding-top: 0;
}
@ -177,3 +178,16 @@
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,8 +2,7 @@
<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_ok">(#ENV*{message_ok})</p>]
@ -77,7 +76,7 @@
#SET{name,Tpdfs_ok}
<B_pdf>
<h2>Fichiers PDF envoyés</h2>
<h2><:gamumail:pdf_envoyes:></h2>
<div class="editer_groupe">
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"}
@ -96,7 +95,7 @@
#SET{name,Tid_doc}
<BOUCLE_slug(GAMUMAILS){slug}{tout}> #SET{id_gamumail,#ID_GAMUMAIL} </BOUCLE_slug>
<B_doc>
<h2>Autres Fichiers attachés</h2>
<h2><:gamumail:autres_fichiers_attaches:></h2>
<div class="editer_groupe">
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
#SET{obli,"obligatoire"}
@ -116,19 +115,15 @@
<INCLURE{fond=gamumail/#GET{fichier},env}>
]
<div class="boutons">
<button type="submit" class="btn"><:gamumail:envoyer:></button>
</div>
</div></form>
</div>
<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 type="text/javascript">
jQuery(function() {
gamumail();
//onAjaxLoad(gamumail);
@ -139,5 +134,4 @@
});
}
});
</script>

View file

@ -110,9 +110,8 @@ function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient
$Tmails_erreur[] = $dest;
}
}
$erreurs['pour'] = '';
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)) {
$erreurs['pour'] .= _T("gamumail:mails_destinataires_en_erreur", ['mails_erreur' => join(', ', $Tmails_erreur)]);
@ -236,6 +235,16 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
}
$html = $html_header . $html . $html_footer;
// pipeline pour les traitement du contenu des slugs spécifiques de chaque plugin
$args = $options;
$args['slug'] = $slug;
$args['destinataires'] = $destinataires;
$html = pipeline('remplacements_slug', array(
'args' => $args,
'data' => $html
));
$texte = facteur_mail_html2text($html);
$corps = [
'html' => $html,
'texte' => $texte,
@ -249,15 +258,6 @@ function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient =
$corps = $f($corps, $options, $slug, $Tmails, $Tclient, $Tpdf, $redirect);
}
*/
// pipeline pour les traitement du contenu des slugs spécifiques de chaque plugin
$args = $options;
$args['slug'] = $slug;
$args['destinataires'] = $destinataires;
$html = pipeline('remplacements_slug', array(
'args' => $args,
'data' => $html
));
// appel d'une éventuelle fonction de traitement du contenu spécifique du slug
if ($f = charger_fonction($slug . '_traiter', 'gamumail', true)) {
$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/');
$ok = $envoyer_mail($Tmails, $sujet, $corps);
if (!$ok) {
spip_log("Erreur d'envoi du mail : ","gamumail");
spip_log($corps,"gamumail");
$retour['message_erreur'] = _T("gamumail:erreur_envoi_mail");
} else {
}
else {
$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;
}

View file

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

View file

@ -33,16 +33,20 @@
</div>
</B_slugs>
<div class="bloc_slug" id="bloc_slug">
<h3 id="titre_slug"><:gamumail:contenu_mail:></h3>
<div class="bloc_contenu_slug ajax">
[(#FORMULAIRE_GAMUMAIL{
#ENV{slug},
#ENV{destinataires},
#ENV{client},
#ENV{Tpdf},
#ENV{redirect},
#ARRAY{}
})]
</div>
<INCLURE{fond=inclure/vue_slug, env, ajax=vue_slug}>
</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
'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',
'autres_fichiers_attaches' => 'Autres Fichiers attachés',
// C
'champ_slug_label' => 'Slug',
@ -25,6 +26,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
"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 -',
// F
'pdf_envoyes' => 'Fichiers PDF envoyés',
// I
'icone_creer_gamumail' => 'Créer un gamumail',