WP File Manager
Current Path:
/
home
/
argothem
/
www
/
organecyberpresse
/
plugins
/
auto
/
mailshot
/
v4.0.1
/
lib
/
mailjet-api-php
/
Name
Action
..
mailjet-0.1.php
Edit
mailjet-3.php
Edit
Editing: mailjet-0.1.php
<?php /** * Mailjet Public API * * @package API v0.1 * @author Mailjet * @link http://api.mailjet.com/ * */ namespace SPIP\Mailshot\Api; class Mailjetv01 { var $version = '0.1'; var $apiVersion = '0.1'; # Choose your weapon : php, json, xml, serialize, html, csv var $output = 'json'; # Connect thru https protocol var $secure = true; # Mode debug ? 0 none / 1 errors only / 2 all var $debug = 0; # Edit with your Mailjet Infos var $apiKey = ''; var $secretKey = ''; // Constructor function public function __construct($apiKey = false, $secretKey = false){ if ($apiKey) $this->apiKey = $apiKey; if ($secretKey) $this->secretKey = $secretKey; $this->apiUrl = (($this->secure) ? 'https' : 'http') . '://api.mailjet.com/' . $this->apiVersion . ''; } public function __call($method, $args){ # params $params = (sizeof($args)>0) ? $args[0] : array(); # request method $request = isset($params["method"]) ? strtoupper($params["method"]) : 'GET'; # unset useless params if (isset($params["method"])) unset($params["method"]); # Make request $result = $this->sendRequest($method, $params, $request); # Return result $return = ($result===true) ? $this->_response : false; if ($this->debug==2 || ($this->debug==1 && $return==false)){ $this->debug(); } return $return; } public function requestUrlBuilder($method, $params = array(), $request){ $query_string = array('output' => 'output=' . $this->output); foreach ($params as $key => $value){ if ($request=="GET" || in_array($key, array('apikey', 'output'))) $query_string[$key] = $key . '=' . urlencode($value); if ($key=="output") $this->output = $value; } $this->call_url = $this->apiUrl . '/' . $method . '/?' . join('&', $query_string); return $this->call_url; } public function sendRequest($method = false, $params = array(), $request = "GET"){ # Method $this->_method = $method; $this->_request = $request; # Build request URL $url = $this->requestUrlBuilder($method, $params, $request); # Set up and execute the curl process $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($curl_handle, CURLOPT_USERPWD, $this->apiKey . ':' . $this->secretKey); $this->_request_post = false; if ($request=='POST') : curl_setopt($curl_handle, CURLOPT_POST, count($params)); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, http_build_query($params, '', '&')); $this->_request_post = $params; endif; $buffer = curl_exec($curl_handle); if ($this->debug>2) var_dump($buffer); # Response code $this->_response_code = curl_getinfo($curl_handle, CURLINFO_HTTP_CODE); # Close curl process curl_close($curl_handle); # RESPONSE $this->_response = ($this->output=='json') ? json_decode($buffer) : $buffer; return ($this->_response_code==200) ? true : false; } public function debug(){ echo '<style type="text/css">'; echo ' #debugger {width: 100%; font-family: arial;} #debugger table {padding: 0; margin: 0 0 20px; width: 100%; font-size: 11px; text-align: left;border-collapse: collapse;} #debugger th, #debugger td {padding: 2px 4px;} #debugger tr.h {background: #999; color: #fff;} #debugger tr.Success {background:#90c306; color: #fff;} #debugger tr.Error {background:#c30029 ; color: #fff;} #debugger tr.Not-modified {background:orange ; color: #fff;} #debugger th {width: 20%; vertical-align:top; padding-bottom: 8px;} '; echo '</style>'; echo '<div id="debugger">'; if (isset($this->_response_code)) : if ($this->_response_code==200) : echo '<table>'; echo '<tr class="Success"><th>Success</th><td></td></tr>'; echo '<tr><th>Status code</th><td>' . $this->_response_code . '</td></tr>'; if (isset($this->_response)) : echo '<tr><th>Response</th><td><pre>' . utf8_decode(print_r($this->_response, 1)) . '</pre></td></tr>'; endif; echo '</table>'; elseif ($this->_response_code==304) : echo '<table>'; echo '<tr class="Not-modified"><th>Error</th><td></td></tr>'; echo '<tr><th>Error no</th><td>' . $this->_response_code . '</td></tr>'; echo '<tr><th>Message</th><td>Not Modified</td></tr>'; echo '</table>'; else : echo '<table>'; echo '<tr class="Error"><th>Error</th><td></td></tr>'; echo '<tr><th>Error no</th><td>' . $this->_response_code . '</td></tr>'; if (isset($this->_response)) : if (is_array($this->_response) OR is_object($this->_response)): echo '<tr><th>Status</th><td><pre>' . print_r($this->_response, true) . '</pre></td></tr>'; else: echo '<tr><th>Status</th><td><pre>' . $this->_response . '</pre></td></tr>'; endif; endif; echo '</table>'; endif; endif; $call_url = parse_url($this->call_url); echo '<table>'; echo '<tr class="h"><th>API config</th><td></td></tr>'; echo '<tr><th>Protocole</th><td>' . $call_url['scheme'] . '</td></tr>'; echo '<tr><th>Host</th><td>' . $call_url['host'] . '</td></tr>'; echo '<tr><th>Version</th><td>' . $this->version . '</td></tr>'; echo '</table>'; echo '<table>'; echo '<tr class="h"><th>Call infos</th><td></td></tr>'; echo '<tr><th>Method</th><td>' . $this->_method . '</td></tr>'; echo '<tr><th>Request type</th><td>' . $this->_request . '</td></tr>'; echo '<tr><th>Get Arguments</th><td>'; $args = explode("&", $call_url['query']); foreach ($args as $arg){ $arg = explode("=", $arg); echo '' . $arg[0] . ' = <span style="color:#ff6e56;">' . $arg[1] . '</span><br/>'; } echo '</td></tr>'; if ($this->_request_post){ echo '<tr><th>Post Arguments</th><td>'; foreach ($this->_request_post as $k => $v){ echo $k . ' = <span style="color:#ff6e56;">' . $v . '</span><br/>'; } echo '</td></tr>'; } echo '<tr><th>Call url</th><td>' . $this->call_url . '</td></tr>'; echo '</table>'; echo '</div>'; } }