le passage en cci en cas de destinataires multiple dépend de l' ['cci'=>true]. Plus de confort pour le paramètre : on accepte un array ou une string avec , (et toujours id_auteurs en mix avec adresses mail)
This commit is contained in:
parent
f0221e8221
commit
617df6ea97
2 changed files with 17 additions and 11 deletions
|
@ -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)) {
|
||||
|
|
|
@ -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 '<br>$sujet: '.$sujet.'<br>$corps : ';
|
||||
|
|
Loading…
Add table
Reference in a new issue