1 <?php
defined('IN_CMS') or die('No direct access allowed.');
5 private $session, $error, $info;
7 public function __construct() {
8 $this->session
= curl_init();
11 public static function support() {
12 return function_exists('curl_init');
15 public function set_options($options) {
16 curl_setopt_array($this->session
, $options);
19 public function get_error() {
23 public function get_info() {
27 public function send() {
28 if(($response = curl_exec($this->session
)) === false) {
29 $this->error
= curl_errno($this->session
) . ': ' . curl_error($this->session
);
32 $this->info
= curl_getinfo($this->session
);
37 public function close() {
38 curl_close($this->session
);
41 public static function post($url, $data = array(), $headers = array()) {
42 $session = new static;
47 CURLOPT_POSTFIELDS
=> http_build_query($data),
48 CURLOPT_HEADER
=> false,
49 CURLOPT_RETURNTRANSFER
=> true
53 $options[CURLOPT_HTTPHEADER
] = $headers;
56 $session->set_options($options);
58 $response = $session->send();
65 public static function get($url, $headers = array()) {
66 $session = new static;
70 CURLOPT_HEADER
=> false,
71 CURLOPT_RETURNTRANSFER
=> true
75 $options[CURLOPT_HTTPHEADER
] = $headers;
78 $session->set_options($options);
80 $response = $session->send();