Was hoping someone can point out where I am going wrong here.
Just testing so code is rather sloppy.
Related to GeoIP City / Country Location. (data is in my database, not a web
call)
$address = $this->my_ip2long($_SERVER['REMOTE_ADDR']);
Calls this:
private function my_ip2long($ip){
$nums = explode('.', $ip);
$ret = 0;
for ($i=0; $i<4; $i++){
$ret += intval($nums[$i]) * pow(256, 3-$i);
}
return $ret;
}
So $address = (int) 2393010516
So far so good.
$current_address = ClassRegistry::init('IpCountry')->__findUserCountry();
Produces:
array(
'IpCountry' => array(
'id' => '38959',
'ip_from' => '2391343104',
'ip_to' => '2394947583',
'country2' => 'CA',
'country3' => 'CAN',
'country' => 'CANADA'
Which is correct I am in Canada.
So I put that function inside __FindUserCountry(); all good so far.
Then
$location = ClassRegistry::init('GeoCityBlock')->find('first', array(
'conditions' => array(
'and' =>
array(
array(
'startIpNum <' => $address,
'endIpNum >' => $address))),
'limit' =>
1,
'contain' =>
array(
'GeoCityLocation')));
And presto time travel :0 I am now in Seoul Korea.
array(
'GeoCityBlock' => array(
'startIpNum' => '23068672',
'endIpNum' => '24117247',
'locId' => '22883'
),
'GeoCityLocation' => array(
(int) 0 => array(
'locId' =>
'22883',
'country' =>
'KR',
'region' =>
'11',
'city' =>
'Seoul',
'postalCode' =>
'',
'latitude' =>
'37.5985',
'longitude' =>
'126.9783',
'metroCode' =>
'',
'areaCode' =>
''
)
)
Anyone have any assistance they could provide would be great.
Thanks,
Dave
--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/groups/opt_out.