C'est parti : pour le charger du form, je pense avoir toutes les
situations, on ajoutera dans le html, un inclure spécifique en fonction du slug
This commit is contained in:
parent
615c67ce77
commit
7d76ba239f
1 changed files with 93 additions and 0 deletions
93
formulaires/gamumail.php
Normal file
93
formulaires/gamumail.php
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
<?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 int|string $auteur id_auteur ou email du destinataire
|
||||||
|
* @param array $TobjetMailSup []['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email'] ou ['objet' => 'app_client', 'id_objet' => 3, 'champ' => 'email']
|
||||||
|
* @param array $Tpdf []['slug' => 'pdf_facture', 'contexte' => ['id_app_facture' => 3]] ou ['slug' => 'pdf_facture', 'contexte' => ['id_app_facture' => 3]]
|
||||||
|
* @param string $redirect
|
||||||
|
* @return array $valeurs
|
||||||
|
*/
|
||||||
|
function formulaires_gamumail_charger_dist($slug, $auteur = 0, $TobjetMailSup = [], $Tpdf = [], $redirect = '') :Array{
|
||||||
|
|
||||||
|
$Tmails = [];
|
||||||
|
if (intval($auteur)) {
|
||||||
|
$Tmails[] = sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.intval($auteur));
|
||||||
|
} elseif (is_string($auteur)) {
|
||||||
|
if (email_valide($auteur)) {
|
||||||
|
$Tmails[] = $auteur;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($TobjetMailSup) and count($TobjetMailSup)) {
|
||||||
|
if (array_key_exists('objet', $TobjetMailSup)) {
|
||||||
|
$TobjetMailSup = [$TobjetMailSup];
|
||||||
|
}
|
||||||
|
foreach ($TobjetMailSup 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']));
|
||||||
|
if (email_valide($mail)) {
|
||||||
|
$Tmails[] = $mail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$valeurs = array(
|
||||||
|
"slug" => $slug,
|
||||||
|
'sujet' => '',
|
||||||
|
'texte' => '',
|
||||||
|
'Tmails' => implode(',', $Tmails),
|
||||||
|
'Tid_doc' => []
|
||||||
|
);
|
||||||
|
|
||||||
|
return $valeurs;
|
||||||
|
}
|
||||||
|
|
||||||
|
function formulaires_gamumail_verifier_dist($slug, $auteur = 0, $TobjetMailSup = [], $Tpdf = [], $redirect = '') :Array{
|
||||||
|
|
||||||
|
$erreurs = array();
|
||||||
|
//champs obligatoire
|
||||||
|
//foreach (array ('') as $obligatoire) {
|
||||||
|
//if (!_request($obligatoire)) $erreurs[$obligatoire] = 'Ce champs est obligatoire';
|
||||||
|
//}
|
||||||
|
|
||||||
|
////autres erreurs
|
||||||
|
//$erreurs[''] = "Ce champ ne convient pas.";
|
||||||
|
|
||||||
|
////Il y a des erreurs
|
||||||
|
//if (count($erreurs)) {
|
||||||
|
//$erreurs['message_erreur'] = 'Votre saisie contient des erreurs !';
|
||||||
|
//}
|
||||||
|
|
||||||
|
return $erreurs;
|
||||||
|
}
|
||||||
|
|
||||||
|
function formulaires_gamumail_traiter_dist($slug, $auteur = 0, $TobjetMailSup = [], $Tpdf = [], $redirect = '') :Array{
|
||||||
|
|
||||||
|
$retour = array();
|
||||||
|
|
||||||
|
$gamumail_traiter = charger_fonction('gamumail_traiter','inc');
|
||||||
|
$gamumail_traiter($slug, $objet = '', $id_objet = '', $Tid_auteur = [], $Temail = []);
|
||||||
|
|
||||||
|
|
||||||
|
$retour['message_ok'] = "bravo";
|
||||||
|
if ($redirect) {
|
||||||
|
$retour['redirect'] = $redirect;
|
||||||
|
}
|
||||||
|
$retour['editable'] = true;
|
||||||
|
|
||||||
|
return $retour;
|
||||||
|
}
|
||||||
|
|
||||||
|
function gamumail_supprimer_si_vide($v){
|
||||||
|
if (!empty($v)) {
|
||||||
|
return $v;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue