$data = get_option('GTranslate'); GTranslate::load_defaults($data); include dirname(__FILE__) . '/url_addon/config.php'; $server_id = intval(substr(md5(preg_replace('/^www\./', '', $_SERVER['HTTP_HOST'])), 0, 5), 16) % count($servers); $server = $servers[$server_id]; $host = $_SERVER['HTTP_X_GT_LANG'] . '.' . preg_replace('/^www\./', '', $_SERVER['HTTP_HOST']); if($data['custom_domains'] and !empty($data['custom_domains_data'])) { $custom_domains_data = json_decode(stripslashes($data['custom_domains_data']), true); if(isset($custom_domains_data[$_SERVER['HTTP_X_GT_LANG']])) $host = $custom_domains_data[$_SERVER['HTTP_X_GT_LANG']]; } $protocol = ((isset($_SERVER['HTTPS']) and ($_SERVER['HTTPS'] == 'on' or $_SERVER['HTTPS'] == 1)) or (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) and $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https' : 'http'; $headers = array(); $headers[] = 'Host: ' . $host; // add real visitor IP header if(isset($_SERVER['HTTP_CLIENT_IP']) and !empty($_SERVER['HTTP_CLIENT_IP'])) $viewer_ip_address = $_SERVER['HTTP_CLIENT_IP']; if(isset($_SERVER['HTTP_CF_CONNECTING_IP']) and !empty($_SERVER['HTTP_CF_CONNECTING_IP'])) $viewer_ip_address = $_SERVER['HTTP_CF_CONNECTING_IP']; if(isset($_SERVER['HTTP_X_SUCURI_CLIENTIP']) and !empty($_SERVER['HTTP_X_SUCURI_CLIENTIP'])) $viewer_ip_address = $_SERVER['HTTP_X_SUCURI_CLIENTIP']; if(!isset($viewer_ip_address)) $viewer_ip_address = $_SERVER['REMOTE_ADDR']; $headers[] = 'X-GT-Viewer-IP: ' . $viewer_ip_address; $headers[] = 'User-Agent: GTranslate-Email-Translate'; // add X-Forwarded-For if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) and !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) $headers[] = 'X-GT-Forwarded-For: ' . $_SERVER['HTTP_X_FORWARDED_FOR']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $protocol.'://'.$server.'.tdn.gtranslate.net'.wp_make_link_relative(plugins_url('gtranslate/url_addon/gtranslate-email.php').'?glang='.$_SERVER['HTTP_X_GT_LANG'])); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); if(defined('CURL_IPRESOLVE_V4')) curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/url_addon/cacert.pem'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array('body' => base64_encode(do_shortcode("$subject$message")), 'access_key' => md5(substr(NONCE_SALT, 0, 10) . substr(NONCE_KEY, 0, 5)))); if($data['email_translation_debug']) { $fh = fopen(dirname(__FILE__) . '/url_addon/debug.txt', 'a'); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_STDERR, $fh); } $response = curl_exec($ch); $response_info = curl_getinfo($ch); curl_close($ch); if($data['email_translation_debug']) { file_put_contents(dirname(__FILE__) . '/url_addon/debug.txt', 'Response: ' . $response . "\n", FILE_APPEND); file_put_contents(dirname(__FILE__) . '/url_addon/debug.txt', 'Response_info: ' . print_r($respons