1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
geoip_mod.php
См. документацию.
1<?
3/*
4GEOIP_ADDR 83.219.130.40
5GEOIP_CONTINENT_CODE AS
6GEOIP_COUNTRY_CODE RU
7GEOIP_COUNTRY_NAME Russian Federation
8GEOIP_REGION 23
9GEOIP_REGION_NAME Kaliningrad
10GEOIP_CITY Kaliningrad
11GEOIP_DMA_CODE 0
12GEOIP_AREA_CODE 0
13GEOIP_LATITUDE 54.709999
14GEOIP_LONGITUDE 20.500000
15*/
17{
18 var $continent_code = false;
19 var $latitude = false;
20 var $longitude = false;
21
22 public static function OnCityLookup($arDBRecord = false)
23 {
24 return new CCityLookup_geoip_mod($arDBRecord);
25 }
26
27 function __construct($arDBRecord = false)
28 {
29 parent::__construct($arDBRecord);
30 if(!$arDBRecord)
31 {
32 if(array_key_exists("GEOIP_COUNTRY_CODE", $_SERVER) && mb_strlen($_SERVER["GEOIP_COUNTRY_CODE"]) == 2)
33 {
34 $this->is_installed = true;
35 $this->country_code = $_SERVER["GEOIP_COUNTRY_CODE"];
36 }
37 $this->charset = "iso-8859-1";
38 }
39 else
40 {
41 if(array_key_exists("XCONT", $arDBRecord)) $this->continent_code = $arDBRecord["XCONT"];
42 if(array_key_exists("XLAT", $arDBRecord)) $this->latitude = $arDBRecord["XLAT"];
43 if(array_key_exists("XLON", $arDBRecord)) $this->longitude = $arDBRecord["XLON"];
44 }
45 }
46
47 function ArrayForDB()
48 {
49 $ar = parent::ArrayForDB();
50 if($this->continent_code) $ar["XCONT"] = $this->continent_code;
51 if($this->latitude) $ar["XLAT"] = $this->latitude;
52 if($this->longitude) $ar["XLON"] = $this->longitude;
53 return $ar;
54 }
55
56 function GetFullInfo()
57 {
58 $ar = parent::GetFullInfo();
59 $ar["CONTINENT"] = array(
60 "TITLE" => GetMessage("STAT_CITY_GEOIP_MOD_CONTINENT"),
61 "VALUE~" => $this->continent_code,
62 "VALUE" => htmlspecialcharsbx($this->continent_code),
63 );
64 $ar["LONGITUDE"] = array(
65 "TITLE" => GetMessage("STAT_CITY_GEOIP_MOD_LONGITUDE"),
66 "VALUE~" => $this->longitude,
67 "VALUE" => htmlspecialcharsbx($this->longitude),
68 );
69 $ar["LATITUDE"] = array(
70 "TITLE" => GetMessage("STAT_CITY_GEOIP_MOD_LATITUDE"),
71 "VALUE~" => $this->latitude,
72 "VALUE" => htmlspecialcharsbx($this->latitude),
73 );
74 return $ar;
75 }
76
77 function GetDescription()
78 {
79 return array(
80 "CLASS" => "CCityLookup_geoip_mod",
81 "DESCRIPTION" => GetMessage("STAT_CITY_GEOIP_MOD_DESCR"),
82 "IS_INSTALLED" => $this->is_installed,
83 "CAN_LOOKUP_COUNTRY" => true,
84 "CAN_LOOKUP_CITY" => array_key_exists("GEOIP_REGION", $_SERVER) && mb_strlen($_SERVER["GEOIP_REGION"]) == 2
85 && array_key_exists("GEOIP_CITY", $_SERVER) && $_SERVER["GEOIP_CITY"] <> '',
86 );
87 }
88
89 function IsInstalled()
90 {
92 }
93
94 function Lookup()
95 {
96 if(array_key_exists("GEOIP_COUNTRY_NAME", $_SERVER) && $_SERVER["GEOIP_COUNTRY_NAME"] <> '')
97 {
98 $this->country_full_name = $_SERVER["GEOIP_COUNTRY_NAME"];
99 }
100 if(array_key_exists("GEOIP_REGION", $_SERVER) && mb_strlen($_SERVER["GEOIP_REGION"]) == 2)
101 {
102 $this->region_name = $_SERVER["GEOIP_REGION"];
103 if(array_key_exists("GEOIP_CITY", $_SERVER) && $_SERVER["GEOIP_CITY"] <> '')
104 {
105 $this->city_name = $_SERVER["GEOIP_CITY"];
106 }
107 }
108 //Extended information
109 if(array_key_exists("GEOIP_CONTINENT_CODE", $_SERVER) && $_SERVER["GEOIP_CONTINENT_CODE"] <> '')
110 {
111 $this->continent_code = $_SERVER["GEOIP_CONTINENT_CODE"];
112 }
113 if(array_key_exists("GEOIP_LATITUDE", $_SERVER) && $_SERVER["GEOIP_LATITUDE"] <> '')
114 {
115 $this->latitude = $_SERVER["GEOIP_LATITUDE"];
116 }
117 if(array_key_exists("GEOIP_LONGITUDE", $_SERVER) && $_SERVER["GEOIP_LONGITUDE"] <> '')
118 {
119 $this->longitude = $_SERVER["GEOIP_LONGITUDE"];
120 }
121 }
122}
123?>
ArrayForDB()
Определения geoip_mod.php:47
$latitude
Определения geoip_mod.php:19
GetFullInfo()
Определения geoip_mod.php:56
static OnCityLookup($arDBRecord=false)
Определения geoip_mod.php:22
IsInstalled()
Определения geoip_mod.php:89
$longitude
Определения geoip_mod.php:20
Lookup()
Определения geoip_mod.php:94
GetDescription()
Определения geoip_mod.php:77
__construct($arDBRecord=false)
Определения geoip_mod.php:27
$continent_code
Определения geoip_mod.php:18
Определения city.php:10
$is_installed
Определения city.php:11
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
$ar
Определения options.php:199