Changeset 65614 in spip-zone


Ignore:
Timestamp:
Sep 6, 2012, 3:15:39 PM (7 years ago)
Author:
cedric@…
Message:

Notification des forums : c'est du contenu html mis en forme par des raccourcis spip, le conserver intact pour l'envoyer dans un mail html plutot que le transformer en texte pour faire un mail texte puis re formater le mail en html par un wrapper qui perd des mises en forme.

On utilise le wrapper pour formater le mail directement en html, et on le fournit a la fonction notifications_envoyer_mails avec les bons arguments.
Si pas de plugin facteur, c'est le mail texte qui est utilisé, comme avant.

Location:
_plugins_/notifications/trunk
Files:
3 added
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/notifications/trunk/notifications/forumposte.php

    r62743 r65614  
    8989
    9090                $texte = $email_notification_forum($t, $email, $contexte);
    91                 notifications_envoyer_mails($email, $texte);
     91                notifications_envoyer_mails_texte_ou_html($email, $texte);
    9292        }
    9393
  • _plugins_/notifications/trunk/notifications/forumprive.php

    r62720 r65614  
    7979        foreach ($destinataires as $email) {
    8080                $texte = $email_notification_forum($t, $email);
    81                 notifications_envoyer_mails($email, $texte);
     81                notifications_envoyer_mails_texte_ou_html($email, $texte);
    8282        }
    8383}
  • _plugins_/notifications/trunk/notifications/forumvalide.php

    r57390 r65614  
    8282        foreach ($destinataires as $email) {
    8383                $texte = $email_notification_forum($t, $email);
    84                 notifications_envoyer_mails($email, $texte);
     84                notifications_envoyer_mails_texte_ou_html($email, $texte);
    8585        }
    8686
  • _plugins_/notifications/trunk/notifications_pipelines.php

    r60067 r65614  
    259259}
    260260
     261/**
     262 * Pretraiter le mail/sujet quand il est au format html
     263 * pour la fonction notifications_envoyer_mails qui ne sait traiter que les mails html
     264 *
     265 * @param string $email
     266 * @param $texte_ou_html
     267 */
     268function notifications_envoyer_mails_texte_ou_html($email, $texte_ou_html){
     269        $texte_ou_html = trim($texte_ou_html);
     270
     271        // tester si le mail est deja en html
     272        if (substr($texte_ou_html,0,1)=="<"
     273          AND substr($texte_ou_html,-1,1)==">"
     274          AND stripos($texte_ou_html,"</html>")!==false){
     275
     276                // dans ce cas on ruse un peu : extraire le sujet du title
     277                $sujet = "";
     278                if (preg_match(",<title>(.*)</title>,Uims",$texte_ou_html,$m))
     279                        $sujet = $m[1];
     280
     281                // et envoyer un content-type pour envoyer_mail
     282                return notifications_envoyer_mails($email, $texte_ou_html, $sujet, "","Content-Type: text/html\n");
     283        }
     284        else
     285                // texte brut, on passe
     286                return notifications_envoyer_mails($email, $texte_ou_html);
     287}
     288
    261289/* TODO
    262290        // Envoyer un message de bienvenue/connexion au posteur du forum,
  • _plugins_/notifications/trunk/paquet.xml

    r65467 r65614  
    22        prefix="notifications"
    33        categorie="communication"
    4         version="2.0.16"
     4        version="2.1.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.