diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php
index 6ae9016..12932f5 100644
--- a/formulaires/gamumail.php
+++ b/formulaires/gamumail.php
@@ -8,17 +8,20 @@ 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 ,
+ * @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 []['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', 'nom' => 'facture_123', 'contexte' => ['id_app_facture' => 3]]
* @param string $redirect
* @param array $options
* @return array $valeurs
+ *
*/
function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){
$Tmails = [];
- $destinataires = explode(',', $destinataires);
+ if (!is_array($destinataires)) {
+ $destinataires = explode(',', $destinataires);
+ }
foreach ($destinataires as $dest) {
if (is_numeric($dest)) {
if ($mail = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.$dest)) {
diff --git a/inc/envoyer_gamumail.php b/inc/envoyer_gamumail.php
index 8a22a01..2197aa5 100644
--- a/inc/envoyer_gamumail.php
+++ b/inc/envoyer_gamumail.php
@@ -7,10 +7,11 @@ if (!defined('_ECRIRE_INC_VERSION')){
* fonction pour préparer et envoyer un mail basé sur un slug gamumail
*
* @param string $slug
- * @param string $destinataires = adresses mails et id_auteur séparées par ,
+ * @param string|array $destinataires = adresses mails et id_auteur 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 $options (au cas où...)
+ * @param array $options :
* $options['debug' => true] pour afficher le $corps final sans envoyer le mail
+ * $options['cci' => true] pour passer les destinataires en cci si il y en a plus qu'un
*
**/
function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
@@ -39,7 +40,9 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
}
// destinataires
- $destinataires = explode(',', $destinataires);
+ if (!is_array($destinataires)) {
+ $destinataires = explode(',', $destinataires);
+ }
$pour = array();
foreach ($destinataires as $dest) {
if (is_numeric($dest)) {
@@ -52,14 +55,14 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
}
}
- function test_vide($elem) {
+ function non_vide($elem) {
return ($elem != NULL AND $elem != '');
}
- $cc = array_filter(explode(',', lire_config('gamumail/mail_cc')), 'test_vide');
- $cci = array_filter(explode(',', lire_config('gamumail/mail_cci')), 'test_vide');
+ $cc = array_filter(explode(',', lire_config('gamumail/mail_cc')), 'non_vide');
+ $cci = array_filter(explode(',', lire_config('gamumail/mail_cci')), 'non_vide');
- // si on a plusieurs destinataires, les passer en cci et mettre le compte expéditeur du site en to
- if (count($pour) > 1) {
+ // si on a plusieurs destinataires et $options['cci' => true] les passer en cci et mettre le compte expéditeur du site en to
+ if (count($pour) > 1 AND isset($options['cci']) AND $options['cci']) {
$cci = array_unique(array_merge($cci, $pour));
$pour = [lire_config('facteur/adresse_envoi_email',lire_config('email_webmaster'))];
}
@@ -166,7 +169,7 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
}
// si debug on affiche sans envoyer le mail
- if ($options['debug']) {
+ if (isset($options['debug']) AND $options['debug']) {
echo '$pour : ';
var_dump($pour);
echo '
$sujet: '.$sujet.'
$corps : ';