93 lines
2.8 KiB
PHP
Executable File
93 lines
2.8 KiB
PHP
Executable File
#!/usr/bin/env php
|
|
<?php
|
|
/**
|
|
* Observium
|
|
*
|
|
* This file is part of Observium.
|
|
*
|
|
* @package observium
|
|
* @subpackage tests
|
|
* @copyright (C) Adam Armstrong
|
|
*
|
|
*/
|
|
|
|
// This file allows you to test geocoding using observium's libraries. It's a quick diagnostic tool.
|
|
// You probably don't need to use it.
|
|
|
|
|
|
chdir(dirname($argv[0]));
|
|
|
|
//define('OBS_DEBUG', 2);
|
|
|
|
// Get options before definitions!
|
|
$options = getopt("a:d");
|
|
|
|
include_once("includes/observium.inc.php");
|
|
include_once("html/includes/functions.inc.php");
|
|
|
|
array_shift($argv);
|
|
if (isset($options['a'])) {
|
|
array_shift($argv);
|
|
array_shift($argv);
|
|
}
|
|
if (isset($options['d'])) {
|
|
array_shift($argv);
|
|
}
|
|
|
|
//print_vars($argv);
|
|
//print_vars($options);
|
|
|
|
$address = array_pop($argv);
|
|
$geo_apis = array_keys($config['geo_api']);
|
|
|
|
if (!$address) {
|
|
print_message("%n
|
|
USAGE:
|
|
$scriptname [-d] [-a api] 'Address string'
|
|
|
|
OPTIONS:
|
|
-a API name, currently supported: " . implode(', ', $geo_apis) . "
|
|
|
|
DEBUGGING OPTIONS:
|
|
-d Enable debugging output.
|
|
-dd More verbose debugging output.
|
|
|
|
%rAddress string is empty!%n", 'color', FALSE);
|
|
exit;
|
|
}
|
|
|
|
if (isset($options['a'])) {
|
|
// Override default GEO API
|
|
//$config['geocoding']['api'] = $options['a'];
|
|
$apis = $options['a'] === 'all' ? $geo_apis : explode(',', $options['a']);
|
|
} else {
|
|
$apis = (array)$config['geocoding']['api'];
|
|
}
|
|
|
|
print_cli_table([[$address]], ['Location']);
|
|
$table_rows = [];
|
|
foreach ($apis as $api) {
|
|
$config['geocoding']['api'] = $api;
|
|
$location = get_geolocation($address, [], FALSE);
|
|
if (isset($location['location_lat'])) {
|
|
$table_row = [
|
|
'%g' . $api . '%n',
|
|
is_array($location['location_lat']) ? '%yUnknown%n' : $location['location_lat'],
|
|
is_array($location['location_lon']) ? '%yUnknown%n' : $location['location_lon'],
|
|
$location['location_country'] === 'Unknown' ? '%y' . $location['location_country'] . '%n' : $location['location_country'],
|
|
$location['location_state'] === 'Unknown' ? '%y' . $location['location_state'] . '%n' : $location['location_state'],
|
|
$location['location_county'] === 'Unknown' ? '%y' . $location['location_county'] . '%n' : $location['location_county'],
|
|
$location['location_city'] === 'Unknown' ? '%y' . $location['location_city'] . '%n' : $location['location_city'],
|
|
''
|
|
];
|
|
} else {
|
|
$table_row = ['%r' . $api . '%n', '-', '-', '-', '-', '-', '-', get_last_message()];
|
|
}
|
|
unset($GLOBALS['last_message']);
|
|
$table_rows[] = $table_row;
|
|
print_debug_vars($location);
|
|
}
|
|
print_cli_table($table_rows, ['Geo: API', 'Lat', 'Lon', 'Country', 'State', 'County', 'City', 'Error']);
|
|
|
|
// EOF
|