Вход Регистрация
Файл: public_html/geo.php
Строк: 162
<?php
error_reporting
(0);
$_GET['format'] = 'js';
//geoLocation


class geo
{

    var 
$url 'http://www.ip-tracker.org/locator/ip-lookup.php?ip=';
    
    public function 
get_web_page$url )
    {
        
$user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';

        
$options = array(

            
CURLOPT_CUSTOMREQUEST  =>"GET",        //set request type post or get
            
CURLOPT_POST           =>false,        //set to GET
            
CURLOPT_USERAGENT      => $user_agent//set user agent
            
CURLOPT_COOKIEFILE     =>"cookie.txt"//set cookie file
            
CURLOPT_COOKIEJAR      =>"cookie.txt"//set cookie jar
            
CURLOPT_RETURNTRANSFER => true,     // return web page
            
CURLOPT_HEADER         => false,    // don't return headers
            
CURLOPT_FOLLOWLOCATION => true,     // follow redirects
            
CURLOPT_ENCODING       => "",       // handle all encodings
            
CURLOPT_AUTOREFERER    => true,     // set referer on redirect
            
CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect
            
CURLOPT_TIMEOUT        => 120,      // timeout on response
            
CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects
        
);

        
$ch      curl_init$url );
        
curl_setopt_array$ch$options );
        
$content curl_exec$ch );
        
$err     curl_errno$ch );
        
$errmsg  curl_error$ch );
        
$header  curl_getinfo$ch );
        
curl_close$ch );

        
$header['errno']   = $err;
        
$header['errmsg']  = $errmsg;
        
$header['content'] = $content;
        return 
$header;
    }
    
    public function 
load(){
        
        if(
$_SERVER['REMOTE_ADDR'] == '127.0.0.1'){ $ip '95.33.249.10';    
        }else{ 
$ip $_SERVER['REMOTE_ADDR']; }
        
        
$open $this->get_web_page($this->url $ip);
        
        return 
$open['content'];
            
    }
    
    public function 
format($data$format){
        
        switch(
$format){
        
            case 
'js':
                
                
$data stripslashes($data);
                
$inf json_decode($data);
                
                
$inf = (object) $inf;
                
                
                
header('Content-Type: application/javascript');
                
                
?>
//SocialSoft Inc.
//package.socialsoft.geo.v1
//lastUserCacheKey: <?php echo date('d.m.Y h:i:s'$inf->lastcache); ?>

//lastUserFoundIP: <?php echo $inf->lastip?>


function geoip_latitude(){ return '<?php echo utf8_decode($inf->c_lati); ?>'; }
function geoip_longitude(){ return '<?php echo utf8_decode($inf->c_long); ?>'; }
function geoip_city(){ return '<?php echo $inf->city?>'; }
function geoip_state(){ return '<?php echo utf8_decode($inf->state); ?>'; }
function geoip_continent(){ return '<?php echo utf8_decode($inf->continent); ?>'; }
function geoip_country(){ return '<?php echo utf8_decode($inf->country); ?>'; }
function geoip_capital(){ return '<?php echo utf8_decode($inf->capital); ?>'; }
function geoip_postcode(){ return '<?php echo utf8_decode($inf->postcode); ?>'; }
<?php
                
            
break;
        
            default:
                return 
$data;
            break;
            
        }
            
    }
    
    public function 
html($ext){
        
        
$ext str_replace(' '''$ext);
        
$ext str_replace('('''$ext);
        
$ext str_replace(')'''$ext);
        
        return 
$ext;
            
    }
    
    public function 
start($format false){
        
        
        if(empty(
$_COOKIE['jsonData_111'])){
        
        
$data $this->load();
        
        
$info preg_match_all('|<table cellpadding=0 cellspacing=7 width=480 height=100% border=0 align=left>(.*?)</table>|is'$data$ende);
        
$info $ende[1][0];
        
        
$continent     preg_match_all("|<tr><th>Continent:</th><td class='tracking'>(.*?)</td></tr>|"$info$cont);
        
$country     preg_match_all("|<tr><th>Country:</th><td>(.*?)</td></tr>|"$info$cout);
        
$stadt         preg_match_all("|<tr><th>Capital:</th><td class='tracking'>(.*?)</td></tr>|"$info$stad);
        
$bundes     preg_match_all("|<tr><th>State:</th><td class='tracking lessimpt'>(.*?)</td></tr>|"$info$bland);
        
$cityrr     preg_match_all("|<tr><th>City Location:</th><td class='vazno'>(.*?)</td></tr>|"$info$city);
        
$postleit     preg_match_all("|<tr><th>Postal:</th><td class='tracking less3impt'>(.*?)</td></tr>|"$info$plz);
        
        
//lat/lon
        
$cityLat    preg_match_all("|<tr><th>City Lat/Lon:</th><td class='tracking'>(.*?)</td></tr>|"$info$citylatlong);
        
        
        
//city->Lat
        
$citylati explode(' / '$citylatlong[1][0]);
        
$cityLatitude $this->html(trim($citylati[0]));
        
$cityLongtude $this->html(trim($citylati[1]));
        
        
$data = array(
            
"continent"    => $cont[1][0],
            
"country"    => str_replace('&nbsp;'''strip_tags($cout[1][0]) ),
            
"capital"    => utf8_encode($stad[1][0]),
            
"state"        => utf8_encode($bland[1][0]),
            
"city"        => utf8_encode($city[1][0]),
            
"postcode"    => $plz[1][0],
            
"lastcache"    => time(),
            
"lastip"    => $_SERVER['REMOTE_ADDR'],
            
"c_lati"    => $cityLatitude,
            
"c_long"    => $cityLongtude
            
        
);
        
        
$jsonDataCompressed json_encode($datatrue);
            
        
setcookie("jsonData_111"$jsonDataCompressedtime()+(3600*24));
            
        echo 
$this->format($jsonDataCompressed$_GET['format']);
            
        }else{
        
            echo 
$this->format($_COOKIE['jsonData_111'], $_GET['format']);
            
        }
        
    }
    
}

$init = new geo;

echo 
$init->start();

?>
Онлайн: 1
Реклама