From 1dadb4269ea90a82773111b30a922be610daa66c Mon Sep 17 00:00:00 2001 From: tofulm Date: Mon, 27 Apr 2020 10:30:43 +0200 Subject: [PATCH] Gestion des erreurs d'envoi + message retour --- formulaires/gamumail.php | 21 ++++++++++++++------- lang/gamumail_fr.php | 4 ++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php index 7ab80d6..0362af3 100644 --- a/formulaires/gamumail.php +++ b/formulaires/gamumail.php @@ -10,7 +10,7 @@ include_spip('inc/filtres'); * @param string $slug modele du mail a charger * @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 $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 array $options * @return array $valeurs @@ -86,7 +86,7 @@ function formulaires_gamumail_verifier_dist($slug, $auteur = 0, $Tclient = [], $ 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('classes/facteur'); @@ -132,6 +132,10 @@ function formulaires_gamumail_traiter_dist($slug, $auteur = 0, $Tclient = [], $T // les pdfs if (!empty($Tpdfs_ok) and is_array($Tpdfs_ok)) { + if (array_key_exists('fichier', $Tpdf)) { + $Tpdf = [$Tpdf]; + } + $recup_pdf = charger_fonction('charger_pdf','inc'); foreach ($Tpdfs_ok as $pdf) { 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)) { - $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/'); $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) { $retour['redirect'] = $redirect; } - $retour['editable'] = true; return $retour; } diff --git a/lang/gamumail_fr.php b/lang/gamumail_fr.php index e3b912f..f77c4b5 100644 --- a/lang/gamumail_fr.php +++ b/lang/gamumail_fr.php @@ -19,6 +19,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( //EE 'envoyer' => 'Envoyer', + "erreur_envoi_mail" => "Erreur dans l'envoi de votre mail", // I '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_nb_gamumails' => '@nb@ gamumails', + //MM + "mail_envoye" => "Votre message a bien été envoyé", + // R 'retirer_lien_gamumail' => 'Retirer ce gamumail', 'retirer_tous_liens_gamumails' => 'Retirer tous les gamumails',