gamuMail/gamumail_fonctions.php

118 lines
2.8 KiB
PHP

<?php
/**
* Fonctions utiles au plugin GamuMail
*
* @plugin GamuMail
* @copyright 2020
* @author tofulm
* @licence GNU/GPL
* @package SPIP\Gamumail\Fonctions
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
// retourne un array OK comme élément du paramètre $Tclient passé à gamumail_charger
function gamumail_TabClient($objet, $id_objet, $champ, $copie=''){
return compact('objet', 'id_objet', 'champ', 'copie');
}
function gamumail_supprimer_si_vide($v){
if (!empty($v)) {
return $v;
}
}
function tester_slug($slug, $destinataires,$options=[]) {
$f = charger_fonction('envoyer_gamumail', 'inc');
$options['debug'] = true;
return $f($slug, $destinataires, $options);
}
/**
* modèles pour surcharge des fonctions du CVT gamumail
* chacune de ces fonctions a un équivalent spécifique pour chaque slug
* avec un nom de la forme gamumail_$slug_charger(), gamumail_$slug_verifier()...
**/
/**
* fonction appelée en fin de gamumail_charger_dist()
*
* @return $valeurs = array(
* "slug" => $slug,
* 'sujet' => $gamuMail['sujet'],
* 'texte' => $gamuMail['texte'],
* 'pour' => implode(',', $Tmails),
* 'cc' => lire_config('gamumail/mail_cc'),
* 'cci' => lire_config('gamumail/mail_cci'),
* 'TFichierpdfs' => $TFichierPdf,
* 'Tpdfs_ok' => [],
* 'Tid_doc' => [],
* 'options' => $options
* );
*
**/
function gamumail_charger_dist($valeurs, $options, $slug, $destinataires='', $Tclient=[], $Tpdf=[], $redirect='') {
return $valeurs;
}
/**
* fonction appelée en fin de gamumail_verifier_dist()
*
* @return array $erreurs
*
**/
function gamumail_verifier_dist($erreurs, $options, $slug, $destinataires='', $Tclient=[], $Tpdf=[], $redirect='') {
return $erreurs;
}
/**
* fonctions appelée en fin de gamumail_traiter_dist()
*
* @param array $corps[] => cf return
* @param string $slug modele du mail a charger
* @param string $destinataires = adresses mails et id_auteurs séparées par ,
* @param array $options
*
* @return array $corps
* $corps = [
* 'html' => $html,
* 'texte' => $texte,
* 'cc' => $cc,
* 'cci' => $cci,
* 'pieces_jointes' => $pieces_jointes
* ];
*
**/
function gamumail_traiter_dist($corps, $options, $slug, $destinataires='') {
$html = $corps['html'];
include_spip('classes/facteur');
$texte = facteur_mail_html2text($html);
$corps['html'] = $html;
$corps['texte'] = $texte;
return $corps;
}
function gamumail_remplacer_modele($modele, $val, $texte){
if (empty($val)) {
$val = ' ';
}
if ($texte and $modele and $val) {
return str_replace('@@'.$modele.'@@', $val, $texte);
}
return $texte;
}
/**
* le filtre pour retourner l'array des remplacements
**/
function afficher_remplacements() {
return $GLOBALS['remplacements_gamumail'];
}