public static function run() { // Jump ship if no key has been specified if (!Config::has('locate::options.maxmind_key')) { return false; } $options = array('l' => Config::get('locate::options.maxmind_key'), 'i' => Locate::ip()); $response = @file_get_contents('http://geoip.maxmind.com/b?' . http_build_query($options)); if ($response !== false) { $response = explode(',', $response); // Verify fields if (isset($response[5]) && $response[5] == 'IP_NOT_FOUND') { return false; } $required_fields = array(1, 2, 3, 4); foreach ($required_fields as $field) { if (!isset($response[$field]) || empty($response[$field])) { return false; } } $states = Config::get('locate::abbrevs.states'); return array('city' => $response[2], 'state' => isset($states[$response[1]]) ? $states[$response[1]] : null, 'state_code' => $response[1], 'country' => $response[0], 'country_code' => $response[0], 'zipcode' => null, 'lat' => $response[3], 'lng' => $response[4]); } return false; }
public static function run() { $response = @file_get_contents('http://freegeoip.net/json/' . Locate::ip()); if ($response !== false) { $response = json_decode($response, true); // Verify fields $required_fields = array('city', 'region_name', 'latitude', 'longitude'); foreach ($required_fields as $field) { if (!isset($response[$field]) || empty($response[$field])) { return false; } } return array('city' => ucwords(strtolower($response['city'])), 'state' => ucwords(strtolower($response['region_name'])), 'state_code' => strtoupper($response['region_code']), 'country' => ucwords(strtolower($response['country_name'])), 'country_code' => strtoupper($response['country_code']), 'zipcode' => $response['zipcode'], 'lat' => $response['latitude'], 'lng' => $response['longitude']); } return false; }
public static function run() { // Jump ship if no key has been specified if (!Config::has('locate::options.ipinfodb_key')) { return false; } $options = array('key' => Config::get('locate::options.ipinfodb_key'), 'ip' => Locate::ip(), 'format' => 'json'); $response = @file_get_contents('http://api.ipinfodb.com/v3/ip-city/?' . http_build_query($options)); if ($response !== false) { $response = json_decode($response, true); // Verify fields if (!isset($response['statusCode']) || $response['statusCode'] != 'OK') { return false; } $required_fields = array('cityName', 'regionName', 'latitude', 'longitude'); foreach ($required_fields as $field) { if (!isset($response[$field]) || empty($response[$field])) { return false; } } return array('city' => ucwords(strtolower($response['cityName'])), 'state' => ucwords(strtolower($response['regionName'])), 'state_code' => array_search(ucwords(strtolower($response['regionName'])), Config::get('locate::abbrevs.states')), 'country' => ucwords(strtolower($response['countryName'])), 'country_code' => strtoupper($response['countryCode']), 'zipcode' => $response['zipCode'], 'lat' => $response['latitude'], 'lng' => $response['longitude']); } return false; }
if (isset($_POST["password"])) { $password = $_POST["password"]; } if (isset($_POST["endpoint"])) { $endpoint = $_POST["endpoint"]; } $endpoints = new ServiceEndpoints(); if (!isset($submit)) { $address = "tel:+16035558278"; $requestedAccuracy = 1000; $username = "******"; $password = "******"; $endpoint = $endpoints->getLocationEndpoint(); } else { $endpoints->setLocationEndpoint($endpoint); $locator = new Locate($endpoints, $username, $password); $locationResponse = $locator->locateTerminal($address, $requestedAccuracy); } ?> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title> GSM World | OneAPI Toolkit </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="keywords" content="GSM, GSMA, GSM Association, Mobile, Mobile World Congress, Mobile Asia Congress, Mobile Awards, Global Mobile Awards, 3GSM, Mobile Broadband, Spectrum, Development Fund, Mobile Money, Mobile Innovation, Pathfinder, Open Connectivity, Fraud" /> <meta name="description" content="The GSMA represents the interests of the worldwide mobile communications industry. Spanning 219 countries, the GSMA unites more than 750 of the world’s mobile operators, as well as 200 companies in the broader mobile ecosystem." /> <link rel="stylesheet" href="screen.css" type="text/css" media="screen" /> <link rel="stylesheet" href="toolkit.css" type="text/css" media="screen" /> <link rel="shortcut icon" href="#" />
return Response::error('500'); } }); Route::filter('auth', function () { if (Auth::guest()) { return Redirect::to('/'); } }); Route::filter('Sentry_auth', function () { if (Sentry::guest()) { return Redirect::to('/'); } }); Route::filter('ip', function () { // Create the Eloquent object Visit $visit = new Track(); $browser = new Browser(); $visit->location = Locate::get('city') . ', ' . Locate::get('state') . ', ' . Locate::get('country'); $visit->ip_address = Request::ip(); $visit->request = URI::current(); if (Auth::check()) { $visit->user_id = Auth::user()->id; } // Browser stats $visit->browser = $browser->getBrowser(); $visit->browser_version = $browser->getVersion(); $visit->platform = $browser->getPlatform(); $visit->mobile = $browser->isMobile(); $visit->robot = $browser->isRobot(); $visit->save(); });
<?php error_log(''); error_log(''); error_log(''); error_log(''); error_log(''); error_log('including OneAPIConfig.php'); require_once 'OneAPIConfig.php'; error_log('Common directory is ' . $ONEAPICOMMON); error_log('including endpoints'); require_once $ONEAPICOMMON . 'endpoints/ServiceEndpoints.php'; error_log('including Locate.php'); require_once $ONEAPICOMMON . 'location/Locate.php'; $endpoints = new ServiceEndpoints(); error_log('Creating a locate object'); $locator = new Locate(&$endpoints, 'fred.bloggs', '1234'); $locationResponse = $locator->locateTerminal('tel:12345', 500); error_log(print_r($locator, true)); ?> Testing Locate Call