Changeset 96734 in spip-zone


Ignore:
Timestamp:
Apr 21, 2016, 10:02:55 AM (3 years ago)
Author:
cedric@…
Message:

utiliser curl si dispo en spip 3.0, car sinon recuperer_page a du mal

Location:
_plugins_/mailshot/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/mailshot/trunk/lib/mailjet-api-php/mailjet-3.php

    r95510 r96734  
    109109                }
    110110
     111                $headers = "";
     112                $data = "";
    111113                // data is the json body of request
    112114                if (isset($params['data'])){
     
    116118                                $data = json_encode($data);
    117119                        }
    118                         $entete = "Content-Type: application/json\r\n";
    119                         $this->_data = $entete . "\r\n" . $data;
    120                         $this->_request = $request = 'POST';
     120                        $headers .= "Content-Type: application/json\r\n";
     121                        $this->_data = $headers . "\r\n" . $data;
     122                        if ($request=='GET'){
     123                                $this->_request = $request = 'POST';
     124                        }
    121125                }
    122126
     
    142146
    143147                try {
    144                         if (!function_exists('recuperer_url')){
    145                                 // en cas de DELETE on appelle directement recuperer_lapage
    146                                 // en esperant ne pas avoir de 301
    147                                 if (in_array($this->_request,array('DELETE'))){
    148                                         $response = recuperer_lapage($url,false,$this->_request,1048576,$this->_data);
    149                                 }
    150                                 else {
    151                                         $response = recuperer_page($url,false,false,null,$this->_data);
    152                                 }
    153                                 if (!$response){
    154                                         $this->_error = 'erreur lors de recuperer_page sur API Mailjet '.$this->apiVersion;
    155                 return false;
    156                                 }
    157                                 $this->_response_code = 200; // on suppose car sinon renvoie false
    158                         }
    159                         else {
     148                        if (function_exists('recuperer_url')) {
    160149                                $options = array(
    161150                                        'methode' => $this->_request,
     
    167156                                $this->_response_code = $res['status'];
    168157                                $response = $res['page'];
     158                        }
     159                        elseif(function_exists('curl_init')){
     160                                $ch = curl_init();
     161                                $headers = explode("\n",$headers);
     162                                curl_setopt($ch, CURLOPT_URL, $url);
     163                                curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
     164                                curl_setopt($ch, CURLOPT_HEADER, FALSE);
     165                                if ($headers){
     166                                        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
     167                                }
     168                                if (in_array($this->_request,array("DELETE","PUT"))){
     169                                        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $this->_request);
     170                                }
     171                                if ($data){
     172                                        curl_setopt($ch, CURLOPT_POST, TRUE);
     173                                        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
     174                                }
     175                                $response = curl_exec($ch);
     176                                $this->_response_code = curl_getinfo($ch,CURLINFO_HTTP_CODE);
     177                                curl_close($ch);
     178                        }
     179                        else {
     180                                // en cas de DELETE on appelle directement recuperer_lapage
     181                                // en esperant ne pas avoir de 301
     182                                if (in_array($this->_request,array('DELETE'))){
     183                                        $response = recuperer_lapage($url,false,$this->_request,1048576,$this->_data);
     184                                }
     185                                else {
     186                                        $response = recuperer_page($url,false,false,null,$this->_data);
     187                                }
     188                                if (!$response){
     189                                        $this->_error = 'erreur lors de recuperer_page sur API Mailjet '.$this->apiVersion;
     190                return false;
     191                                }
     192                                $this->_response_code = 200; // on suppose car sinon renvoie false
    169193                        }
    170194
  • _plugins_/mailshot/trunk/paquet.xml

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