From 7e5a6a8e8b903816b3c151b24a4b823c2193a62f Mon Sep 17 00:00:00 2001 From: tofulm Date: Sun, 26 Apr 2020 22:00:03 +0200 Subject: [PATCH] =?UTF-8?q?pour=20chaque=20fonction=20charger=20/=20verifi?= =?UTF-8?q?er=20/=20traiter=20du=20formulaire=20d'envoi,=20on=20peut=20se?= =?UTF-8?q?=20brancher=20facilement=20dessus=20en=20cr=C3=A9ant=20un=20fic?= =?UTF-8?q?hier=20dans=20un=20dossier=20gamumail=20avec=20une=20fonction?= =?UTF-8?q?=20du=20type=20:=20charger=5Fslug.php,=20verifier=5Fslug.php,?= =?UTF-8?q?=20traiter=5Fslug.php=20et=20pour=20chaque=20fichier=20une=20fo?= =?UTF-8?q?nction=20:=20gamumail=5Fcharger=5Fslug($slug,=20$auteur,=20$Tcl?= =?UTF-8?q?ient,=20$Tpdf,=20$redirect,=20$options,&$valeurs)=20les=20premi?= =?UTF-8?q?ers=20args,=20sont=20les=20memes=20que=20ceux=20des=20fonctions?= =?UTF-8?q?=20CVT,=20le=20dernier=20est=20sp=C3=A9cifique=20:=20$valeurs?= =?UTF-8?q?=20/=20$erreurs=20/=20$corps=20(array=20envoy=C3=A9)=20TODO=20a?= =?UTF-8?q?jouter=20les=20pdfs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- formulaires/gamumail.php | 60 ++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/formulaires/gamumail.php b/formulaires/gamumail.php index a97cc17..f630508 100644 --- a/formulaires/gamumail.php +++ b/formulaires/gamumail.php @@ -15,7 +15,7 @@ include_spip('inc/filtres'); * @param array $options * @return array $valeurs */ -function formulaires_gamumail_charger_dist($slug, $auteur = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []) :Array{ +function formulaires_gamumail_charger_dist($slug, $auteur = 0, $Tclient = [], $Tpdf = [], $redirect = '', $options = []){ $Tmails = []; if (intval($auteur)) { @@ -64,6 +64,10 @@ function formulaires_gamumail_charger_dist($slug, $auteur = 0, $Tclient = [], $T 'options' => $options ); + if ($f = charger_fonction('charger_' . $slug, 'gamumail', true)) { + $f($slug, $auteur, $Tclient, $Tpdf, $redirect, $options, $valeurs); + } + return $valeurs; } @@ -75,13 +79,9 @@ function formulaires_gamumail_verifier_dist($slug, $auteur = 0, $Tclient = [], $ 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 !'; - //} + if ($f = charger_fonction('verifier_' . $slug, 'gamumail', true)) { + $f($slug, $auteur, $Tclient, $Tpdf, $redirect, $options, $erreurs); + } return $erreurs; } @@ -108,28 +108,40 @@ function formulaires_gamumail_traiter_dist($slug, $auteur = 0, $Tclient = [], $T $pieces_jointes = []; + + // les documents joints if (!empty($Tid_doc)) { - $from = [ - - ]; - foreach ($Tid_doc as $id_doc) { - $doc = sql_fetsel('fichier', 'titre', ) + foreach ($Tid_doc as $id_document) { + $Tdocument = sql_fetsel('titre,fichier,extension','spip_documents','id_document='.intval($id_document)); + $destination = _DIR_IMG.'/'.$Tdocument['fichier']; + $extension = $Tdocument['extension']; + if ($Tdocument['titre']) { + $nom_fichier = $Tdocument['titre'] .".".$extension; + } else { + $nom_fichier = basename($Tdocument['fichier']); + } + $type_mime = bigup_get_mime_type_extension($extension); + $pieces_jointes[] = [ + 'chemin' => $destination, + 'nom' => $nom_fichier, + 'encodage' => 'base64', + 'mime' => $type_mime + ]; } - } - $pieces_jointes = array( - array('chemin' => $chemin_absolu, - 'nom' => 'azerty', - 'encodage' => 'base64', - 'mime' => 'image/jpeg') - ); + $corps = [ - 'html' => $html, - 'texte' => $texte, - 'cc' => $cc, - 'cci' => $cci + 'html' => $html, + 'texte' => $texte, + 'cc' => $cc, + 'cci' => $cci, + 'pieces_jointes' => $pieces_jointes ]; + if ($f = charger_fonction('traiter_' . $slug, 'gamumail', true)) { + $f($slug, $auteur, $Tclient, $Tpdf, $redirect, $options, $corps); + } + $envoyer_mail = charger_fonction('envoyer_mail', 'inc/'); $ok = $envoyer_mail($pour, $sujet, $corps);