Вход Регистрация
Файл: modules/live-traffic.php
Строк: 277
<?php
//Live Traffic
if ($srow['live_traffic'] == 1) {
    
    function 
code_to_country($code)
    {
        
$code strtoupper($code);
        
        
$countryList = array(
            
'AF' => 'Afghanistan',
            
'AX' => 'Aland Islands',
            
'AL' => 'Albania',
            
'DZ' => 'Algeria',
            
'AS' => 'American Samoa',
            
'AD' => 'Andorra',
            
'AO' => 'Angola',
            
'AI' => 'Anguilla',
            
'AQ' => 'Antarctica',
            
'AG' => 'Antigua and Barbuda',
            
'AR' => 'Argentina',
            
'AM' => 'Armenia',
            
'AW' => 'Aruba',
            
'AU' => 'Australia',
            
'AT' => 'Austria',
            
'AZ' => 'Azerbaijan',
            
'BS' => 'Bahamas the',
            
'BH' => 'Bahrain',
            
'BD' => 'Bangladesh',
            
'BB' => 'Barbados',
            
'BY' => 'Belarus',
            
'BE' => 'Belgium',
            
'BZ' => 'Belize',
            
'BJ' => 'Benin',
            
'BM' => 'Bermuda',
            
'BT' => 'Bhutan',
            
'BO' => 'Bolivia',
            
'BA' => 'Bosnia and Herzegovina',
            
'BW' => 'Botswana',
            
'BV' => 'Bouvet Island (Bouvetoya)',
            
'BR' => 'Brazil',
            
'IO' => 'British Indian Ocean Territory (Chagos Archipelago)',
            
'VG' => 'British Virgin Islands',
            
'BN' => 'Brunei Darussalam',
            
'BG' => 'Bulgaria',
            
'BF' => 'Burkina Faso',
            
'BI' => 'Burundi',
            
'KH' => 'Cambodia',
            
'CM' => 'Cameroon',
            
'CA' => 'Canada',
            
'CV' => 'Cape Verde',
            
'KY' => 'Cayman Islands',
            
'CF' => 'Central African Republic',
            
'TD' => 'Chad',
            
'CL' => 'Chile',
            
'CN' => 'China',
            
'CX' => 'Christmas Island',
            
'CC' => 'Cocos (Keeling) Islands',
            
'CO' => 'Colombia',
            
'KM' => 'Comoros the',
            
'CD' => 'Congo',
            
'CG' => 'Congo the',
            
'CK' => 'Cook Islands',
            
'CR' => 'Costa Rica',
            
'CI' => 'Cote d'Ivoire',
            '
HR' => 'Croatia',
            '
CU' => 'Cuba',
            '
CY' => 'Cyprus',
            '
CZ' => 'Czech Republic',
            '
DK' => 'Denmark',
            '
DJ' => 'Djibouti',
            '
DM' => 'Dominica',
            '
DO' => 'Dominican Republic',
            '
EC' => 'Ecuador',
            '
EG' => 'Egypt',
            '
SV' => 'El Salvador',
            '
GQ' => 'Equatorial Guinea',
            '
ER' => 'Eritrea',
            '
EE' => 'Estonia',
            '
ET' => 'Ethiopia',
            '
FO' => 'Faroe Islands',
            '
FK' => 'Falkland Islands (Malvinas)',
            '
FJ' => 'Fiji the Fiji Islands',
            '
FI' => 'Finland',
            '
FR' => 'FranceFrench Republic',
            '
GF' => 'French Guiana',
            '
PF' => 'French Polynesia',
            '
TF' => 'French Southern Territories',
            '
GA' => 'Gabon',
            '
GM' => 'Gambia the',
            '
GE' => 'Georgia',
            '
DE' => 'Germany',
            '
GH' => 'Ghana',
            '
GI' => 'Gibraltar',
            '
GR' => 'Greece',
            '
GL' => 'Greenland',
            '
GD' => 'Grenada',
            '
GP' => 'Guadeloupe',
            '
GU' => 'Guam',
            '
GT' => 'Guatemala',
            '
GG' => 'Guernsey',
            '
GN' => 'Guinea',
            '
GW' => 'Guinea-Bissau',
            '
GY' => 'Guyana',
            '
HT' => 'Haiti',
            '
HM' => 'Heard Island and McDonald Islands',
            '
VA' => 'Holy See (Vatican City State)',
            '
HN' => 'Honduras',
            '
HK' => 'Hong Kong',
            '
HU' => 'Hungary',
            '
IS' => 'Iceland',
            '
IN' => 'India',
            '
ID' => 'Indonesia',
            '
IR' => 'Iran',
            '
IQ' => 'Iraq',
            '
IE' => 'Ireland',
            '
IM' => 'Isle of Man',
            '
IL' => 'Israel',
            '
IT' => 'Italy',
            '
JM' => 'Jamaica',
            '
JP' => 'Japan',
            '
JE' => 'Jersey',
            '
JO' => 'Jordan',
            '
KZ' => 'Kazakhstan',
            '
KE' => 'Kenya',
            '
KI' => 'Kiribati',
            '
KP' => 'Korea',
            '
KR' => 'Korea',
            '
KW' => 'Kuwait',
            '
KG' => 'Kyrgyz Republic',
            '
LA' => 'Lao',
            '
LV' => 'Latvia',
            '
LB' => 'Lebanon',
            '
LS' => 'Lesotho',
            '
LR' => 'Liberia',
            '
LY' => 'Libyan Arab Jamahiriya',
            '
LI' => 'Liechtenstein',
            '
LT' => 'Lithuania',
            '
LU' => 'Luxembourg',
            '
MO' => 'Macao',
            '
MK' => 'Macedonia',
            '
MG' => 'Madagascar',
            '
MW' => 'Malawi',
            '
MY' => 'Malaysia',
            '
MV' => 'Maldives',
            '
ML' => 'Mali',
            '
MT' => 'Malta',
            '
MH' => 'Marshall Islands',
            '
MQ' => 'Martinique',
            '
MR' => 'Mauritania',
            '
MU' => 'Mauritius',
            '
YT' => 'Mayotte',
            '
MX' => 'Mexico',
            '
FM' => 'Micronesia',
            '
MD' => 'Moldova',
            '
MC' => 'Monaco',
            '
MN' => 'Mongolia',
            '
ME' => 'Montenegro',
            '
MS' => 'Montserrat',
            '
MA' => 'Morocco',
            '
MZ' => 'Mozambique',
            '
MM' => 'Myanmar',
            '
NA' => 'Namibia',
            '
NR' => 'Nauru',
            '
NP' => 'Nepal',
            '
AN' => 'Netherlands Antilles',
            '
NL' => 'Netherlands the',
            '
NC' => 'New Caledonia',
            '
NZ' => 'New Zealand',
            '
NI' => 'Nicaragua',
            '
NE' => 'Niger',
            '
NG' => 'Nigeria',
            '
NU' => 'Niue',
            '
NF' => 'Norfolk Island',
            '
MP' => 'Northern Mariana Islands',
            '
NO' => 'Norway',
            '
OM' => 'Oman',
            '
PK' => 'Pakistan',
            '
PW' => 'Palau',
            '
PS' => 'Palestinian Territory',
            '
PA' => 'Panama',
            '
PG' => 'Papua New Guinea',
            '
PY' => 'Paraguay',
            '
PE' => 'Peru',
            '
PH' => 'Philippines',
            '
PN' => 'Pitcairn Islands',
            '
PL' => 'Poland',
            '
PT' => 'PortugalPortuguese Republic',
            '
PR' => 'Puerto Rico',
            '
QA' => 'Qatar',
            '
RE' => 'Reunion',
            '
RO' => 'Romania',
            '
RU' => 'Russian Federation',
            '
RW' => 'Rwanda',
            '
BL' => 'Saint Barthelemy',
            '
SH' => 'Saint Helena',
            '
KN' => 'Saint Kitts and Nevis',
            '
LC' => 'Saint Lucia',
            '
MF' => 'Saint Martin',
            '
PM' => 'Saint Pierre and Miquelon',
            '
VC' => 'Saint Vincent and the Grenadines',
            '
WS' => 'Samoa',
            '
SM' => 'San Marino',
            '
ST' => 'Sao Tome and Principe',
            '
SA' => 'Saudi Arabia',
            '
SN' => 'Senegal',
            '
RS' => 'Serbia',
            '
SC' => 'Seychelles',
            '
SL' => 'Sierra Leone',
            '
SG' => 'Singapore',
            '
SK' => 'Slovakia (Slovak Republic)',
            '
SI' => 'Slovenia',
            '
SB' => 'Solomon Islands',
            '
SO' => 'SomaliaSomali Republic',
            '
ZA' => 'South Africa',
            '
GS' => 'South Georgia and the South Sandwich Islands',
            '
ES' => 'Spain',
            '
LK' => 'Sri Lanka',
            '
SD' => 'Sudan',
            '
SR' => 'Suriname',
            '
SJ' => 'Svalbard Jan Mayen Islands',
            '
SZ' => 'Swaziland',
            '
SE' => 'Sweden',
            '
CH' => 'SwitzerlandSwiss Confederation',
            '
SY' => 'Syrian Arab Republic',
            '
TW' => 'Taiwan',
            '
TJ' => 'Tajikistan',
            '
TZ' => 'Tanzania',
            '
TH' => 'Thailand',
            '
TL' => 'Timor-Leste',
            '
TG' => 'Togo',
            '
TK' => 'Tokelau',
            '
TO' => 'Tonga',
            '
TT' => 'Trinidad and Tobago',
            '
TN' => 'Tunisia',
            '
TR' => 'Turkey',
            '
TM' => 'Turkmenistan',
            '
TC' => 'Turks and Caicos Islands',
            '
TV' => 'Tuvalu',
            '
UG' => 'Uganda',
            '
UA' => 'Ukraine',
            '
AE' => 'United Arab Emirates',
            '
GB' => 'United Kingdom',
            '
US' => 'United States of America',
            '
UM' => 'United States Minor Outlying Islands',
            '
VI' => 'United States Virgin Islands',
            '
UY' => 'UruguayEastern Republic of',
            '
UZ' => 'Uzbekistan',
            '
VU' => 'Vanuatu',
            '
VE' => 'Venezuela',
            '
VN' => 'Vietnam',
            '
WF' => 'Wallis and Futuna',
            '
EH' => 'Western Sahara',
            '
YE' => 'Yemen',
            '
ZM' => 'Zambia',
            '
ZW' => 'Zimbabwe'
        );
        
        if (!isset($countryList[$code]))
            return "Unknown";
        else
            return $countryList[$code];
    }
    
    $cache_file = __DIR__ . "/cache/live-traffic/". $ip .".json";
    
    //Get Country
    if (psec_getcache($ip, $cache_file) == '
PSEC_NoCache') {
        $url = '
https://api.ipgeolocationapi.com/geolocate/' . $ip;
        
$ch  curl_init();
        
curl_setopt($chCURLOPT_URL$url);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
        
curl_setopt($chCURLOPT_IPRESOLVECURL_IPRESOLVE_V4);
        
curl_setopt($chCURLOPT_ENCODING'gzip,deflate');
        
curl_setopt($chCURLOPT_USERAGENT$useragent);
        @
curl_setopt($chCURLOPT_REFERER"https://google.com");
        @
$curl_response curl_exec($ch);
        
curl_close($ch);
        
        
$ip_data = @json_decode($curl_response);
        if (
$ip_data->{'alpha2'} != NULL && $ip_data->{'alpha2'} != "Internal Server Error") {
            
$country_code $ip_data->{'alpha2'};
        } else {
            
$country_code "XX";
        }
        
        
// Grabs API Response and Caches
        
file_put_contents($cache_file$country_code);
    } else {
        @
$country_code psec_getcache($ip$cache_file);
    }

    
$country     code_to_country($country_code);
    
$bot         0;
    
$uniquev     0;
    
$request_uri str_replace("'"''$_SERVER['REQUEST_URI']);
    
    
$vtable  $prefix 'live-traffic';
    
$uvcheck $mysqli->query("SELECT ip FROM `$vtable` WHERE ip='$ip' AND useragent='$useragent' AND date='$date' LIMIT 1");
    if (
$uvcheck->num_rows <= 0) {
        
$uniquev 1;
    }
    
    
//Check if Bot
    
if (preg_match('/bot|crawl|slurp|spider|rambler|lycos|facebookexternalhit|mediapartners|google|yahoo|yandex|bing|microsoft|facebook|robot|baidu|curl|spider/i'strtolower($useragent))) {
        
$bot 1;
    }
    
    
// Get Device Type
    
require_once 'lib/Mobile_Detect.php';
    
$detect = new Mobile_DetectPSec;
    
    if (
$detect->isTablet()) {
        
$device_type 'Tablet';
    } else if (
$detect->isMobile()) {
        
$device_type 'Mobile';
    } else {
        
$device_type 'Computer';
    }
    
    
$domain trim($_SERVER['SERVER_NAME'], "www.");
    
    
//Log Visit
    
$vischeck $mysqli->query("SELECT ip FROM `$vtable` WHERE ip='$ip' AND useragent='$useragent' AND request_uri='$request_uri' AND date='$date' AND time='$time' LIMIT 1");
    if (
$vischeck->num_rows <= 0) {
        
$logvisit $mysqli->query("INSERT INTO `$vtable` (`ip`, `useragent`, `browser`, `browser_code`, `os`, `os_code`, `country`, `country_code`, `device_type`, `request_uri`, `domain`, `referer`, `bot`, `date`, `time`, `uniquev`) VALUES ('$ip', '$useragent', '$browsersh', '$browser_code', '$ossh', '$os_code', '$country', '$country_code', '$device_type', '$request_uri', '$domain', '$referer', '$bot', '$date', '$time', '$uniquev')");
    }
    
}
?>
Онлайн: 0
Реклама