<file name="system/library/currency.php">
<operation error="skip">
<search position="replace"><![CDATA[$this->set($this->config->get('config_currency'));]]></search>
<add position="replace"><![CDATA[
if(isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) && $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif(isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]) && $HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif (isset($HTTP_SERVER_VARS["REMOTE_ADDR"]) && $HTTP_SERVER_VARS["REMOTE_ADDR"]){
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP")){
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR")){
$ip = getenv("REMOTE_ADDR");
}
else{
$ip = "";
}
$url="http://www.geoplugin.net/json.gp?ip=".$ip;
$html=file_get_contents($url);
if($html==''){
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
curl_close($ch);
}
$start_str='"geoplugin_currencyCode":"';
$start = strpos($html,$start_str);
$rest=substr($html,$start+strlen($start_str));
$end = strpos($rest,'",');
$currencyIP= trim(substr($rest,0,$end));
if($currencyIP!='' && strlen($currencyIP)==3 && isset($this->currencies[$currencyIP]))
$this->set($currencyIP);
else
$this->set($this->config->get('config_currency'));
]]></add>
</operation>
</file>
<file name="catalog/controller/startup/startup.php">
<operation error="skip">
<search position="after"><![CDATA[$currencies = $this->model_localisation_currency->getCurrencies();]]></search>
<add position="after"><![CDATA[
if(isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) && $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif(isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]) && $HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif (isset($HTTP_SERVER_VARS["REMOTE_ADDR"]) && $HTTP_SERVER_VARS["REMOTE_ADDR"]){
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP")){
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR")){
$ip = getenv("REMOTE_ADDR");
}
else{
$ip = "";
}
if (!isset($this->session->data['currency'])) {
$url="http://www.geoplugin.net/json.gp?ip=".$ip;
$html=file_get_contents($url);
if($html==''){
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$html = curl_exec($ch);
curl_close($ch);
}
$start_str='"geoplugin_currencyCode":"';
$start = strpos($html,$start_str);
$rest=substr($html,$start+strlen($start_str));
$end = strpos($rest,'",');
$currencyIP= trim(substr($rest,0,$end));
if($currencyIP!='' && strlen($currencyIP)==3 && array_key_exists($currencyIP, $currencies))
$this->session->data['currency'] = $currencyIP;
}
]]></add>
</operation>
</file>

0 Comments