Changeset 118885 in spip-zone


Ignore:
Timestamp:
Dec 3, 2019, 2:32:15 PM (6 days ago)
Author:
Cerdic
Message:

renommage de variable + php doc flag important

Location:
_plugins_/facteur/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/facteur/trunk

    • Property subgit:lock:4dc81bf6f782656558cc4f100222473ed805d3e3 deleted
    • Property subgit:lock:fa1734cbdbff7a61b5a555e126f54133d927bcd5 set to 2019-12-03T15:32:21.067
  • _plugins_/facteur/trunk/inc/envoyer_mail.php

    r118884 r118885  
    2121 * @param string $destinataire
    2222 * @param string $sujet
    23  * @param string|array $corps
     23 * @param string|array $message
    2424 *   au format string, c'est un corps d'email au format texte, comme supporte nativement par le core
    2525 *   au format array, c'est un corps etendu qui peut contenir
     
    4343 *     array headers : tableau d'en-tetes personalises, une entree par ligne d'en-tete
    4444 *     bool exceptions : lancer une exception en cas d'erreur (false par defaut)
    45  * @param string $from (deprecie, utiliser l'entree from de $corps)
    46  * @param string $headers (deprecie, utiliser l'entree headers de $corps)
     45 *     bool important : un flag pour signaler les messages important qui necessitent un feedback en cas d'erreur
     46 * @param string $from (deprecie, utiliser l'entree from de $message)
     47 * @param string $headers (deprecie, utiliser l'entree headers de $message)
    4748 * @return bool
    4849 */
    49 function inc_envoyer_mail($destinataire, $sujet, $corps, $from = "", $headers = "") {
     50function inc_envoyer_mail($destinataire, $sujet, $message, $from = "", $headers = "") {
    5051        $message_html   = '';
    5152        $message_texte  = '';
     
    5455        $important = false;
    5556
    56         // si $corps est un tableau -> fonctionnalites etendues
     57        // si $message est un tableau -> fonctionnalites etendues
    5758        // avec entrees possible : html, texte, pieces_jointes, nom_envoyeur, ...
    58         if (is_array($corps)) {
    59                 $message_html   = isset($corps['html']) ? $corps['html'] : "";
    60                 $message_texte  = isset($corps['texte']) ? nettoyer_caracteres_mail($corps['texte']) : "";
    61                 $pieces_jointes = isset($corps['pieces_jointes']) ? $corps['pieces_jointes'] : array();
    62                 $nom_envoyeur   = isset($corps['nom_envoyeur']) ? $corps['nom_envoyeur'] : "";
    63                 $from = isset($corps['from']) ? $corps['from']: $from;
    64                 $cc   = isset($corps['cc']) ? $corps['cc'] : "";
    65                 $bcc  = isset($corps['bcc']) ? $corps['bcc'] : "";
    66                 $repondre_a = isset($corps['repondre_a']) ? $corps['repondre_a'] : "";
    67                 $nom_repondre_a = isset($corps['nom_repondre_a']) ? $corps['nom_repondre_a'] : '';
    68                 $adresse_erreur = isset($corps['adresse_erreur']) ? $corps['adresse_erreur'] : "";
    69                 $headers = isset($corps['headers']) ? $corps['headers'] : $headers;
     59        if (is_array($message)) {
     60                $message_html   = isset($message['html']) ? $message['html'] : "";
     61                $message_texte  = isset($message['texte']) ? nettoyer_caracteres_mail($message['texte']) : "";
     62                $pieces_jointes = isset($message['pieces_jointes']) ? $message['pieces_jointes'] : array();
     63                $nom_envoyeur   = isset($message['nom_envoyeur']) ? $message['nom_envoyeur'] : "";
     64                $from = isset($message['from']) ? $message['from']: $from;
     65                $cc   = isset($message['cc']) ? $message['cc'] : "";
     66                $bcc  = isset($message['bcc']) ? $message['bcc'] : "";
     67                $repondre_a = isset($message['repondre_a']) ? $message['repondre_a'] : "";
     68                $nom_repondre_a = isset($message['nom_repondre_a']) ? $message['nom_repondre_a'] : '';
     69                $adresse_erreur = isset($message['adresse_erreur']) ? $message['adresse_erreur'] : "";
     70                $headers = isset($message['headers']) ? $message['headers'] : $headers;
    7071                if (is_string($headers)){
    7172                        $headers = array_map('trim',explode("\n",$headers));
    7273                        $headers = array_filter($headers);
    7374                }
    74                 $important = (isset($corps['important']) ? !!$corps['important'] : $important);
    75         }
    76         // si $corps est une chaine -> compat avec la fonction native SPIP
     75                $important = (isset($message['important']) ? !!$message['important'] : $important);
     76        }
     77        // si $message est une chaine -> compat avec la fonction native SPIP
    7778        // gerer le cas ou le corps est du html avec un Content-Type: text/html dans les headers
    7879        else {
    7980                if (preg_match(',Content-Type:\s*text/html,ims',$headers)){
    80                         $message_html   = $corps;
     81                        $message_html   = $message;
    8182                }
    8283                else {
    8384                        // Autodetection : tester si le mail est en HTML
    8485                        if (strpos($headers,"Content-Type:")===false
    85                                 AND strpos($corps,"<")!==false // eviter les tests suivants si possible
    86                                 AND $ttrim = trim($corps)
     86                                AND strpos($message,"<")!==false // eviter les tests suivants si possible
     87                                AND $ttrim = trim($message)
    8788                                AND substr($ttrim,0,1)=="<"
    8889                                AND substr($ttrim,-1,1)==">"
    8990                                AND stripos($ttrim,"</html>")!==false){
    9091
    91                                 $message_html   = $corps;
     92                                $message_html   = $message;
    9293                        }
    9394                        // c'est vraiment un message texte
    9495                        else
    95                                 $message_texte  = nettoyer_caracteres_mail($corps);
     96                                $message_texte  = nettoyer_caracteres_mail($message);
    9697                }
    9798                $headers = array_map('trim',explode("\n",$headers));
     
    147148
    148149        $exceptions = false;
    149         if (is_array($corps) AND isset($corps['exceptions'])){
    150                 $exceptions = $corps['exceptions'];
     150        if (is_array($message) AND isset($message['exceptions'])){
     151                $exceptions = $message['exceptions'];
    151152        }
    152153
     
    202203        // On crée l'objet Facteur (PHPMailer) pour le manipuler ensuite
    203204        $options = array();
    204         if (is_array($corps) AND !empty($corps['exceptions'])){
    205                 $options['exceptions'] = $corps['exceptions'];
     205        if ($exceptions){
     206                $options['exceptions'] = $exceptions;
    206207        }
    207208        include_spip('inc/facteur');
    208209        $facteur = facteur_factory($options);
     210
    209211        $facteur->setDest($destinataire);
    210212        $facteur->setObjet($sujet);
     
    301303
    302304        // si entetes personalises : les ajouter
    303         // attention aux collisions : si on utilise l'option cc de $corps
     305        // attention aux collisions : si on utilise l'option cc de $message
    304306        // et qu'on envoie en meme temps un header Cc: xxx, yyy
    305307        // on aura 2 lignes Cc: dans les headers
Note: See TracChangeset for help on using the changeset viewer.