From 28c582940460c40297c4beba966e7556de1c221b Mon Sep 17 00:00:00 2001 From: dongsheng Date: Tue, 25 Nov 2008 04:55:31 +0000 Subject: [PATCH] cURL LIB/MDL-17382 make send raw post data possible --- lib/filelib.php | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/lib/filelib.php b/lib/filelib.php index fbd52fd1e9..8ed92ff7de 100644 --- a/lib/filelib.php +++ b/lib/filelib.php @@ -1889,18 +1889,23 @@ class curl { /** * HTTP POST method */ - public function post($url, $params = array(), $options = array()){ + public function post($url, $params = '', $options = array()){ $options['CURLOPT_POST'] = 1; - $this->_tmp_file_post_params = array(); - foreach ($params as $key => $value) { - if ($value instanceof stored_file) { - $value->add_to_curl_request($this, $key); - } else { - $this->_tmp_file_post_params[$key] = $value; + if (is_array($params)) { + $this->_tmp_file_post_params = array(); + foreach ($params as $key => $value) { + if ($value instanceof stored_file) { + $value->add_to_curl_request($this, $key); + } else { + $this->_tmp_file_post_params[$key] = $value; + } } + $options['CURLOPT_POSTFIELDS'] = $this->_tmp_file_post_params; + unset($this->_tmp_file_post_params); + } else { + // $params is the raw post data + $options['CURLOPT_POSTFIELDS'] = $params; } - $options['CURLOPT_POSTFIELDS'] = $this->_tmp_file_post_params; - unset($this->_tmp_file_post_params); return $this->request($url, $options); } -- 2.39.5