Changeset 96722 in spip-zone


Ignore:
Timestamp:
Apr 20, 2016, 4:44:36 PM (4 years ago)
Author:
cedric@…
Message:

Le webhook de test est un POST sans donnees, retourner 200
utiliser curl quand il est dispo si on est en SPIP 3 plutot que recuperer_page
format des erreurs

Location:
_plugins_/mailshot/trunk
Files:
2 edited

Legend:

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

    r96720 r96722  
    116116function bulkmailer_sparkpost_webhook_dist($arg){
    117117
    118         if ($_SERVER['REQUEST_METHOD'] == 'HEAD'){
    119                 http_status(200);
    120                 exit;
    121         }
    122 
    123118        // les donnes sont postees en JSON RAW
    124119        $data = $GLOBALS['HTTP_RAW_POST_DATA'];
    125120        spip_log("bulkmailer_sparkpost_webhook_dist $data","mailshot");
    126121
     122        // quand on ajoute le webhook Sparkpost fait un POST sans donnees
     123        if ($_SERVER['REQUEST_METHOD'] == 'HEAD' OR !strlen($data)){
     124                http_status(200);
     125                exit;
     126        }
     127
    127128        include_spip('inc/json');
    128         if (!$data OR !$events = json_decode($data, true)){
     129        if (!$events = json_decode($data, true)){
    129130                http_status(403);
    130131                exit;
     
    296297                }
    297298        }
     299        elseif(function_exists('curl_init')){
     300                $ch = curl_init();
     301                $headers = explode("\n",$headers);
     302                curl_setopt($ch, CURLOPT_URL, $url);
     303                curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
     304                curl_setopt($ch, CURLOPT_HEADER, FALSE);
     305                curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
     306                if ($data){
     307                        curl_setopt($ch, CURLOPT_POST, TRUE);
     308                        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
     309                }
     310                $response = curl_exec($ch);
     311                curl_close($ch);
     312        }
    298313        else {
    299314                $response = recuperer_page($url, '', '', '', $post_data);
     
    303318                $response = array(
    304319                        'errors' => array(
    305                                 'code' => '???',
    306                                 'message' => 'Fail recuperer_page'
     320                                array(
     321                                        'code' => '???',
     322                                        'message' => 'Fail recuperer_page'
     323                                )
    307324                        )
    308325                );
     
    310327
    311328        if (isset($response['errors'])){
    312                 spip_log("SparkPost API Call $method : Erreur ".$response['errors']['code'].' '.$response['errors']['message'],'mailshot'._LOG_ERREUR);
     329                foreach($response['errors'] as $err){
     330                        spip_log("SparkPost API Call $method : Erreur ".$err['code'].' '.$err['message'],'mailshot'._LOG_ERREUR);
     331                }
    313332        }
    314333
  • _plugins_/mailshot/trunk/paquet.xml

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