Changeset 95505 in spip-zone


Ignore:
Timestamp:
Feb 26, 2016, 9:58:01 AM (4 years ago)
Author:
cedric@…
Message:

test et debug de l'ajout de sender lors de la configuration de mailshot + phpdoc

File:
1 edited

Legend:

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

    r95493 r95505  
    3838        }
    3939
    40         $api_version = 1;
    41         if (isset($config['mailjet_api_version']) AND intval($config['mailjet_api_version'])>1){
    42                 $api_version = intval($config['mailjet_api_version']);
    43         }
    44 
    45         if ($api_version==3){
     40        $mj = mailjet_api();
     41        if ($mj->version==3){
    4642                // on utilise l'API REST
    4743                $options['sender_class'] = "FacteurMailjetv3";
    48                
     44
    4945        }
    5046        else {
     
    7369/**
    7470 * Configurer mailjet : declarer le sender si besoin
     71 * appele depuis traiter() de formulaire_configurer_mailshot
    7572 * @param $flux
    7673 */
     
    8986
    9087        // si le sender n'est pas dans les emails de mailjet l'ajouter
    91         if ($sender_mail)
     88        if ($sender_mail){
    9289                mailjet_add_sender($sender_mail, true);
     90        }
    9391}
    9492
     
    139137        // API v3
    140138        if ($mj->version==3){
    141                 $res = (array)$mj->sender();
     139                $params = array(
     140                        'filters'=>array('Email'=>$sender_email),
     141                );
     142                $res = (array)$mj->sender($params);
    142143                if (!isset($res['Count'])) return null;
    143144                if (isset($res['Data'])){
    144145                        foreach($res['Data'] as $sender){
    145146                                if ($sender['Email'] == $sender_email){
    146                                         if (in_array($sender['Status'],array('Active','Pending'))){
     147                                        if (in_array($sender['Status'],array('Active','Inactive'))){
    147148                                                return strtolower($sender['Status']);
    148149                                        }
     
    174175        $mj = mailjet_api();
    175176
    176         // ajouter un sender
    177         $params = array(
    178                 'method' => 'POST',
    179                 'email' => $sender_email,
    180         );
    181 
    182         $res = (array)$mj->userSenderadd($params);
    183         if (!isset($res['status']) OR $res['status']!=='OK') return null;
     177        if ($mj->version<3){
     178                // ajouter un sender
     179                $params = array(
     180                        'method' => 'POST',
     181                        'email' => $sender_email,
     182                );
     183                $res = (array)$mj->userSenderadd($params);
     184                if (!isset($res['status']) OR $res['status']!=='OK') return null;
     185        }
     186        elseif($mj->version==3){
     187                $params = array(
     188                        'data'=>array('Email'=>$sender_email),
     189                );
     190                $res = $mj->sender($params);
     191
     192                // :id/validate ne force pas la validation mais permet juste de lire l'etat de la validation
     193                /*
     194                // relire pour avoir l'ID
     195                $params = array(
     196                        'filters'=>array('Email'=>$sender_email),
     197                );
     198                $res = $mj->sender($params);
     199                if (!isset($res['Count']) OR !$res['Count']) return null;
     200                if (isset($res['Data'])){
     201                        $sender = reset($res['Data']);
     202                        $id = $sender['ID'];
     203                        $params = array(
     204                                'path'=>"$id/validate",
     205                                'data'=>array(),
     206                        );
     207                        $res = $mj->sender($params);
     208                }
     209                */
     210        }
     211
    184212        return mailjet_sender_status($sender_email);
    185213
     
    355383
    356384                $mj = mailjet_api();
    357                 include_spip('inc/json');
    358                 $res = $mj->send(array('data'=>json_encode($this->message)));
     385                $res = $mj->send(array('data'=>$this->message));
    359386                if (!$res){
    360387                        $this->SetError($mj->_error);
Note: See TracChangeset for help on using the changeset viewer.