54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 	/***********************************************************************
 | |
| 	* Script (c) Kubwa (https://kubwa.de)
 | |
| 	*
 | |
| 	* This script was release under BSD license.
 | |
| 	* You are free to use, share or change this code as you wish. This
 | |
| 	* header must be kept intact.
 | |
| 	***********************************************************************/
 | |
| 
 | |
| 	error_reporting(0);
 | |
| 
 | |
| 	require_once("classes/Framework.MySql.Class.php");
 | |
| 	require_once("classes/GridUserInfo.php");
 | |
| 	require_once("classes/Http.php");
 | |
| 	require_once("classes/Xml.php");
 | |
| 	require_once("Config.php");
 | |
| 
 | |
| 	/*
 | |
| 		This little script is looking up country, language and timezone for a ip address and caches it.
 | |
| 		To have a minimum of dataprotection, we are hashing the ip addresses we are looking up.
 | |
| 	*/
 | |
| 	if (empty($_GET["ip"]) || !filter_var($_GET["ip"], FILTER_VALIDATE_IP))
 | |
| 	 {die("NOPE");}
 | |
| 
 | |
| 	$MySql = new MySql($GLOBALS["CONFIG"]["mysql"]["user"], $GLOBALS["CONFIG"]["mysql"]["pass"], $GLOBALS["CONFIG"]["mysql"]["db"], $GLOBALS["CONFIG"]["mysql"]["server"]);
 | |
| 
 | |
| 	$MySql->query("DELETE FROM ip_timezones WHERE unix < {0} OR (unix < {1} AND country = '')", array(time() - 86400 * 60, time() - 86400));
 | |
| 	$Exists = $MySql->query("SELECT * FROM ip_timezones WHERE ip = md5({0}) LIMIT 1", array($_GET["ip"]))->fetch();
 | |
| 	$TimeZone = "Europe/Berlin";
 | |
| 	$Country = "DE";
 | |
| 	if (empty($Exists["ip"]))
 | |
| 	{
 | |
| 		//We can also use another service to trace the ip, if you wish so, change this code
 | |
| 		$TraceRequest = json_decode(HttpRequest("http://ip-api.com/json/".$_GET["ip"], "", 3), true);
 | |
| 		if ($TraceRequest["status"] == "success")
 | |
| 		{
 | |
| 			$TimeZone = $TraceRequest["timezone"];
 | |
| 			$Country = $TraceRequest["countryCode"];
 | |
| 		}
 | |
| 		$MySql->query("INSERT INTO ip_timezones (ip, timezone, country, unix)VALUES(md5({0}), {1}, {2}, {3})", array($_GET["ip"], $TimeZone, $Country, time()));
 | |
| 	}
 | |
| 	else
 | |
| 	{
 | |
| 		$TimeZone = $Exists["timezone"];
 | |
| 		$Country = $Exists["country"];
 | |
| 	}
 | |
| 
 | |
| 	$Language = "DE";
 | |
| 	$Exists = $MySql->query("SELECT * FROM countries_lang WHERE country = {0} LIMIT 1", array(strtolower($Country)))->fetch();
 | |
| 	if (!empty($Exists["lang"]))
 | |
| 	 {$Language = strtoupper($Exists["lang"]);}
 | |
| 
 | |
| 	die(implode(",", array("OK", $Country, $TimeZone, $Language, $_GET["payload"])));
 | |
| ?>
 |