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
|
* formulaire générique pour envoyer des mails avec pieces attachés
|
||||||
*
|
*
|
||||||
* @param string $slug modele du mail a charger
|
* @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
|
* 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 $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 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
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){
|
function formulaires_gamumail_charger_dist($slug, $destinataires = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){
|
||||||
$Tmails = [];
|
$Tmails = [];
|
||||||
$destinataires = explode(',', $destinataires);
|
if (!is_array($destinataires)) {
|
||||||
|
$destinataires = explode(',', $destinataires);
|
||||||
|
}
|
||||||
foreach ($destinataires as $dest) {
|
foreach ($destinataires as $dest) {
|
||||||
if (is_numeric($dest)) {
|
if (is_numeric($dest)) {
|
||||||
if ($mail = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.$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
|
* fonction pour préparer et envoyer un mail basé sur un slug gamumail
|
||||||
*
|
*
|
||||||
* @param string $slug
|
* @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
|
* 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['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 = []) {
|
function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
|
||||||
|
@ -39,7 +40,9 @@ function inc_envoyer_gamumail($slug, $destinataires, $options = []) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// destinataires
|
// destinataires
|
||||||
$destinataires = explode(',', $destinataires);
|
if (!is_array($destinataires)) {
|
||||||
|
$destinataires = explode(',', $destinataires);
|
||||||
|
}
|
||||||
$pour = array();
|
$pour = array();
|
||||||
foreach ($destinataires as $dest) {
|
foreach ($destinataires as $dest) {
|
||||||
if (is_numeric($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 != '');
|
return ($elem != NULL AND $elem != '');
|
||||||
}
|
}
|
||||||
$cc = array_filter(explode(',', lire_config('gamumail/mail_cc')), 'test_vide');
|
$cc = array_filter(explode(',', lire_config('gamumail/mail_cc')), 'non_vide');
|
||||||
$cci = array_filter(explode(',', lire_config('gamumail/mail_cci')), 'test_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
|
// 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) {
|
if (count($pour) > 1 AND isset($options['cci']) AND $options['cci']) {
|
||||||
$cci = array_unique(array_merge($cci, $pour));
|
$cci = array_unique(array_merge($cci, $pour));
|
||||||
$pour = [lire_config('facteur/adresse_envoi_email',lire_config('email_webmaster'))];
|
$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
|
// si debug on affiche sans envoyer le mail
|
||||||
if ($options['debug']) {
|
if (isset($options['debug']) AND $options['debug']) {
|
||||||
echo '$pour : ';
|
echo '$pour : ';
|
||||||
var_dump($pour);
|
var_dump($pour);
|
||||||
echo '<br>$sujet: '.$sujet.'<br>$corps : ';
|
echo '<br>$sujet: '.$sujet.'<br>$corps : ';
|
||||||
|
|
Loading…
Add table
Reference in a new issue