555 lines
17 KiB
PHP
555 lines
17 KiB
PHP
<?php
|
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
|
|
|
include_spip('inc/filtres');
|
|
|
|
/**
|
|
* formulaire générique pour envoyer des mails avec pieces attachés
|
|
*
|
|
* @param string $slug modele du mail a charger
|
|
* @param string $destinataires = adresses mails et id_auteurs séparées par , ou en array
|
|
* si un des destinataire est au format numérique, on considère que c'est un id_auteur et on va choper son mail dans spip_auteurs
|
|
* @param array $Tclient = un ou plusieurs mails de destinataires sortis d'une table objet spécifique
|
|
* de la forme []['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email', 'copie' => 'cc|cci'] ou ['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email']
|
|
* le paramètre 'copie' est facultatif : cc ou cci pour mettre un destinataire en copie, '' par défaut = destinataire principal
|
|
* @param array $Tpdf = un ou plusieurs fichiers PDF générés par spiPDF (le contexte permet la personnalisation du contenu)
|
|
* []['fichier' => 'pdf_facture', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3, 'lang' => 'en']] ou ['fichier' => 'pdf_facture', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3, 'lang' => 'en']]
|
|
* NB: si besoin que le PDF généré soit dans une langue précise, il faut passer la passer en paramètre "lang" dans le contexte
|
|
* @param string $redirect
|
|
* @param array $options = un gros fourre-tout sous forme d'un array
|
|
* utilisé en particulier par les inclure HTML de gamumail/#SLUG_soustexte et gamumail/#SLUG_fichiers
|
|
*
|
|
* @return array $valeurs
|
|
*
|
|
*/
|
|
function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){
|
|
$Tmails = [];
|
|
|
|
$Tcc = lire_config('gamumail/mail_cc') !== '' ? explode(',', lire_config('gamumail/mail_cc', '')) : [];
|
|
$Tcci = lire_config('gamumail/mail_cci') !== '' ? explode(',', lire_config('gamumail/mail_cci', '')) : [];
|
|
$Trepondre_a = lire_config('gamumail/mail_repondre_a') !== '' ? explode(',', lire_config('gamumail/mail_repondre_a', '')) : [];
|
|
|
|
if (!empty($destinataires) and !is_array($destinataires)) {
|
|
$destinataires = explode(',', $destinataires);
|
|
} else {
|
|
$destinataires = [];
|
|
}
|
|
|
|
foreach ($destinataires as $dest) {
|
|
if (is_numeric($dest)) {
|
|
if ($mail = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.$dest)) {
|
|
$Tmails[] = $mail;
|
|
}
|
|
}
|
|
elseif (email_valide($dest)) {
|
|
$Tmails[] = $dest;
|
|
}
|
|
}
|
|
|
|
if (is_array($Tclient) and count($Tclient)) {
|
|
if (array_key_exists('objet', $Tclient)) {
|
|
$Tclient = [$Tclient];
|
|
}
|
|
foreach ($Tclient as $o) {
|
|
$table = table_objet_sql($o['objet']);
|
|
$id = id_table_objet($o['objet']);
|
|
$mail = sql_getfetsel("{$o['champ']}", $table, "$id=".intval($o['id_objet']));
|
|
$copie = (isset($o['copie']) and in_array($o['copie'], ['cc', 'cci'])) ? $o['copie'] : false;
|
|
if (email_valide($mail)) {
|
|
if (!$copie) {
|
|
$Tmails[] = $mail;
|
|
} else {
|
|
$copie == 'cc' ? $Tcc[] = $mail : $Tcci[] = $mail;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$TFichierPdf = [];
|
|
if (is_array($Tpdf) and count($Tpdf)) {
|
|
if (array_key_exists('fichier', $Tpdf)) {
|
|
$Tpdf = [$Tpdf];
|
|
}
|
|
foreach ($Tpdf as $id => $pdf) {
|
|
$TFichierPdf[$id] = $pdf;
|
|
}
|
|
}
|
|
|
|
$TFichierPdf = pipeline('gamumail_filtrer_tPDF', [
|
|
'args' => [
|
|
'TFichierPdf' => $TFichierPdf
|
|
],
|
|
'data' => $TFichierPdf
|
|
]
|
|
);
|
|
|
|
$gamuMail = [];
|
|
if (!empty($slug)) {
|
|
$gamuMail = sql_fetsel('sujet, texte, id_docs', 'spip_gamumails', 'slug='.sql_quote($slug));
|
|
}
|
|
|
|
$texte = $gamuMail['texte'] ?? '';
|
|
$sujet = $gamuMail['sujet'] ?? '';
|
|
// faire les remplacement <multi> selon la langue du destinataire (passée en $options[lang])
|
|
if (!empty($options['lang']) && in_array($options['lang'], liste_options_langues('var_lang'))) {
|
|
$texte = extraire_multi($texte, $options['lang']);
|
|
$sujet = extraire_multi($sujet, $options['lang']);
|
|
}
|
|
|
|
$valeurs = array(
|
|
"slug" => $slug,
|
|
'sujet' => $sujet,
|
|
'texte' => $texte,
|
|
'pour' => implode(',', $Tmails),
|
|
'cc' => implode(',', $Tcc),
|
|
'cci' => implode(',', $Tcci),
|
|
'repondre_a' => implode(',', $Trepondre_a),
|
|
'TFichierpdfs' => $TFichierPdf,
|
|
'Tpdfs_ok' => [],
|
|
'docs_spip' => $gamuMail['id_docs'] ?? '',
|
|
'Tid_fichiers' => [],
|
|
'options' => $options,
|
|
'envoi_separe' => $options['envoi_separe'] ?? ''
|
|
);
|
|
|
|
// surcharges charger : d'abord les surcharges pour tous les slugs (tous_charge.php) puis les spécifiques par slug (nom_slug_charger.php)
|
|
if ($f = charger_fonction('tous_charger', 'gamumail', true)) {
|
|
$valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
|
|
}
|
|
if ($f = charger_fonction($slug . '_charger', 'gamumail', true)) {
|
|
$valeurs = $f($valeurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
|
|
}
|
|
|
|
/**
|
|
* Ne pas mettre cette valeur, sinon, on risque d'envoyer par inadvertance un fichier non voulu
|
|
* $valeurs['_bigup_rechercher_fichiers'] = true;
|
|
*/
|
|
|
|
return $valeurs;
|
|
}
|
|
|
|
function formulaires_gamumail_verifier_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{
|
|
$erreurs = array();
|
|
//champs obligatoire
|
|
foreach (array('pour', 'sujet', 'texte') as $obligatoire) {
|
|
if (!_request($obligatoire)) $erreurs[$obligatoire] = 'Ce champs est obligatoire';
|
|
}
|
|
|
|
// le slug est il OK ?
|
|
if (preg_match('/[^a-zA-Z0-9_\-]/', $slug)) {
|
|
$erreurs['message_erreur'] = _T("gamumail:erreur_format_slug");
|
|
}
|
|
/*
|
|
* Finalement on accepte d'utiliser gamumail sans slug
|
|
* Je commente les lignes ci dessous
|
|
*/
|
|
// $res = sql_fetsel('slug', 'spip_gamumails', 'slug = "'.$slug.'"');
|
|
// if (!$res) {
|
|
// $erreurs['message_erreur'] = _T("gamumail:pas_de_slug");
|
|
// }
|
|
|
|
// vérif des destinataires
|
|
$Tid_erreur = $Tmails_erreur = [];
|
|
$pour = explode(',', _request('pour'));
|
|
foreach ($pour as $dest) {
|
|
if (is_numeric($dest)) {
|
|
if (!$mail = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.$dest)) {
|
|
$Tid_erreur[] = $dest;
|
|
}
|
|
}
|
|
elseif (!email_valide($dest)) {
|
|
$Tmails_erreur[] = $dest;
|
|
}
|
|
}
|
|
if (count($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)]);
|
|
}
|
|
|
|
// les id_document attachés sont-ils OK ?
|
|
$docs_spip = [];
|
|
if (_request('docs_spip') != '') {
|
|
$docs_spip = explode(',', _request('docs_spip'));
|
|
}
|
|
if (is_array($docs_spip) and count($docs_spip)) {
|
|
$docs_spip_erreurs = [];
|
|
foreach($docs_spip as $id_doc) {
|
|
if (intval($id_doc) != $id_doc
|
|
OR !sql_getfetsel('id_document', 'spip_documents', 'id_document='.$id_doc)) {
|
|
$docs_spip_erreurs[] = $id_doc;
|
|
}
|
|
}
|
|
if (count($docs_spip_erreurs)) {
|
|
$erreurs['docs_spip'] = _T("gamumail:id_docs_en_erreur", ['id_docs_erreurs' => join(', ', $docs_spip_erreurs)]);
|
|
}
|
|
}
|
|
|
|
// les fichiers envoyés par un éventuel inclure gamumail/#SLUG_fichiers.html sont ils OK ?
|
|
$Tid_doc = [];
|
|
$Tid_doc = _request('Tid_doc');
|
|
if (is_array($Tid_doc) and count($Tid_doc)) {
|
|
$Tid_doc_erreurs = [];
|
|
foreach($Tid_doc as $id_doc) {
|
|
if (intval($id_doc) != $id_doc
|
|
OR !sql_getfetsel('id_document', 'spip_documents', 'id_document='.$id_doc)) {
|
|
$Tid_doc_erreurs[] = $id_doc;
|
|
}
|
|
}
|
|
if (count($Tid_doc_erreurs)) {
|
|
$erreurs['Tid_doc'] = _T("gamumail:id_docs_en_erreur", ['id_docs_erreurs' => join(', ', $Tid_doc_erreurs)]);
|
|
}
|
|
}
|
|
|
|
// surcharges verifier : d'abord les surcharges pour tous les slugs (tous_verifier.php) puis les spécifiques par slug (nom_slug_verifier.php)
|
|
if ($f = charger_fonction('tous_verifier', 'gamumail', true)) {
|
|
$erreurs = $f($erreurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
|
|
}
|
|
if ($f = charger_fonction($slug . '_verifier', 'gamumail', true)) {
|
|
$erreurs = $f($erreurs, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
|
|
}
|
|
|
|
/*
|
|
* Verification des fichiers téléversés
|
|
*/
|
|
defined('_IMG_MAX_WIDTH') || define('_IMG_MAX_WIDTH', 2048);
|
|
$options = [
|
|
'mime' => 'tout_mime',
|
|
'dimension_max' => [
|
|
'largeur' => 10000,
|
|
'hauteur' => 10000,
|
|
]
|
|
];
|
|
|
|
$bigform = charger_fonction('bigform_verifier','inc');
|
|
$bigform($options,$erreurs);
|
|
|
|
return $erreurs;
|
|
}
|
|
|
|
function formulaires_gamumail_traiter_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{
|
|
$retour = [];
|
|
|
|
// blocage de l'envoi par appel du pseudo-slug no_gamumail
|
|
if ($slug === 'no_gamumail') {
|
|
$retour['message_ok'] = _T('gamumail:message_no_gamumail');
|
|
if ($redirect AND $redirect != '') {
|
|
$retour['redirect'] = $redirect;
|
|
}
|
|
spip_log("Pas d'envoi de mail pour cause de slug no_gamumail","gamumail");
|
|
return $retour;
|
|
}
|
|
|
|
include_spip('inc/texte');
|
|
include_spip('classes/facteur');
|
|
|
|
$envoi_separe = _request('envoi_separe') ?? '';
|
|
$options['envoi_separe'] = $envoi_separe;
|
|
|
|
$pour = _request('pour');
|
|
$pour = explode(',', $pour);
|
|
|
|
$destinataires = [];
|
|
foreach ($pour as $dest) {
|
|
if (is_numeric($dest)) {
|
|
if ($mail = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.$dest)) {
|
|
$destinataires[] = $mail;
|
|
}
|
|
} elseif (email_valide($dest)) {
|
|
$destinataires[] = $dest;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* on recupère d'éventuels fichiers téléversés
|
|
*/
|
|
include_spip('inc/joindre_document');
|
|
set_request('joindre_upload','ok');
|
|
$Tfiles = joindre_trouver_fichier_envoye();
|
|
if (!is_array($Tfiles)) {
|
|
$Tfiles = [];
|
|
}
|
|
|
|
if (empty($envoi_separe)) {
|
|
gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $Tfiles, $redirect, $retour);
|
|
} else {
|
|
$ok = true;
|
|
foreach ($destinataires as $d) {
|
|
$r = gamuSend($slug, $options, [$d], $Tclient, $Tpdf, $Tfiles, $redirect);
|
|
if (!$r) {
|
|
$ok = false;
|
|
}
|
|
}
|
|
if (!$ok) {
|
|
$retour['message_erreur'] = _T("gamumail:erreur_envoi_mail");
|
|
}
|
|
else {
|
|
$retour['message_ok'] = _T('gamumail:mail_envoye');
|
|
|
|
// dans le retour message_ok ajouter que le gamumail est OK
|
|
$retour['message_ok'] .= '@@gamumail_ok';
|
|
}
|
|
}
|
|
|
|
|
|
if ($redirect AND $redirect != '') {
|
|
$retour['redirect'] = $redirect;
|
|
}
|
|
|
|
return $retour;
|
|
}
|
|
|
|
|
|
function gamuSend($slug, $options, $destinataires, $Tclient, $Tpdf, $Tfiles, $redirect, &$retour = []) {
|
|
|
|
$cc = _request('cc');
|
|
$cci = _request('cci');
|
|
$repondre_a = _request('repondre_a');
|
|
|
|
$cc = explode(',', $cc);
|
|
$cci = explode(',', $cci);
|
|
$repondre_a = explode(',', $repondre_a);
|
|
|
|
$sujet = _request('sujet');
|
|
$html = propre(_request('texte'));
|
|
$docs_spip = _request('docs_spip');
|
|
$Tpdfs_ok = _request('Tpdfs_ok');
|
|
$Tid_doc = _request('Tid_doc');
|
|
$texte = facteur_mail_html2text($html);
|
|
|
|
$args = $options;
|
|
$args['slug'] = $slug;
|
|
$args['destinataires'] = $destinataires;
|
|
|
|
$pieces_jointes = [];
|
|
if ($f = charger_fonction('traiter_av_pdf', 'gamumail', true)) {
|
|
$options = $f($options, $destinataires, $Tclient, $Tpdf);
|
|
}
|
|
if ($f = charger_fonction($slug . '_traiter_av_pdf', 'gamumail', true)) {
|
|
$options = $f($options, $destinataires, $Tclient, $Tpdf);
|
|
}
|
|
|
|
// les documents par id_document
|
|
$docs_spip = ($docs_spip != '' ? explode(',', $docs_spip) : []);
|
|
if (!empty($docs_spip)) {
|
|
foreach ($docs_spip as $id_document) {
|
|
$protected = '';
|
|
$Tdocument = sql_fetsel('*','spip_documents','id_document='.intval($id_document));
|
|
if (
|
|
array_key_exists('protected', $Tdocument)
|
|
and $Tdocument['protected'] === 'oui'
|
|
) {
|
|
$protected = 'PROTECTED/';
|
|
}
|
|
$destination = _DIR_IMG.$protected.$Tdocument['fichier'];
|
|
$extension = $Tdocument['extension'];
|
|
if ($Tdocument['titre']) {
|
|
$nom_fichier = $Tdocument['titre'] .".".$extension;
|
|
} else {
|
|
$nom_fichier = basename($Tdocument['fichier']);
|
|
}
|
|
$type_mime = bigup_get_mime_type_extension($extension);
|
|
$pieces_jointes[] = [
|
|
'chemin' => $destination,
|
|
'nom' => $nom_fichier,
|
|
'encodage' => 'base64',
|
|
'mime' => $type_mime,
|
|
'quoi' => 'docs_spip',
|
|
'qui' => $id_document
|
|
];
|
|
}
|
|
}
|
|
|
|
// les documents par Tid_doc envoyés depuis inclure gamumail/#SLUG_fichiers.html
|
|
if (!empty($Tid_doc)) {
|
|
foreach ($Tid_doc as $id_doc) {
|
|
$Tdocs = sql_fetsel('titre,fichier,extension','spip_documents','id_document='.intval($id_doc));
|
|
$destination = _DIR_IMG.$Tdocs['fichier'];
|
|
$extension = $Tdocs['extension'];
|
|
if ($Tdocs['titre']) {
|
|
$nom_fichier = $Tdocs['titre'] .".".$extension;
|
|
} else {
|
|
$nom_fichier = basename($Tdocs['fichier']);
|
|
}
|
|
$type_mime = bigup_get_mime_type_extension($extension);
|
|
$pieces_jointes[] = [
|
|
'chemin' => $destination,
|
|
'nom' => $nom_fichier,
|
|
'encodage' => 'base64',
|
|
'mime' => $type_mime,
|
|
'quoi' => 'docs_spip',
|
|
'qui' => $id_doc
|
|
];
|
|
}
|
|
}
|
|
|
|
// les documents par tFiles (téléversés)
|
|
if (!empty($Tfiles)) {
|
|
foreach ($Tfiles as $key => $fichier) {
|
|
$pieces_jointes[] = [
|
|
'chemin' => $fichier['tmp_name'],
|
|
'nom' => $fichier['name'],
|
|
'encodage' => 'base64',
|
|
'mime' => $fichier['type'],
|
|
'quoi' => 'televerser',
|
|
'qui' => $fichier['name']
|
|
];
|
|
}
|
|
}
|
|
|
|
// les pdfs générés en fonction du contexte
|
|
$Tpdf_del = [];
|
|
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) {
|
|
$nom = "mon_fichier";
|
|
foreach ($Tpdf as $cle => $p) {
|
|
if ($p['fichier'].'_'.$cle === $pdf) {
|
|
$fichier = $p['fichier'];
|
|
$c = isset($p['contexte']) ? $p['contexte'] : [];
|
|
$nom = isset($p['nom']) ? $p['nom'] : $fichier;
|
|
}
|
|
}
|
|
|
|
$nom = pipeline('remplacements_slug', array(
|
|
'args' => $args,
|
|
'data' => $nom
|
|
));
|
|
|
|
$c = pipeline('tpdf_charger_contexte', [
|
|
'args' => [
|
|
'destinataires' => $destinataires,
|
|
'contexte' => $c,
|
|
'options' => $options
|
|
], 'data' => $c
|
|
]);
|
|
|
|
$pdf = $recup_pdf($fichier, $c, $args);
|
|
if (!empty($pdf)) {
|
|
$nom_fichier = $nom.'.pdf';
|
|
$destination = _DIR_TMP.basename($nom_fichier);
|
|
$Tpdf_del[] = $destination;
|
|
file_put_contents($destination,$pdf);
|
|
$pieces_jointes[] = [
|
|
'chemin' => $destination,
|
|
'nom' => $nom_fichier,
|
|
'encodage' => 'base64',
|
|
'mime' => 'application/pdf',
|
|
'quoi' => 'pdf_genere',
|
|
'qui' => $fichier
|
|
];
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($f = charger_fonction('traiter_pieces_jointes', 'gamumail', true)) {
|
|
$pc = $f($slug, $options, $destinataires, $Tclient, $Tpdf);
|
|
if (!empty($pc)) {
|
|
$pieces_jointes[] = $pc;
|
|
}
|
|
}
|
|
if ($f = charger_fonction($slug . '_traiter_pieces_jointes', 'gamumail', true)) {
|
|
$pc = $f($options, $destinataires, $Tclient, $Tpdf);
|
|
if (!empty($pc)) {
|
|
$pieces_jointes[] = $pc;
|
|
}
|
|
}
|
|
|
|
$html_header = '';
|
|
if (find_in_path('gamumail/'.$slug .'_html_header.html')) {
|
|
$html_header = recuperer_fond('gamumail/'.$slug . '_html_header', $options);
|
|
}
|
|
elseif(find_in_path('gamumail/html_header.html')) {
|
|
$html_header = recuperer_fond('gamumail/html_header', $options);
|
|
}
|
|
$html_footer = '';
|
|
if (find_in_path('gamumail/'.$slug . '_html_footer.html')) {
|
|
$html_footer = recuperer_fond('gamumail/'.$slug . '_html_footer', $options);
|
|
}
|
|
elseif (find_in_path('gamumail/html_footer.html')) {
|
|
$html_footer = recuperer_fond('gamumail/html_footer', $options);
|
|
}
|
|
$html = $html_header . $html . $html_footer;
|
|
|
|
// pipeline pour les traitement du contenu des slugs spécifiques de chaque plugin
|
|
$html = pipeline('remplacements_slug', array(
|
|
'args' => $args,
|
|
'data' => $html
|
|
));
|
|
|
|
// traitement des remplacements génériques fournis par Gamumail
|
|
$remplacement_generiques = charger_fonction('gamumail_remplacements', 'inc');
|
|
$html = $remplacement_generiques($args, $html);
|
|
|
|
$texte = facteur_mail_html2text($html);
|
|
$corps = [
|
|
'html' => $html,
|
|
'texte' => $texte,
|
|
'cc' => $cc,
|
|
'cci' => $cci,
|
|
'pieces_jointes' => $pieces_jointes
|
|
];
|
|
if ($repondre_a) {
|
|
$corps['repondre_a'] = $repondre_a;
|
|
}
|
|
|
|
// surcharges de traiter : d'abord les surcharges pour tous les slugs (tous_traiter.php) puis les spécifiques par slug (nom_slug_traiter.php)
|
|
if ($f = charger_fonction('traiter', 'gamumail', true)) {
|
|
$corps = $f($corps, $options, $slug, $destinataires, $Tclient, $Tpdf, $redirect);
|
|
}
|
|
// 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, $destinataires);
|
|
}
|
|
|
|
// Gestion des variables dans le sujet du mail (spécifiques + génériques)
|
|
$sujet = pipeline('remplacements_slug',[
|
|
'args' => $args,
|
|
'data' => $sujet
|
|
]);
|
|
$sujet = $remplacement_generiques($args, $sujet);
|
|
|
|
// extraire les multi une fois les remplacements faits
|
|
$lang = $options['lang'] ?? lire_config('langue_site');
|
|
$sujet = extraire_multi($sujet, $lang);
|
|
$corps['html'] = extraire_multi($corps['html'], $lang);
|
|
$corps['texte'] = extraire_multi($corps['texte'], $lang);
|
|
|
|
$args['corps'] = $corps;
|
|
$args['sujet'] = $sujet;
|
|
|
|
// envoyer !
|
|
$envoyer_mail = charger_fonction('envoyer_mail', 'inc/');
|
|
$ok = $envoyer_mail($destinataires, $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 {
|
|
$retour['message_ok'] = _T('gamumail:mail_envoye');
|
|
|
|
// appel d'une éventuelle fonction de traitement si le mail est OK
|
|
$retour = pipeline('post_gamumail_ok', array(
|
|
'args' => $args,
|
|
'data' => $retour
|
|
));
|
|
|
|
// dans le retour message_ok ajouter que le gamumail est OK
|
|
$retour['message_ok'] .= '@@gamumail_ok';
|
|
}
|
|
|
|
// on supprime les pdfs temporaires
|
|
if (count($Tpdf_del)) {
|
|
foreach ($Tpdf_del as $pdf) {
|
|
unlink($pdf);
|
|
}
|
|
}
|
|
|
|
return $ok;
|
|
}
|