0) { return $match[3]; } else { return false; } } } function quote_xe_currency($to, $from = DEFAULT_CURRENCY) { $url = 'http://www.xe.net/ucc/convert.cgi'; $data = 'Amount=1&From=' . $from . '&To=' . $to; // check via file() ... may fail if php file Wrapper disabled. $page = @file($url . '?' . $data); if (!is_object($page) && function_exists('curl_init')) { // check via cURL instead. May fail if proxy not set, esp with GoDaddy. $page = doCurlCurrencyRequest('POST', $url, $data) ; $page = explode("\n", $page); } if (is_object($page) || $page !='') { $match = array(); preg_match('/[0-9.]+\s*' . $from . '\s*=\s*([0-9.]+)\s*' . $to . '/', implode('', $page), $match); if (sizeof($match) > 0) { return $match[1]; } else { return false; } } } function doCurlCurrencyRequest($method, $url, $vars = '') { //echo '-----------------
'; //echo 'URL: ' . $url . ' VARS: ' . $vars . '
'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_VERBOSE, 0); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); if (strtoupper($method) == 'POST' && $vars != '') { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); } if (CURL_PROXY_REQUIRED == 'True') { $proxy_tunnel_flag = (defined('CURL_PROXY_TUNNEL_FLAG') && strtoupper(CURL_PROXY_TUNNEL_FLAG) == 'FALSE') ? false : true; curl_setopt ($ch, CURLOPT_HTTPPROXYTUNNEL, $proxy_tunnel_flag); curl_setopt ($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); curl_setopt ($ch, CURLOPT_PROXY, CURL_PROXY_SERVER_DETAILS); } $data = curl_exec($ch); $error = curl_error($ch); //$info=curl_getinfo($ch); curl_close($ch); if ($error != '') { global $messageStack; $messageStack->add_session('cURL communication ERROR: ' . $error, 'error'); } //echo 'INFO:
'; print_r($info); echo '

'; //echo 'ERROR: ' . $error . '
'; //print_r($data) ; if ($data != '') { return $data; } else { return $error; } }