public function getGeoLocation($ip) { if (!ExtraWatchConfig::isIPAddress($ip)) { $ip = @gethostbyname($ip); } if (ExtraWatchConfig::isIPAddress($ip)) { //if gethostbyname did not fail after gethostbyname $result = array(); try { $csv = $this->retrieveCSV($ip); if (@function_exists('str_getcsv')) { $csvParsed = str_getcsv($csv, ";"); } else { $csvParsed = $this->str_getcsv_manual($csv, ";"); } @($result[ExtraWatchVisit::COUNTRY_CODE] = $csvParsed[3]); @($result[ExtraWatchVisit::COUNTRY_NAME] = ucwords(strtolower($csvParsed[4]))); //camel case @($result[ExtraWatchVisit::CITY] = ucwords(strtolower($csvParsed[6]))); //camel case @($result[ExtraWatchVisit::LATITUDE] = $csvParsed[8]); @($result[ExtraWatchVisit::LONGITUDE] = $csvParsed[9]); return $result; } catch (Exception $e) { $this->errors[] = $e->getMessage(); return $result; } } $this->errors[] = '"' . @$ip . '" is not a valid IP address or hostname.'; return; }
function isPermittedWithHeatmapToken($heatmapToken) { return ExtraWatchConfig::getHeatmapToken() === $heatmapToken; }