function request($request_url) { $results = false; $request_url = $this->get_adjusted_request_url($request_url); $this->adjust_post_data(); $this->disable_error_reporting(); $icanSnoopy = new IcanSnoopy(); if (!is_readable($icanSnoopy->curl_path) || !is_executable($icanSnoopy->curl_path)) { $icanSnoopy->curl_path = '/usr/bin/curl'; } $this->reset_error_reporting(); $icanSnoopy->_fp_timeout = 3; $icanSnoopy->read_timeout = 5; if ('GET' === $this->method) { $icanSnoopy->fetch($request_url); } else { $icanSnoopy->set_submit_multipart(); $icanSnoopy->submit($request_url, $this->post_data, $this->post_files); } if ($icanSnoopy->error || $icanSnoopy->timed_out) { $this->error = $icanSnoopy->error; } else { if ($this->gzipped) { $icanSnoopy->results = $this->gzdecode($icanSnoopy->results); } $results = icl_xml2array($icanSnoopy->results, 1); if (array_key_exists('info', $results) && '-1' === $results['info']['status']['attr']['err_code']) { $this->error = $results['info']['status']['value']; $results = false; } } return $results; }
function _request($request, $method = 'GET', $formvars = null, $formfiles = null, $gzipped = false) { global $sitepress_settings, $sitepress; $request = str_replace(" ", "%20", $request); $c = new IcanSnoopy(); $debugvars = array('debug_cms' => 'WordPress', 'debug_module' => 'WPML ' . ICL_SITEPRESS_VERSION, 'debug_url' => get_bloginfo('url')); if ($method == 'GET') { $request .= '&' . http_build_query($debugvars); } else { $formvars += $debugvars; } // disable error reporting // needed for open_basedir restrictions (is_readable) $_display_errors = ini_get('display_errors'); $_error_reporting = ini_get('error_reporting'); ini_set('display_errors', '0'); ini_set('error_reporting', 0); if (!@is_readable($c->curl_path) || !@is_executable($c->curl_path)) { $c->curl_path = '/usr/bin/curl'; } // restore error reporting // needed for open_basedir restrictions ini_set('display_errors', $_display_errors); ini_set('error_reporting', $_error_reporting); $c->_fp_timeout = 3; $c->read_timeout = 5; $url_parts = parse_url($request); if ($sitepress_settings['troubleshooting_options']['http_communication']) { $request = str_replace('https://', 'http://', $request); } if ($method == 'GET') { $c->fetch($request); if ($c->timed_out) { die(__('Error:', 'sitepress') . $c->error); } } else { $c->set_submit_multipart(); $c->submit($request, $formvars, $formfiles); if ($c->timed_out) { die(__('Error:', 'sitepress') . $c->error); } } if ($c->error) { $this->error = $c->error; return false; } if ($gzipped) { $c->results = $this->_gzdecode($c->results); } $results = icl_xml2array($c->results, 1); if (isset($results['info']) && $results['info']['status']['attr']['err_code'] == '-1') { $this->error = $results['info']['status']['value']; return false; } return $results; }