Spaces:
No application file
No application file
File size: 1,395 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<?php
namespace Mautic\CoreBundle\IpLookup;
class GeoipsLookup extends AbstractRemoteDataLookup
{
public string $continent_name = '';
public string $continent_code = '';
public string $country_code = '';
public string $region_code = '';
public string $county_name = '';
public function getAttribution(): string
{
return '<a href="http://www.geoips.com/" target="_blank">GeoIPs</a> offers tiered subscriptions for lookups.';
}
protected function getUrl(): string
{
return "http://api.geoips.com/ip/{$this->ip}/key/{$this->auth}/output/json";
}
protected function parseResponse($response)
{
$data = json_decode($response);
if ($data && !empty($data->response->location)) {
foreach ($data->response->location as $key => $value) {
switch ($key) {
case 'city_name':
$key = 'city';
break;
case 'region_name':
$key = 'region';
break;
case 'country_name':
$key = 'country';
break;
case 'owner':
$key = 'isp';
break;
}
$this->$key = $value;
}
}
}
}
|