Spaces:
No application file
No application file
namespace Mautic\CoreBundle\IpLookup; | |
class IP2LocationAPILookup extends AbstractRemoteDataLookup | |
{ | |
public function getAttribution(): string | |
{ | |
return '<a href="http://IP2Location.com/" target="_blank">IP2Location </a> web service WS9 Package only.'; | |
} | |
protected function getUrl(): string | |
{ | |
return "api.ip2location.com/?ip={$this->ip}&key={$this->auth}&package=WS9&format=json"; | |
} | |
protected function parseResponse($response) | |
{ | |
try { | |
$record = json_decode($response); | |
if (isset($record->country_name)) { | |
$this->country = $record->country_name; | |
$this->region = $record->region_name; | |
$this->city = $record->city_name; | |
$this->latitude = $record->latitude; | |
$this->longitude = $record->longitude; | |
// $this->timezone = $record->location->timeZone; | |
$this->zipcode = $record->zip_code; | |
} | |
} catch (\Exception $exception) { | |
if ($this->logger) { | |
$this->logger->warning('IP LOOKUP: '.$exception->getMessage()); | |
} | |
} | |
} | |
} | |