Changeset 96725 in spip-zone


Ignore:
Timestamp:
Apr 20, 2016, 5:33:17 PM (4 years ago)
Author:
cedric@…
Message:

HTTP_RAW_POST_DATA est depreciee en PHP 5.6+, bugfix format des message webhooks

Location:
_plugins_/mailshot/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/mailshot/trunk/bulkmailer/mailjet.php

    r96719 r96725  
    106106
    107107        // les donnes sont postees en JSON RAW
    108         $data = $GLOBALS['HTTP_RAW_POST_DATA'];
     108        if (isset($GLOBALS['HTTP_RAW_POST_DATA']) AND $GLOBALS['HTTP_RAW_POST_DATA']){
     109                $data = $GLOBALS['HTTP_RAW_POST_DATA'];
     110        }
     111        // PHP 5.6+ : $GLOBALS['HTTP_RAW_POST_DATA'] obsolete et non peuplee
     112        else {
     113                $data = file_get_contents('php://input');
     114        }
    109115        spip_log("bulkmailer_mailjet_webhook_dist $data","mailshot");
    110116
  • _plugins_/mailshot/trunk/bulkmailer/sparkpost.php

    r96723 r96725  
    117117
    118118        // les donnes sont postees en JSON RAW
    119         $data = $GLOBALS['HTTP_RAW_POST_DATA'];
     119        if (isset($GLOBALS['HTTP_RAW_POST_DATA']) AND $GLOBALS['HTTP_RAW_POST_DATA']){
     120                $data = $GLOBALS['HTTP_RAW_POST_DATA'];
     121        }
     122        // PHP 5.6+ : $GLOBALS['HTTP_RAW_POST_DATA'] obsolete et non peuplee
     123        else {
     124                $data = file_get_contents('php://input');
     125        }
     126
    120127        spip_log("bulkmailer_sparkpost_webhook_dist $data","mailshot");
    121128
     
    132139        }
    133140
    134         if (isset($events['msys'])) $events = $events['msys'];
    135141        // si un seul event, on le met dans un tableau pour tout traiter de la meme facon
    136         if (isset($events['message_event'])) {
    137                 $events = array($events['message_event']);
    138         }
    139 
    140         foreach($events as $event){
    141                 // array("open", "click", "bounce", "spam", "blocked");
    142                 $quoi = $event['type'];
    143                 if ($quoi=="open") $quoi="read"; // open chez sparkpost, read ici
    144                 if ($quoi=="click") $quoi="clic"; // click chez sparkpost, clic ici
    145                 if ($quoi=="bounce") $quoi="soft_bounce"; // bounce chez sparkpost, soft_bounce ici
    146                 //if ($quoi=="blocked") $quoi="reject"; // blocked chez sparkpost, reject ici
    147 
    148                 $email = $event['rcpt_to'];
    149                 $tracking_id = $event['campaign_id'];
    150                 if ($tracking_id){
    151                         $tracking_id = explode('/#',$tracking_id);
    152                         if (reset($tracking_id)==protocole_implicite($GLOBALS['meta']['adresse_site'])){
    153                                 $tracking_id = end($tracking_id);
    154                                 spip_log("tracking $quoi $email $tracking_id",'mailshot');
    155                                 // appeler l'api webhook mailshot
    156                                 $feedback = charger_fonction("feedback","newsletter");
    157                                 $feedback($quoi,$email,$tracking_id);
     142        if (isset($events['msys'])) {
     143                $events = array($events);
     144        }
     145
     146        foreach($events as $e){
     147                if (isset($e['msys']['track_event'])) {
     148                        $event = &$e['msys']['track_event'];
     149                        // array("open", "click", "bounce", "spam", "blocked");
     150                        $quoi = $event['type'];
     151                        if ($quoi == "open") {
     152                                $quoi = "read"; // open chez sparkpost, read ici
     153                        }
     154                        if ($quoi == "click") {
     155                                $quoi = "clic"; // click chez sparkpost, clic ici
     156                        }
     157                        if ($quoi == "bounce") {
     158                                $quoi = "soft_bounce"; // bounce chez sparkpost, soft_bounce ici
     159                        }
     160                        //if ($quoi=="blocked") $quoi="reject"; // blocked chez sparkpost, reject ici
     161
     162                        $email = $event['rcpt_to'];
     163                        $tracking_id = $event['campaign_id'];
     164                        if ($tracking_id) {
     165                                $tracking_id = explode('/#', $tracking_id);
     166                                if (reset($tracking_id) == protocole_implicite($GLOBALS['meta']['adresse_site'])) {
     167                                        $tracking_id = end($tracking_id);
     168                                        spip_log("tracking $quoi $email $tracking_id", 'mailshot');
     169                                        // appeler l'api webhook mailshot
     170                                        $feedback = charger_fonction("feedback", "newsletter");
     171                                        $feedback($quoi, $email, $tracking_id);
     172                                }
    158173                        }
    159174                }
  • _plugins_/mailshot/trunk/paquet.xml

    r96723 r96725  
    22        prefix="mailshot"
    33        categorie="communication"
    4         version="1.15.2"
     4        version="1.15.3"
    55        etat="stable"
    66        compatibilite="[3.0.5;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.