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('siteurl') ); 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', E_NONE); 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; }