Gestion des erreurs d'envoi + message retour

This commit is contained in:
Christophe 2020-04-27 10:30:43 +02:00
parent 120e37d3de
commit 1dadb4269e
2 changed files with 18 additions and 7 deletions

View file

@ -10,7 +10,7 @@ include_spip('inc/filtres');
* @param string $slug modele du mail a charger * @param string $slug modele du mail a charger
* @param int|string $auteur id_auteur ou email du destinataire * @param int|string $auteur id_auteur ou email du destinataire
* @param array $Tclient []['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email'] ou ['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email'] * @param array $Tclient []['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email'] ou ['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email']
* @param array $Tpdf []['fichier' => 'pdf_facture', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3]] ou ['fichier' => 'pdf_facture', 'contexte' => ['id_app_facture' => 3]] * @param array $Tpdf []['fichier' => 'pdf_facture', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3]] ou ['fichier' => 'pdf_facture', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3]]
* @param string $redirect * @param string $redirect
* @param array $options * @param array $options
* @return array $valeurs * @return array $valeurs
@ -86,7 +86,7 @@ function formulaires_gamumail_verifier_dist($slug, $auteur = 0, $Tclient = [], $
return $erreurs; return $erreurs;
} }
function formulaires_gamumail_traiter_dist($slug, $auteur = 0, $Tclient = [], $Tpdf = [], $redirect = '') :Array{ function formulaires_gamumail_traiter_dist($slug, $auteur = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{
include_spip('inc/texte'); include_spip('inc/texte');
include_spip('classes/facteur'); include_spip('classes/facteur');
@ -132,6 +132,10 @@ function formulaires_gamumail_traiter_dist($slug, $auteur = 0, $Tclient = [], $T
// les pdfs // les pdfs
if (!empty($Tpdfs_ok) and is_array($Tpdfs_ok)) { if (!empty($Tpdfs_ok) and is_array($Tpdfs_ok)) {
if (array_key_exists('fichier', $Tpdf)) {
$Tpdf = [$Tpdf];
}
$recup_pdf = charger_fonction('charger_pdf','inc'); $recup_pdf = charger_fonction('charger_pdf','inc');
foreach ($Tpdfs_ok as $pdf) { foreach ($Tpdfs_ok as $pdf) {
foreach ($Tpdf as $p) { foreach ($Tpdf as $p) {
@ -163,19 +167,22 @@ function formulaires_gamumail_traiter_dist($slug, $auteur = 0, $Tclient = [], $T
]; ];
if ($f = charger_fonction('traiter_' . $slug, 'gamumail', true)) { if ($f = charger_fonction('traiter_' . $slug, 'gamumail', true)) {
$corps = $f($corps, $slug, $auteur, $Tclient, $Tpdf, $redirect, $options); $corps = $f($corps, $options, $slug, $auteur, $Tclient, $Tpdf, $redirect);
} }
$envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); $envoyer_mail = charger_fonction('envoyer_mail', 'inc/');
$ok = $envoyer_mail($pour, $sujet, $corps); $ok = $envoyer_mail($pour, $sujet, $corps);
if (!$ok) {
spip_log("Erreur d'envoi du mail : ","roc_mail");
spip_log($corps,"roc");
$retour['message_erreur'] = _T("gamumail:erreur_envoi_mail");
} else {
$retour['message_ok'] = _T('gamumail:mail_envoye');
}
$retour['message_ok'] = "bravo";
if ($redirect) { if ($redirect) {
$retour['redirect'] = $redirect; $retour['redirect'] = $redirect;
} }
$retour['editable'] = true;
return $retour; return $retour;
} }

View file

@ -19,6 +19,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
//EE //EE
'envoyer' => 'Envoyer', 'envoyer' => 'Envoyer',
"erreur_envoi_mail" => "Erreur dans l'envoi de votre mail",
// I // I
'icone_creer_gamumail' => 'Créer un gamumail', 'icone_creer_gamumail' => 'Créer un gamumail',
@ -28,6 +29,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'info_gamumails_auteur' => 'Les gamumails de cet auteur', 'info_gamumails_auteur' => 'Les gamumails de cet auteur',
'info_nb_gamumails' => '@nb@ gamumails', 'info_nb_gamumails' => '@nb@ gamumails',
//MM
"mail_envoye" => "Votre message a bien été envoyé",
// R // R
'retirer_lien_gamumail' => 'Retirer ce gamumail', 'retirer_lien_gamumail' => 'Retirer ce gamumail',
'retirer_tous_liens_gamumails' => 'Retirer tous les gamumails', 'retirer_tous_liens_gamumails' => 'Retirer tous les gamumails',