Version Description
This plugin version is compatible with PHP 7.2 and adapted the automatic update code.
Download this release
Release Info
Developer | benjamin4 |
Plugin | GeoIP Detection |
Version | 2.8.2 |
Comparing to | |
See all releases |
Code changes from version 2.8.0 to 2.8.2
- admin-ui.php +2 -2
- api.php +1 -1
- check_requirements.php +1 -1
- composer.lock +23 -25
- data-sources/auto.php +52 -14
- data-sources/header.php +1 -1
- data-sources/manual.php +1 -1
- data-sources/precision.php +2 -2
- data-sources/registry.php +1 -1
- filter.php +1 -1
- geoip-detect-lib.php +3 -3
- geoip-detect.php +7 -3
- init.php +3 -0
- legacy-api.php +1 -1
- lib/geonames/data/country-info.php +312 -62
- lib/geonames/data/country-names.php +1 -1
- lib/geonames/geonames-country-info.php +1 -1
- readme.txt +15 -1
- shortcode.php +1 -1
- upgrade-plugin.php +10 -1
- vendor/composer/ca-bundle/README.md +10 -2
- vendor/composer/ca-bundle/composer.json +2 -5
- vendor/composer/ca-bundle/res/cacert.pem +2 -311
- vendor/composer/ca-bundle/src/CaBundle.php +18 -1
- vendor/composer/installed.json +62 -64
- vendor/geoip2/geoip2/.php_cs +1 -0
- vendor/geoip2/geoip2/CHANGELOG.md +7 -0
- vendor/geoip2/geoip2/src/Record/Traits.php +21 -2
- vendor/geoip2/geoip2/src/WebService/Client.php +1 -1
- vendor/maxmind-db/reader/CHANGELOG.md +8 -0
- vendor/maxmind-db/reader/README.md +3 -4
- vendor/maxmind-db/reader/composer.json +6 -5
- vendor/maxmind-db/reader/ext/maxminddb.c +0 -1
- vendor/maxmind-db/reader/ext/php_maxminddb.h +1 -1
- vendor/maxmind-db/reader/ext/tests/001-load.phpt +5 -3
- vendor/maxmind-db/reader/ext/tests/002-final.phpt +13 -0
- vendor/maxmind-db/reader/src/MaxMind/Db/Reader.php +37 -27
- vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Decoder.php +40 -38
- vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php +6 -14
- vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Util.php +3 -5
- views/lookup.php +2 -1
admin-ui.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
@@ -104,7 +104,7 @@ function geoip_detect_option_page() {
|
|
104 |
if ($ret === true)
|
105 |
$message .= __('Updated successfully.', 'geoip-detect');
|
106 |
else
|
107 |
-
$message .= __('
|
108 |
|
109 |
break;
|
110 |
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
104 |
if ($ret === true)
|
105 |
$message .= __('Updated successfully.', 'geoip-detect');
|
106 |
else
|
107 |
+
$message .= __('File was not updated', 'geoip-detect') .': '. $ret;
|
108 |
|
109 |
break;
|
110 |
|
api.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
check_requirements.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
composer.lock
CHANGED
@@ -8,16 +8,16 @@
|
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "composer/ca-bundle",
|
11 |
-
"version": "1.0
|
12 |
"source": {
|
13 |
"type": "git",
|
14 |
"url": "https://github.com/composer/ca-bundle.git",
|
15 |
-
"reference": "
|
16 |
},
|
17 |
"dist": {
|
18 |
"type": "zip",
|
19 |
-
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/
|
20 |
-
"reference": "
|
21 |
"shasum": ""
|
22 |
},
|
23 |
"require": {
|
@@ -26,12 +26,9 @@
|
|
26 |
"php": "^5.3.2 || ^7.0"
|
27 |
},
|
28 |
"require-dev": {
|
29 |
-
"phpunit/phpunit": "^4.
|
30 |
"psr/log": "^1.0",
|
31 |
-
"symfony/process": "^2.5 || ^3.0"
|
32 |
-
},
|
33 |
-
"suggest": {
|
34 |
-
"symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+"
|
35 |
},
|
36 |
"type": "library",
|
37 |
"extra": {
|
@@ -63,20 +60,20 @@
|
|
63 |
"ssl",
|
64 |
"tls"
|
65 |
],
|
66 |
-
"time": "2017-
|
67 |
},
|
68 |
{
|
69 |
"name": "geoip2/geoip2",
|
70 |
-
"version": "v2.
|
71 |
"source": {
|
72 |
"type": "git",
|
73 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
74 |
-
"reference": "
|
75 |
},
|
76 |
"dist": {
|
77 |
"type": "zip",
|
78 |
-
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/
|
79 |
-
"reference": "
|
80 |
"shasum": ""
|
81 |
},
|
82 |
"require": {
|
@@ -116,33 +113,34 @@
|
|
116 |
"geolocation",
|
117 |
"maxmind"
|
118 |
],
|
119 |
-
"time": "2017-
|
120 |
},
|
121 |
{
|
122 |
"name": "maxmind-db/reader",
|
123 |
-
"version": "v1.
|
124 |
"source": {
|
125 |
"type": "git",
|
126 |
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
|
127 |
-
"reference": "
|
128 |
},
|
129 |
"dist": {
|
130 |
"type": "zip",
|
131 |
-
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/
|
132 |
-
"reference": "
|
133 |
"shasum": ""
|
134 |
},
|
135 |
"require": {
|
136 |
-
"php": ">=5.
|
137 |
},
|
138 |
"require-dev": {
|
139 |
-
"
|
|
|
140 |
"satooshi/php-coveralls": "1.0.*",
|
141 |
-
"squizlabs/php_codesniffer": "
|
142 |
},
|
143 |
"suggest": {
|
144 |
-
"ext-bcmath": "bcmath or gmp is
|
145 |
-
"ext-gmp": "bcmath or gmp is
|
146 |
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
147 |
},
|
148 |
"type": "library",
|
@@ -171,7 +169,7 @@
|
|
171 |
"geolocation",
|
172 |
"maxmind"
|
173 |
],
|
174 |
-
"time": "2017-
|
175 |
},
|
176 |
{
|
177 |
"name": "maxmind/web-service-common",
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "composer/ca-bundle",
|
11 |
+
"version": "1.1.0",
|
12 |
"source": {
|
13 |
"type": "git",
|
14 |
"url": "https://github.com/composer/ca-bundle.git",
|
15 |
+
"reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288"
|
16 |
},
|
17 |
"dist": {
|
18 |
"type": "zip",
|
19 |
+
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/943b2c4fcad1ef178d16a713c2468bf7e579c288",
|
20 |
+
"reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288",
|
21 |
"shasum": ""
|
22 |
},
|
23 |
"require": {
|
26 |
"php": "^5.3.2 || ^7.0"
|
27 |
},
|
28 |
"require-dev": {
|
29 |
+
"phpunit/phpunit": "^4.8.35",
|
30 |
"psr/log": "^1.0",
|
31 |
+
"symfony/process": "^2.5 || ^3.0 || ^4.0"
|
|
|
|
|
|
|
32 |
},
|
33 |
"type": "library",
|
34 |
"extra": {
|
60 |
"ssl",
|
61 |
"tls"
|
62 |
],
|
63 |
+
"time": "2017-11-29T09:37:33+00:00"
|
64 |
},
|
65 |
{
|
66 |
"name": "geoip2/geoip2",
|
67 |
+
"version": "v2.7.0",
|
68 |
"source": {
|
69 |
"type": "git",
|
70 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
71 |
+
"reference": "ca9f9a244474d97eac1ef542aaced7cc944bafbe"
|
72 |
},
|
73 |
"dist": {
|
74 |
"type": "zip",
|
75 |
+
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/ca9f9a244474d97eac1ef542aaced7cc944bafbe",
|
76 |
+
"reference": "ca9f9a244474d97eac1ef542aaced7cc944bafbe",
|
77 |
"shasum": ""
|
78 |
},
|
79 |
"require": {
|
113 |
"geolocation",
|
114 |
"maxmind"
|
115 |
],
|
116 |
+
"time": "2017-10-27T19:20:22+00:00"
|
117 |
},
|
118 |
{
|
119 |
"name": "maxmind-db/reader",
|
120 |
+
"version": "v1.2.0",
|
121 |
"source": {
|
122 |
"type": "git",
|
123 |
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
|
124 |
+
"reference": "1647820dfbcb552222fb5feb3a8387e2636394c9"
|
125 |
},
|
126 |
"dist": {
|
127 |
"type": "zip",
|
128 |
+
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/1647820dfbcb552222fb5feb3a8387e2636394c9",
|
129 |
+
"reference": "1647820dfbcb552222fb5feb3a8387e2636394c9",
|
130 |
"shasum": ""
|
131 |
},
|
132 |
"require": {
|
133 |
+
"php": ">=5.4"
|
134 |
},
|
135 |
"require-dev": {
|
136 |
+
"friendsofphp/php-cs-fixer": "2.*",
|
137 |
+
"phpunit/phpunit": "4.*",
|
138 |
"satooshi/php-coveralls": "1.0.*",
|
139 |
+
"squizlabs/php_codesniffer": "3.*"
|
140 |
},
|
141 |
"suggest": {
|
142 |
+
"ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
|
143 |
+
"ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
|
144 |
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
145 |
},
|
146 |
"type": "library",
|
169 |
"geolocation",
|
170 |
"maxmind"
|
171 |
],
|
172 |
+
"time": "2017-10-27T19:15:33+00:00"
|
173 |
},
|
174 |
{
|
175 |
"name": "maxmind/web-service-common",
|
data-sources/auto.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
@@ -91,34 +91,71 @@ HTML;
|
|
91 |
return $filename;
|
92 |
}
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
public function maxmindUpdate()
|
95 |
{
|
96 |
require_once(ABSPATH.'/wp-admin/includes/file.php');
|
97 |
|
98 |
-
$download_url = 'http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.
|
|
|
99 |
$download_url = apply_filters('geoip_detect2_download_url', $download_url);
|
100 |
|
101 |
$outFile = $this->maxmindGetUploadFilename();
|
102 |
-
|
103 |
// Download
|
104 |
-
$tmpFile = download_url($download_url);
|
105 |
-
|
|
|
106 |
return $tmpFile->get_error_message();
|
|
|
107 |
|
108 |
// Ungzip File
|
109 |
-
|
110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
|
112 |
-
if (!$
|
113 |
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
114 |
-
if (!$
|
115 |
return sprintf(__('Database could not be written (%s).', 'geoip-detect'), $outFile);
|
116 |
|
117 |
-
while ( ($string =
|
118 |
-
fwrite($
|
119 |
|
120 |
-
|
121 |
-
fclose($
|
122 |
|
123 |
unlink($tmpFile);
|
124 |
|
@@ -153,6 +190,7 @@ HTML;
|
|
153 |
public function schedule_next_cron_run() {
|
154 |
// The Lite databases are updated on the first tuesday of each month. Maybe not at midnight, so we schedule it for the night afterwards.
|
155 |
$next = strtotime('first tuesday of next month + 1 day');
|
|
|
156 |
wp_schedule_single_event($next, 'geoipdetectupdate');
|
157 |
}
|
158 |
|
@@ -162,7 +200,7 @@ HTML;
|
|
162 |
|
163 |
public function deactivate()
|
164 |
{
|
165 |
-
|
166 |
}
|
167 |
}
|
168 |
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
91 |
return $filename;
|
92 |
}
|
93 |
|
94 |
+
protected function download_url($url, $modified = 0) {
|
95 |
+
// Similar to wordpress download_url, but with custom UA
|
96 |
+
$url_filename = basename( parse_url( $url, PHP_URL_PATH ) );
|
97 |
+
|
98 |
+
$tmpfname = wp_tempnam( $url_filename );
|
99 |
+
if ( ! $tmpfname )
|
100 |
+
return new \WP_Error('http_no_file', __('Could not create Temporary file.'));
|
101 |
+
|
102 |
+
$headers = array();
|
103 |
+
$headers['User-Agent'] = GEOIP_DETECT_USER_AGENT;
|
104 |
+
if ($modified) {
|
105 |
+
$headers['If-Modified-Since'] = date('r', $modified);
|
106 |
+
}
|
107 |
+
|
108 |
+
$response = wp_safe_remote_get( $url, array('timeout' => 300, 'stream' => true, 'filename' => $tmpfname, 'headers' => $headers ) );
|
109 |
+
$http_response_code = wp_remote_retrieve_response_code( $response );
|
110 |
+
if (304 === $http_response_code) {
|
111 |
+
return new \WP_Error( 'http_304', __('It has not changed since last update.', 'geoip-detect') );
|
112 |
+
}
|
113 |
+
if (is_wp_error( $response ) || 200 != $http_response_code) {
|
114 |
+
unlink($tmpfname);
|
115 |
+
$body = wp_remote_retrieve_body($response);
|
116 |
+
return new \WP_Error( 'http_404', $http_response_code . ': ' . trim( wp_remote_retrieve_response_message( $response ) ) . ' ' . $body );
|
117 |
+
}
|
118 |
+
|
119 |
+
return $tmpfname;
|
120 |
+
}
|
121 |
+
|
122 |
public function maxmindUpdate()
|
123 |
{
|
124 |
require_once(ABSPATH.'/wp-admin/includes/file.php');
|
125 |
|
126 |
+
$download_url = 'http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz';
|
127 |
+
//$download_url = 'http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz';
|
128 |
$download_url = apply_filters('geoip_detect2_download_url', $download_url);
|
129 |
|
130 |
$outFile = $this->maxmindGetUploadFilename();
|
131 |
+
$modified = @filemtime($outFile);
|
132 |
// Download
|
133 |
+
$tmpFile = $this->download_url($download_url, $modified);
|
134 |
+
|
135 |
+
if (is_wp_error($tmpFile)) {
|
136 |
return $tmpFile->get_error_message();
|
137 |
+
}
|
138 |
|
139 |
// Ungzip File
|
140 |
+
if (!file_exists($tmpFile))
|
141 |
+
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
142 |
+
$dir = @scandir('phar://' . $tmpFile)[0];
|
143 |
+
if (!$dir)
|
144 |
+
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
145 |
+
|
146 |
+
$in = fopen('phar://' . $tmpFile . '/' . $dir . '/GeoLite2-City.mmdb', 'r');
|
147 |
+
$out = fopen($outFile, 'w');
|
148 |
|
149 |
+
if (!$in)
|
150 |
return __('Downloaded file could not be opened for reading.', 'geoip-detect');
|
151 |
+
if (!$out)
|
152 |
return sprintf(__('Database could not be written (%s).', 'geoip-detect'), $outFile);
|
153 |
|
154 |
+
while ( ($string = fread($in, 4096)) != false )
|
155 |
+
fwrite($out, $string, strlen($string));
|
156 |
|
157 |
+
fclose($in);
|
158 |
+
fclose($out);
|
159 |
|
160 |
unlink($tmpFile);
|
161 |
|
190 |
public function schedule_next_cron_run() {
|
191 |
// The Lite databases are updated on the first tuesday of each month. Maybe not at midnight, so we schedule it for the night afterwards.
|
192 |
$next = strtotime('first tuesday of next month + 1 day');
|
193 |
+
$next += mt_rand(1, WEEK_IN_SECONDS);
|
194 |
wp_schedule_single_event($next, 'geoipdetectupdate');
|
195 |
}
|
196 |
|
200 |
|
201 |
public function deactivate()
|
202 |
{
|
203 |
+
wp_clear_scheduled_hook('geoipdetectupdate');
|
204 |
}
|
205 |
}
|
206 |
|
data-sources/header.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
data-sources/manual.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
data-sources/precision.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
@@ -37,7 +37,7 @@ class PrecisionReader extends \GeoIp2\WebService\Client implements \YellowTree\G
|
|
37 |
parent::__construct($userId, $licenseKey, array('en'), $options);
|
38 |
}
|
39 |
|
40 |
-
public function city($ip) {
|
41 |
$method = get_option('geoip-detect-precision_api_type', 'city');
|
42 |
|
43 |
$ret = null;
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
37 |
parent::__construct($userId, $licenseKey, array('en'), $options);
|
38 |
}
|
39 |
|
40 |
+
public function city($ip = 'me') {
|
41 |
$method = get_option('geoip-detect-precision_api_type', 'city');
|
42 |
|
43 |
$ret = null;
|
data-sources/registry.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
filter.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
geoip-detect-lib.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
@@ -235,11 +235,11 @@ function _geoip_detect2_add_geonames_data($data) {
|
|
235 |
if (is_null($countryInfo))
|
236 |
$countryInfo = new \YellowTree\GeoipDetect\Geonames\CountryInformation;
|
237 |
|
238 |
-
if (!empty($data['country']['iso_code'])
|
239 |
$geonamesData = $countryInfo->getInformationAboutCountry($data['country']['iso_code']);
|
240 |
$data = array_replace_recursive($geonamesData, $data);
|
241 |
}
|
242 |
-
|
243 |
return $data;
|
244 |
}
|
245 |
add_filter('geoip_detect2_record_data', '_geoip_detect2_add_geonames_data');
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
235 |
if (is_null($countryInfo))
|
236 |
$countryInfo = new \YellowTree\GeoipDetect\Geonames\CountryInformation;
|
237 |
|
238 |
+
if (!empty($data['country']['iso_code'])) {
|
239 |
$geonamesData = $countryInfo->getInformationAboutCountry($data['country']['iso_code']);
|
240 |
$data = array_replace_recursive($geonamesData, $data);
|
241 |
}
|
242 |
+
|
243 |
return $data;
|
244 |
}
|
245 |
add_filter('geoip_detect2_record_data', '_geoip_detect2_add_geonames_data');
|
geoip-detect.php
CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://www.yellowtree.de
|
|
5 |
Description: Retrieving Geo-Information using the Maxmind GeoIP (Lite) Database.
|
6 |
Author: Yellow Tree (Benjamin Pick)
|
7 |
Author URI: http://www.yellowtree.de
|
8 |
-
Version: 2.8.
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Text Domain: geoip-detect
|
@@ -16,10 +16,10 @@ Requires WP: 3.5
|
|
16 |
Requires PHP: 5.4
|
17 |
*/
|
18 |
|
19 |
-
define('GEOIP_DETECT_VERSION', '2.8.
|
20 |
|
21 |
/*
|
22 |
-
Copyright 2013-
|
23 |
Author: Benjamin Pick (info@yellowtree.de)
|
24 |
|
25 |
This program is free software; you can redistribute it and/or modify
|
@@ -76,20 +76,24 @@ include_once(GEOIP_PLUGIN_DIR . '/data-sources/precision.php');
|
|
76 |
include_once(GEOIP_PLUGIN_DIR . '/data-sources/header.php');
|
77 |
|
78 |
// You can define these constants in your theme/plugin if you like.
|
|
|
79 |
/**
|
80 |
* Set to TRUE if the plugin should never auto-update the Maxmind City Lite database.
|
81 |
*/
|
82 |
//define('GEOIP_DETECT_AUTO_UPDATE_DEACTIVATED', true);
|
|
|
83 |
/**
|
84 |
* How long the external IP of the server is cached.
|
85 |
* This is probably only used in dev cases, so per default relatively low.
|
86 |
*/
|
87 |
//define('GEOIP_DETECT_IP_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
|
|
88 |
/**
|
89 |
* How long the external IP of the server is cached, if no IP was found.
|
90 |
* Default: the same as GEOIP_DETECT_IP_CACHE_TIME
|
91 |
*/
|
92 |
//define('GEOIP_DETECT_IP_EMPTY_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
|
|
93 |
/**
|
94 |
* How long the data of the IP is cached. This applies to the Web-APIs (Maxmind Precision and HostIP.info)
|
95 |
* Only successful lookups will be cached.
|
5 |
Description: Retrieving Geo-Information using the Maxmind GeoIP (Lite) Database.
|
6 |
Author: Yellow Tree (Benjamin Pick)
|
7 |
Author URI: http://www.yellowtree.de
|
8 |
+
Version: 2.8.2
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
Text Domain: geoip-detect
|
16 |
Requires PHP: 5.4
|
17 |
*/
|
18 |
|
19 |
+
define('GEOIP_DETECT_VERSION', '2.8.2');
|
20 |
|
21 |
/*
|
22 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
23 |
Author: Benjamin Pick (info@yellowtree.de)
|
24 |
|
25 |
This program is free software; you can redistribute it and/or modify
|
76 |
include_once(GEOIP_PLUGIN_DIR . '/data-sources/header.php');
|
77 |
|
78 |
// You can define these constants in your theme/plugin if you like.
|
79 |
+
|
80 |
/**
|
81 |
* Set to TRUE if the plugin should never auto-update the Maxmind City Lite database.
|
82 |
*/
|
83 |
//define('GEOIP_DETECT_AUTO_UPDATE_DEACTIVATED', true);
|
84 |
+
|
85 |
/**
|
86 |
* How long the external IP of the server is cached.
|
87 |
* This is probably only used in dev cases, so per default relatively low.
|
88 |
*/
|
89 |
//define('GEOIP_DETECT_IP_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
90 |
+
|
91 |
/**
|
92 |
* How long the external IP of the server is cached, if no IP was found.
|
93 |
* Default: the same as GEOIP_DETECT_IP_CACHE_TIME
|
94 |
*/
|
95 |
//define('GEOIP_DETECT_IP_EMPTY_CACHE_TIME', 2 * HOUR_IN_SECONDS);
|
96 |
+
|
97 |
/**
|
98 |
* How long the data of the IP is cached. This applies to the Web-APIs (Maxmind Precision and HostIP.info)
|
99 |
* Only successful lookups will be cached.
|
init.php
CHANGED
@@ -14,6 +14,9 @@ function geoip_detect_defines() {
|
|
14 |
|
15 |
if (!defined('GEOIP_DETECT_IPV6_SUPPORTED'))
|
16 |
define('GEOIP_DETECT_IPV6_SUPPORTED', defined('AF_INET6'));
|
|
|
|
|
|
|
17 |
}
|
18 |
add_action('plugins_loaded', 'geoip_detect_defines');
|
19 |
|
14 |
|
15 |
if (!defined('GEOIP_DETECT_IPV6_SUPPORTED'))
|
16 |
define('GEOIP_DETECT_IPV6_SUPPORTED', defined('AF_INET6'));
|
17 |
+
|
18 |
+
if (!defined('GEOIP_DETECT_USER_AGENT'))
|
19 |
+
define('GEOIP_DETECT_USER_AGENT', 'GeoIP Detect ' . GEOIP_DETECT_VERSION);
|
20 |
}
|
21 |
add_action('plugins_loaded', 'geoip_detect_defines');
|
22 |
|
legacy-api.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
lib/geonames/data/country-info.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
// Generated at
|
3 |
return array (
|
4 |
'countries' =>
|
5 |
array (
|
@@ -8,6 +8,7 @@ return array (
|
|
8 |
'country' =>
|
9 |
array (
|
10 |
'iso_code' => 'AD',
|
|
|
11 |
'geoname_id' => 3041565,
|
12 |
'names' =>
|
13 |
array (
|
@@ -34,6 +35,7 @@ return array (
|
|
34 |
'country' =>
|
35 |
array (
|
36 |
'iso_code' => 'AE',
|
|
|
37 |
'geoname_id' => 290557,
|
38 |
'names' =>
|
39 |
array (
|
@@ -60,6 +62,7 @@ return array (
|
|
60 |
'country' =>
|
61 |
array (
|
62 |
'iso_code' => 'AF',
|
|
|
63 |
'geoname_id' => 1149361,
|
64 |
'names' =>
|
65 |
array (
|
@@ -86,6 +89,7 @@ return array (
|
|
86 |
'country' =>
|
87 |
array (
|
88 |
'iso_code' => 'AG',
|
|
|
89 |
'geoname_id' => 3576396,
|
90 |
'names' =>
|
91 |
array (
|
@@ -112,6 +116,7 @@ return array (
|
|
112 |
'country' =>
|
113 |
array (
|
114 |
'iso_code' => 'AI',
|
|
|
115 |
'geoname_id' => 3573511,
|
116 |
'names' =>
|
117 |
array (
|
@@ -138,6 +143,7 @@ return array (
|
|
138 |
'country' =>
|
139 |
array (
|
140 |
'iso_code' => 'AL',
|
|
|
141 |
'geoname_id' => 783754,
|
142 |
'names' =>
|
143 |
array (
|
@@ -164,6 +170,7 @@ return array (
|
|
164 |
'country' =>
|
165 |
array (
|
166 |
'iso_code' => 'AM',
|
|
|
167 |
'geoname_id' => 174982,
|
168 |
'names' =>
|
169 |
array (
|
@@ -181,8 +188,8 @@ return array (
|
|
181 |
'continent' => 'AS',
|
182 |
'location' =>
|
183 |
array (
|
184 |
-
'latitude' => 40.
|
185 |
-
'longitude' => 45.
|
186 |
),
|
187 |
),
|
188 |
'AO' =>
|
@@ -190,6 +197,7 @@ return array (
|
|
190 |
'country' =>
|
191 |
array (
|
192 |
'iso_code' => 'AO',
|
|
|
193 |
'geoname_id' => 3351879,
|
194 |
'names' =>
|
195 |
array (
|
@@ -216,6 +224,7 @@ return array (
|
|
216 |
'country' =>
|
217 |
array (
|
218 |
'iso_code' => 'AQ',
|
|
|
219 |
'geoname_id' => 6697173,
|
220 |
'names' =>
|
221 |
array (
|
@@ -242,6 +251,7 @@ return array (
|
|
242 |
'country' =>
|
243 |
array (
|
244 |
'iso_code' => 'AR',
|
|
|
245 |
'geoname_id' => 3865483,
|
246 |
'names' =>
|
247 |
array (
|
@@ -259,8 +269,8 @@ return array (
|
|
259 |
'continent' => 'SA',
|
260 |
'location' =>
|
261 |
array (
|
262 |
-
'latitude' => -38.
|
263 |
-
'longitude' => -63.
|
264 |
),
|
265 |
),
|
266 |
'AS' =>
|
@@ -268,6 +278,7 @@ return array (
|
|
268 |
'country' =>
|
269 |
array (
|
270 |
'iso_code' => 'AS',
|
|
|
271 |
'geoname_id' => 5880801,
|
272 |
'names' =>
|
273 |
array (
|
@@ -294,6 +305,7 @@ return array (
|
|
294 |
'country' =>
|
295 |
array (
|
296 |
'iso_code' => 'AT',
|
|
|
297 |
'geoname_id' => 2782113,
|
298 |
'names' =>
|
299 |
array (
|
@@ -320,6 +332,7 @@ return array (
|
|
320 |
'country' =>
|
321 |
array (
|
322 |
'iso_code' => 'AU',
|
|
|
323 |
'geoname_id' => 2077456,
|
324 |
'names' =>
|
325 |
array (
|
@@ -346,6 +359,7 @@ return array (
|
|
346 |
'country' =>
|
347 |
array (
|
348 |
'iso_code' => 'AW',
|
|
|
349 |
'geoname_id' => 3577279,
|
350 |
'names' =>
|
351 |
array (
|
@@ -372,6 +386,7 @@ return array (
|
|
372 |
'country' =>
|
373 |
array (
|
374 |
'iso_code' => 'AX',
|
|
|
375 |
'geoname_id' => 661882,
|
376 |
'names' =>
|
377 |
array (
|
@@ -398,6 +413,7 @@ return array (
|
|
398 |
'country' =>
|
399 |
array (
|
400 |
'iso_code' => 'AZ',
|
|
|
401 |
'geoname_id' => 587116,
|
402 |
'names' =>
|
403 |
array (
|
@@ -424,6 +440,7 @@ return array (
|
|
424 |
'country' =>
|
425 |
array (
|
426 |
'iso_code' => 'BA',
|
|
|
427 |
'geoname_id' => 3277605,
|
428 |
'names' =>
|
429 |
array (
|
@@ -450,6 +467,7 @@ return array (
|
|
450 |
'country' =>
|
451 |
array (
|
452 |
'iso_code' => 'BB',
|
|
|
453 |
'geoname_id' => 3374084,
|
454 |
'names' =>
|
455 |
array (
|
@@ -476,6 +494,7 @@ return array (
|
|
476 |
'country' =>
|
477 |
array (
|
478 |
'iso_code' => 'BD',
|
|
|
479 |
'geoname_id' => 1210997,
|
480 |
'names' =>
|
481 |
array (
|
@@ -502,6 +521,7 @@ return array (
|
|
502 |
'country' =>
|
503 |
array (
|
504 |
'iso_code' => 'BE',
|
|
|
505 |
'geoname_id' => 2802361,
|
506 |
'names' =>
|
507 |
array (
|
@@ -519,8 +539,8 @@ return array (
|
|
519 |
'continent' => 'EU',
|
520 |
'location' =>
|
521 |
array (
|
522 |
-
'latitude' => 50.
|
523 |
-
'longitude' => 4.
|
524 |
),
|
525 |
),
|
526 |
'BF' =>
|
@@ -528,6 +548,7 @@ return array (
|
|
528 |
'country' =>
|
529 |
array (
|
530 |
'iso_code' => 'BF',
|
|
|
531 |
'geoname_id' => 2361809,
|
532 |
'names' =>
|
533 |
array (
|
@@ -554,6 +575,7 @@ return array (
|
|
554 |
'country' =>
|
555 |
array (
|
556 |
'iso_code' => 'BG',
|
|
|
557 |
'geoname_id' => 732800,
|
558 |
'names' =>
|
559 |
array (
|
@@ -580,6 +602,7 @@ return array (
|
|
580 |
'country' =>
|
581 |
array (
|
582 |
'iso_code' => 'BH',
|
|
|
583 |
'geoname_id' => 290291,
|
584 |
'names' =>
|
585 |
array (
|
@@ -606,6 +629,7 @@ return array (
|
|
606 |
'country' =>
|
607 |
array (
|
608 |
'iso_code' => 'BI',
|
|
|
609 |
'geoname_id' => 433561,
|
610 |
'names' =>
|
611 |
array (
|
@@ -632,6 +656,7 @@ return array (
|
|
632 |
'country' =>
|
633 |
array (
|
634 |
'iso_code' => 'BJ',
|
|
|
635 |
'geoname_id' => 2395170,
|
636 |
'names' =>
|
637 |
array (
|
@@ -658,6 +683,7 @@ return array (
|
|
658 |
'country' =>
|
659 |
array (
|
660 |
'iso_code' => 'BL',
|
|
|
661 |
'geoname_id' => 3578476,
|
662 |
'names' =>
|
663 |
array (
|
@@ -684,6 +710,7 @@ return array (
|
|
684 |
'country' =>
|
685 |
array (
|
686 |
'iso_code' => 'BM',
|
|
|
687 |
'geoname_id' => 3573345,
|
688 |
'names' =>
|
689 |
array (
|
@@ -710,6 +737,7 @@ return array (
|
|
710 |
'country' =>
|
711 |
array (
|
712 |
'iso_code' => 'BN',
|
|
|
713 |
'geoname_id' => 1820814,
|
714 |
'names' =>
|
715 |
array (
|
@@ -736,6 +764,7 @@ return array (
|
|
736 |
'country' =>
|
737 |
array (
|
738 |
'iso_code' => 'BO',
|
|
|
739 |
'geoname_id' => 3923057,
|
740 |
'names' =>
|
741 |
array (
|
@@ -762,6 +791,7 @@ return array (
|
|
762 |
'country' =>
|
763 |
array (
|
764 |
'iso_code' => 'BQ',
|
|
|
765 |
'geoname_id' => 7626844,
|
766 |
'names' =>
|
767 |
array (
|
@@ -788,6 +818,7 @@ return array (
|
|
788 |
'country' =>
|
789 |
array (
|
790 |
'iso_code' => 'BR',
|
|
|
791 |
'geoname_id' => 3469034,
|
792 |
'names' =>
|
793 |
array (
|
@@ -814,6 +845,7 @@ return array (
|
|
814 |
'country' =>
|
815 |
array (
|
816 |
'iso_code' => 'BS',
|
|
|
817 |
'geoname_id' => 3572887,
|
818 |
'names' =>
|
819 |
array (
|
@@ -840,6 +872,7 @@ return array (
|
|
840 |
'country' =>
|
841 |
array (
|
842 |
'iso_code' => 'BT',
|
|
|
843 |
'geoname_id' => 1252634,
|
844 |
'names' =>
|
845 |
array (
|
@@ -857,8 +890,8 @@ return array (
|
|
857 |
'continent' => 'AS',
|
858 |
'location' =>
|
859 |
array (
|
860 |
-
'latitude' => 27.
|
861 |
-
'longitude' => 90.
|
862 |
),
|
863 |
),
|
864 |
'BV' =>
|
@@ -866,6 +899,7 @@ return array (
|
|
866 |
'country' =>
|
867 |
array (
|
868 |
'iso_code' => 'BV',
|
|
|
869 |
'geoname_id' => 3371123,
|
870 |
'names' =>
|
871 |
array (
|
@@ -892,6 +926,7 @@ return array (
|
|
892 |
'country' =>
|
893 |
array (
|
894 |
'iso_code' => 'BW',
|
|
|
895 |
'geoname_id' => 933860,
|
896 |
'names' =>
|
897 |
array (
|
@@ -918,6 +953,7 @@ return array (
|
|
918 |
'country' =>
|
919 |
array (
|
920 |
'iso_code' => 'BY',
|
|
|
921 |
'geoname_id' => 630336,
|
922 |
'names' =>
|
923 |
array (
|
@@ -944,6 +980,7 @@ return array (
|
|
944 |
'country' =>
|
945 |
array (
|
946 |
'iso_code' => 'BZ',
|
|
|
947 |
'geoname_id' => 3582678,
|
948 |
'names' =>
|
949 |
array (
|
@@ -970,6 +1007,7 @@ return array (
|
|
970 |
'country' =>
|
971 |
array (
|
972 |
'iso_code' => 'CA',
|
|
|
973 |
'geoname_id' => 6251999,
|
974 |
'names' =>
|
975 |
array (
|
@@ -996,6 +1034,7 @@ return array (
|
|
996 |
'country' =>
|
997 |
array (
|
998 |
'iso_code' => 'CC',
|
|
|
999 |
'geoname_id' => 1547376,
|
1000 |
'names' =>
|
1001 |
array (
|
@@ -1022,6 +1061,7 @@ return array (
|
|
1022 |
'country' =>
|
1023 |
array (
|
1024 |
'iso_code' => 'CD',
|
|
|
1025 |
'geoname_id' => 203312,
|
1026 |
'names' =>
|
1027 |
array (
|
@@ -1048,6 +1088,7 @@ return array (
|
|
1048 |
'country' =>
|
1049 |
array (
|
1050 |
'iso_code' => 'CF',
|
|
|
1051 |
'geoname_id' => 239880,
|
1052 |
'names' =>
|
1053 |
array (
|
@@ -1074,6 +1115,7 @@ return array (
|
|
1074 |
'country' =>
|
1075 |
array (
|
1076 |
'iso_code' => 'CG',
|
|
|
1077 |
'geoname_id' => 2260494,
|
1078 |
'names' =>
|
1079 |
array (
|
@@ -1100,6 +1142,7 @@ return array (
|
|
1100 |
'country' =>
|
1101 |
array (
|
1102 |
'iso_code' => 'CH',
|
|
|
1103 |
'geoname_id' => 2658434,
|
1104 |
'names' =>
|
1105 |
array (
|
@@ -1126,6 +1169,7 @@ return array (
|
|
1126 |
'country' =>
|
1127 |
array (
|
1128 |
'iso_code' => 'CI',
|
|
|
1129 |
'geoname_id' => 2287781,
|
1130 |
'names' =>
|
1131 |
array (
|
@@ -1152,6 +1196,7 @@ return array (
|
|
1152 |
'country' =>
|
1153 |
array (
|
1154 |
'iso_code' => 'CK',
|
|
|
1155 |
'geoname_id' => 1899402,
|
1156 |
'names' =>
|
1157 |
array (
|
@@ -1178,6 +1223,7 @@ return array (
|
|
1178 |
'country' =>
|
1179 |
array (
|
1180 |
'iso_code' => 'CL',
|
|
|
1181 |
'geoname_id' => 3895114,
|
1182 |
'names' =>
|
1183 |
array (
|
@@ -1195,8 +1241,8 @@ return array (
|
|
1195 |
'continent' => 'SA',
|
1196 |
'location' =>
|
1197 |
array (
|
1198 |
-
'latitude' => -36.
|
1199 |
-
'longitude' => -73.
|
1200 |
),
|
1201 |
),
|
1202 |
'CM' =>
|
@@ -1204,6 +1250,7 @@ return array (
|
|
1204 |
'country' =>
|
1205 |
array (
|
1206 |
'iso_code' => 'CM',
|
|
|
1207 |
'geoname_id' => 2233387,
|
1208 |
'names' =>
|
1209 |
array (
|
@@ -1230,6 +1277,7 @@ return array (
|
|
1230 |
'country' =>
|
1231 |
array (
|
1232 |
'iso_code' => 'CN',
|
|
|
1233 |
'geoname_id' => 1814991,
|
1234 |
'names' =>
|
1235 |
array (
|
@@ -1256,6 +1304,7 @@ return array (
|
|
1256 |
'country' =>
|
1257 |
array (
|
1258 |
'iso_code' => 'CO',
|
|
|
1259 |
'geoname_id' => 3686110,
|
1260 |
'names' =>
|
1261 |
array (
|
@@ -1273,8 +1322,8 @@ return array (
|
|
1273 |
'continent' => 'SA',
|
1274 |
'location' =>
|
1275 |
array (
|
1276 |
-
'latitude' => 4.
|
1277 |
-
'longitude' => -74.
|
1278 |
),
|
1279 |
),
|
1280 |
'CR' =>
|
@@ -1282,6 +1331,7 @@ return array (
|
|
1282 |
'country' =>
|
1283 |
array (
|
1284 |
'iso_code' => 'CR',
|
|
|
1285 |
'geoname_id' => 3624060,
|
1286 |
'names' =>
|
1287 |
array (
|
@@ -1299,8 +1349,8 @@ return array (
|
|
1299 |
'continent' => 'NA',
|
1300 |
'location' =>
|
1301 |
array (
|
1302 |
-
'latitude' => 9.
|
1303 |
-
'longitude' => -84.
|
1304 |
),
|
1305 |
),
|
1306 |
'CU' =>
|
@@ -1308,6 +1358,7 @@ return array (
|
|
1308 |
'country' =>
|
1309 |
array (
|
1310 |
'iso_code' => 'CU',
|
|
|
1311 |
'geoname_id' => 3562981,
|
1312 |
'names' =>
|
1313 |
array (
|
@@ -1334,6 +1385,7 @@ return array (
|
|
1334 |
'country' =>
|
1335 |
array (
|
1336 |
'iso_code' => 'CV',
|
|
|
1337 |
'geoname_id' => 3374766,
|
1338 |
'names' =>
|
1339 |
array (
|
@@ -1360,6 +1412,7 @@ return array (
|
|
1360 |
'country' =>
|
1361 |
array (
|
1362 |
'iso_code' => 'CW',
|
|
|
1363 |
'geoname_id' => 7626836,
|
1364 |
'names' =>
|
1365 |
array (
|
@@ -1386,6 +1439,7 @@ return array (
|
|
1386 |
'country' =>
|
1387 |
array (
|
1388 |
'iso_code' => 'CX',
|
|
|
1389 |
'geoname_id' => 2078138,
|
1390 |
'names' =>
|
1391 |
array (
|
@@ -1400,7 +1454,7 @@ return array (
|
|
1400 |
'zh-CN' => '圣诞岛',
|
1401 |
),
|
1402 |
),
|
1403 |
-
'continent' => '
|
1404 |
'location' =>
|
1405 |
array (
|
1406 |
'latitude' => -10.49141950325,
|
@@ -1412,6 +1466,7 @@ return array (
|
|
1412 |
'country' =>
|
1413 |
array (
|
1414 |
'iso_code' => 'CY',
|
|
|
1415 |
'geoname_id' => 146669,
|
1416 |
'names' =>
|
1417 |
array (
|
@@ -1438,6 +1493,7 @@ return array (
|
|
1438 |
'country' =>
|
1439 |
array (
|
1440 |
'iso_code' => 'CZ',
|
|
|
1441 |
'geoname_id' => 3077311,
|
1442 |
'names' =>
|
1443 |
array (
|
@@ -1464,6 +1520,7 @@ return array (
|
|
1464 |
'country' =>
|
1465 |
array (
|
1466 |
'iso_code' => 'DE',
|
|
|
1467 |
'geoname_id' => 2921044,
|
1468 |
'names' =>
|
1469 |
array (
|
@@ -1481,8 +1538,8 @@ return array (
|
|
1481 |
'continent' => 'EU',
|
1482 |
'location' =>
|
1483 |
array (
|
1484 |
-
'latitude' => 51.
|
1485 |
-
'longitude' => 10.
|
1486 |
),
|
1487 |
),
|
1488 |
'DJ' =>
|
@@ -1490,6 +1547,7 @@ return array (
|
|
1490 |
'country' =>
|
1491 |
array (
|
1492 |
'iso_code' => 'DJ',
|
|
|
1493 |
'geoname_id' => 223816,
|
1494 |
'names' =>
|
1495 |
array (
|
@@ -1516,6 +1574,7 @@ return array (
|
|
1516 |
'country' =>
|
1517 |
array (
|
1518 |
'iso_code' => 'DK',
|
|
|
1519 |
'geoname_id' => 2623032,
|
1520 |
'names' =>
|
1521 |
array (
|
@@ -1542,6 +1601,7 @@ return array (
|
|
1542 |
'country' =>
|
1543 |
array (
|
1544 |
'iso_code' => 'DM',
|
|
|
1545 |
'geoname_id' => 3575830,
|
1546 |
'names' =>
|
1547 |
array (
|
@@ -1568,6 +1628,7 @@ return array (
|
|
1568 |
'country' =>
|
1569 |
array (
|
1570 |
'iso_code' => 'DO',
|
|
|
1571 |
'geoname_id' => 3508796,
|
1572 |
'names' =>
|
1573 |
array (
|
@@ -1585,8 +1646,8 @@ return array (
|
|
1585 |
'continent' => 'NA',
|
1586 |
'location' =>
|
1587 |
array (
|
1588 |
-
'latitude' => 18.
|
1589 |
-
'longitude' => -70.
|
1590 |
),
|
1591 |
),
|
1592 |
'DZ' =>
|
@@ -1594,6 +1655,7 @@ return array (
|
|
1594 |
'country' =>
|
1595 |
array (
|
1596 |
'iso_code' => 'DZ',
|
|
|
1597 |
'geoname_id' => 2589581,
|
1598 |
'names' =>
|
1599 |
array (
|
@@ -1620,6 +1682,7 @@ return array (
|
|
1620 |
'country' =>
|
1621 |
array (
|
1622 |
'iso_code' => 'EC',
|
|
|
1623 |
'geoname_id' => 3658394,
|
1624 |
'names' =>
|
1625 |
array (
|
@@ -1646,6 +1709,7 @@ return array (
|
|
1646 |
'country' =>
|
1647 |
array (
|
1648 |
'iso_code' => 'EE',
|
|
|
1649 |
'geoname_id' => 453733,
|
1650 |
'names' =>
|
1651 |
array (
|
@@ -1672,6 +1736,7 @@ return array (
|
|
1672 |
'country' =>
|
1673 |
array (
|
1674 |
'iso_code' => 'EG',
|
|
|
1675 |
'geoname_id' => 357994,
|
1676 |
'names' =>
|
1677 |
array (
|
@@ -1698,6 +1763,7 @@ return array (
|
|
1698 |
'country' =>
|
1699 |
array (
|
1700 |
'iso_code' => 'EH',
|
|
|
1701 |
'geoname_id' => 2461445,
|
1702 |
'names' =>
|
1703 |
array (
|
@@ -1724,6 +1790,7 @@ return array (
|
|
1724 |
'country' =>
|
1725 |
array (
|
1726 |
'iso_code' => 'ER',
|
|
|
1727 |
'geoname_id' => 338010,
|
1728 |
'names' =>
|
1729 |
array (
|
@@ -1750,6 +1817,7 @@ return array (
|
|
1750 |
'country' =>
|
1751 |
array (
|
1752 |
'iso_code' => 'ES',
|
|
|
1753 |
'geoname_id' => 2510769,
|
1754 |
'names' =>
|
1755 |
array (
|
@@ -1776,6 +1844,7 @@ return array (
|
|
1776 |
'country' =>
|
1777 |
array (
|
1778 |
'iso_code' => 'ET',
|
|
|
1779 |
'geoname_id' => 337996,
|
1780 |
'names' =>
|
1781 |
array (
|
@@ -1802,6 +1871,7 @@ return array (
|
|
1802 |
'country' =>
|
1803 |
array (
|
1804 |
'iso_code' => 'FI',
|
|
|
1805 |
'geoname_id' => 660013,
|
1806 |
'names' =>
|
1807 |
array (
|
@@ -1828,6 +1898,7 @@ return array (
|
|
1828 |
'country' =>
|
1829 |
array (
|
1830 |
'iso_code' => 'FJ',
|
|
|
1831 |
'geoname_id' => 2205218,
|
1832 |
'names' =>
|
1833 |
array (
|
@@ -1854,6 +1925,7 @@ return array (
|
|
1854 |
'country' =>
|
1855 |
array (
|
1856 |
'iso_code' => 'FK',
|
|
|
1857 |
'geoname_id' => 3474414,
|
1858 |
'names' =>
|
1859 |
array (
|
@@ -1871,8 +1943,8 @@ return array (
|
|
1871 |
'continent' => 'SA',
|
1872 |
'location' =>
|
1873 |
array (
|
1874 |
-
'latitude' => -51.
|
1875 |
-
'longitude' => -59.
|
1876 |
),
|
1877 |
),
|
1878 |
'FM' =>
|
@@ -1880,6 +1952,7 @@ return array (
|
|
1880 |
'country' =>
|
1881 |
array (
|
1882 |
'iso_code' => 'FM',
|
|
|
1883 |
'geoname_id' => 2081918,
|
1884 |
'names' =>
|
1885 |
array (
|
@@ -1906,6 +1979,7 @@ return array (
|
|
1906 |
'country' =>
|
1907 |
array (
|
1908 |
'iso_code' => 'FO',
|
|
|
1909 |
'geoname_id' => 2622320,
|
1910 |
'names' =>
|
1911 |
array (
|
@@ -1932,6 +2006,7 @@ return array (
|
|
1932 |
'country' =>
|
1933 |
array (
|
1934 |
'iso_code' => 'FR',
|
|
|
1935 |
'geoname_id' => 3017382,
|
1936 |
'names' =>
|
1937 |
array (
|
@@ -1958,6 +2033,7 @@ return array (
|
|
1958 |
'country' =>
|
1959 |
array (
|
1960 |
'iso_code' => 'GA',
|
|
|
1961 |
'geoname_id' => 2400553,
|
1962 |
'names' =>
|
1963 |
array (
|
@@ -1984,6 +2060,7 @@ return array (
|
|
1984 |
'country' =>
|
1985 |
array (
|
1986 |
'iso_code' => 'GB',
|
|
|
1987 |
'geoname_id' => 2635167,
|
1988 |
'names' =>
|
1989 |
array (
|
@@ -2001,8 +2078,8 @@ return array (
|
|
2001 |
'continent' => 'EU',
|
2002 |
'location' =>
|
2003 |
array (
|
2004 |
-
'latitude' => 54.
|
2005 |
-
'longitude' => -3.
|
2006 |
),
|
2007 |
),
|
2008 |
'GD' =>
|
@@ -2010,6 +2087,7 @@ return array (
|
|
2010 |
'country' =>
|
2011 |
array (
|
2012 |
'iso_code' => 'GD',
|
|
|
2013 |
'geoname_id' => 3580239,
|
2014 |
'names' =>
|
2015 |
array (
|
@@ -2036,6 +2114,7 @@ return array (
|
|
2036 |
'country' =>
|
2037 |
array (
|
2038 |
'iso_code' => 'GE',
|
|
|
2039 |
'geoname_id' => 614540,
|
2040 |
'names' =>
|
2041 |
array (
|
@@ -2062,6 +2141,7 @@ return array (
|
|
2062 |
'country' =>
|
2063 |
array (
|
2064 |
'iso_code' => 'GF',
|
|
|
2065 |
'geoname_id' => 3381670,
|
2066 |
'names' =>
|
2067 |
array (
|
@@ -2088,6 +2168,7 @@ return array (
|
|
2088 |
'country' =>
|
2089 |
array (
|
2090 |
'iso_code' => 'GG',
|
|
|
2091 |
'geoname_id' => 3042362,
|
2092 |
'names' =>
|
2093 |
array (
|
@@ -2114,6 +2195,7 @@ return array (
|
|
2114 |
'country' =>
|
2115 |
array (
|
2116 |
'iso_code' => 'GH',
|
|
|
2117 |
'geoname_id' => 2300660,
|
2118 |
'names' =>
|
2119 |
array (
|
@@ -2140,6 +2222,7 @@ return array (
|
|
2140 |
'country' =>
|
2141 |
array (
|
2142 |
'iso_code' => 'GI',
|
|
|
2143 |
'geoname_id' => 2411586,
|
2144 |
'names' =>
|
2145 |
array (
|
@@ -2166,6 +2249,7 @@ return array (
|
|
2166 |
'country' =>
|
2167 |
array (
|
2168 |
'iso_code' => 'GL',
|
|
|
2169 |
'geoname_id' => 3425505,
|
2170 |
'names' =>
|
2171 |
array (
|
@@ -2192,6 +2276,7 @@ return array (
|
|
2192 |
'country' =>
|
2193 |
array (
|
2194 |
'iso_code' => 'GM',
|
|
|
2195 |
'geoname_id' => 2413451,
|
2196 |
'names' =>
|
2197 |
array (
|
@@ -2218,6 +2303,7 @@ return array (
|
|
2218 |
'country' =>
|
2219 |
array (
|
2220 |
'iso_code' => 'GN',
|
|
|
2221 |
'geoname_id' => 2420477,
|
2222 |
'names' =>
|
2223 |
array (
|
@@ -2244,6 +2330,7 @@ return array (
|
|
2244 |
'country' =>
|
2245 |
array (
|
2246 |
'iso_code' => 'GP',
|
|
|
2247 |
'geoname_id' => 3579143,
|
2248 |
'names' =>
|
2249 |
array (
|
@@ -2270,6 +2357,7 @@ return array (
|
|
2270 |
'country' =>
|
2271 |
array (
|
2272 |
'iso_code' => 'GQ',
|
|
|
2273 |
'geoname_id' => 2309096,
|
2274 |
'names' =>
|
2275 |
array (
|
@@ -2296,6 +2384,7 @@ return array (
|
|
2296 |
'country' =>
|
2297 |
array (
|
2298 |
'iso_code' => 'GR',
|
|
|
2299 |
'geoname_id' => 390903,
|
2300 |
'names' =>
|
2301 |
array (
|
@@ -2322,6 +2411,7 @@ return array (
|
|
2322 |
'country' =>
|
2323 |
array (
|
2324 |
'iso_code' => 'GS',
|
|
|
2325 |
'geoname_id' => 3474415,
|
2326 |
'names' =>
|
2327 |
array (
|
@@ -2339,8 +2429,8 @@ return array (
|
|
2339 |
'continent' => 'AN',
|
2340 |
'location' =>
|
2341 |
array (
|
2342 |
-
'latitude' => -56.
|
2343 |
-
'longitude' => -32.
|
2344 |
),
|
2345 |
),
|
2346 |
'GT' =>
|
@@ -2348,6 +2438,7 @@ return array (
|
|
2348 |
'country' =>
|
2349 |
array (
|
2350 |
'iso_code' => 'GT',
|
|
|
2351 |
'geoname_id' => 3595528,
|
2352 |
'names' =>
|
2353 |
array (
|
@@ -2374,6 +2465,7 @@ return array (
|
|
2374 |
'country' =>
|
2375 |
array (
|
2376 |
'iso_code' => 'GU',
|
|
|
2377 |
'geoname_id' => 4043988,
|
2378 |
'names' =>
|
2379 |
array (
|
@@ -2400,6 +2492,7 @@ return array (
|
|
2400 |
'country' =>
|
2401 |
array (
|
2402 |
'iso_code' => 'GW',
|
|
|
2403 |
'geoname_id' => 2372248,
|
2404 |
'names' =>
|
2405 |
array (
|
@@ -2426,6 +2519,7 @@ return array (
|
|
2426 |
'country' =>
|
2427 |
array (
|
2428 |
'iso_code' => 'GY',
|
|
|
2429 |
'geoname_id' => 3378535,
|
2430 |
'names' =>
|
2431 |
array (
|
@@ -2452,6 +2546,7 @@ return array (
|
|
2452 |
'country' =>
|
2453 |
array (
|
2454 |
'iso_code' => 'HK',
|
|
|
2455 |
'geoname_id' => 1819730,
|
2456 |
'names' =>
|
2457 |
array (
|
@@ -2478,6 +2573,7 @@ return array (
|
|
2478 |
'country' =>
|
2479 |
array (
|
2480 |
'iso_code' => 'HM',
|
|
|
2481 |
'geoname_id' => 1547314,
|
2482 |
'names' =>
|
2483 |
array (
|
@@ -2504,6 +2600,7 @@ return array (
|
|
2504 |
'country' =>
|
2505 |
array (
|
2506 |
'iso_code' => 'HN',
|
|
|
2507 |
'geoname_id' => 3608932,
|
2508 |
'names' =>
|
2509 |
array (
|
@@ -2530,6 +2627,7 @@ return array (
|
|
2530 |
'country' =>
|
2531 |
array (
|
2532 |
'iso_code' => 'HR',
|
|
|
2533 |
'geoname_id' => 3202326,
|
2534 |
'names' =>
|
2535 |
array (
|
@@ -2556,6 +2654,7 @@ return array (
|
|
2556 |
'country' =>
|
2557 |
array (
|
2558 |
'iso_code' => 'HT',
|
|
|
2559 |
'geoname_id' => 3723988,
|
2560 |
'names' =>
|
2561 |
array (
|
@@ -2582,6 +2681,7 @@ return array (
|
|
2582 |
'country' =>
|
2583 |
array (
|
2584 |
'iso_code' => 'HU',
|
|
|
2585 |
'geoname_id' => 719819,
|
2586 |
'names' =>
|
2587 |
array (
|
@@ -2608,6 +2708,7 @@ return array (
|
|
2608 |
'country' =>
|
2609 |
array (
|
2610 |
'iso_code' => 'ID',
|
|
|
2611 |
'geoname_id' => 1643084,
|
2612 |
'names' =>
|
2613 |
array (
|
@@ -2634,6 +2735,7 @@ return array (
|
|
2634 |
'country' =>
|
2635 |
array (
|
2636 |
'iso_code' => 'IE',
|
|
|
2637 |
'geoname_id' => 2963597,
|
2638 |
'names' =>
|
2639 |
array (
|
@@ -2651,8 +2753,8 @@ return array (
|
|
2651 |
'continent' => 'EU',
|
2652 |
'location' =>
|
2653 |
array (
|
2654 |
-
'latitude' => 53.
|
2655 |
-
'longitude' => -8.
|
2656 |
),
|
2657 |
),
|
2658 |
'IL' =>
|
@@ -2660,6 +2762,7 @@ return array (
|
|
2660 |
'country' =>
|
2661 |
array (
|
2662 |
'iso_code' => 'IL',
|
|
|
2663 |
'geoname_id' => 294640,
|
2664 |
'names' =>
|
2665 |
array (
|
@@ -2686,6 +2789,7 @@ return array (
|
|
2686 |
'country' =>
|
2687 |
array (
|
2688 |
'iso_code' => 'IM',
|
|
|
2689 |
'geoname_id' => 3042225,
|
2690 |
'names' =>
|
2691 |
array (
|
@@ -2712,6 +2816,7 @@ return array (
|
|
2712 |
'country' =>
|
2713 |
array (
|
2714 |
'iso_code' => 'IN',
|
|
|
2715 |
'geoname_id' => 1269750,
|
2716 |
'names' =>
|
2717 |
array (
|
@@ -2729,8 +2834,8 @@ return array (
|
|
2729 |
'continent' => 'AS',
|
2730 |
'location' =>
|
2731 |
array (
|
2732 |
-
'latitude' => 21.
|
2733 |
-
'longitude' => 82.
|
2734 |
),
|
2735 |
),
|
2736 |
'IO' =>
|
@@ -2738,6 +2843,7 @@ return array (
|
|
2738 |
'country' =>
|
2739 |
array (
|
2740 |
'iso_code' => 'IO',
|
|
|
2741 |
'geoname_id' => 1282588,
|
2742 |
'names' =>
|
2743 |
array (
|
@@ -2764,6 +2870,7 @@ return array (
|
|
2764 |
'country' =>
|
2765 |
array (
|
2766 |
'iso_code' => 'IQ',
|
|
|
2767 |
'geoname_id' => 99237,
|
2768 |
'names' =>
|
2769 |
array (
|
@@ -2790,6 +2897,7 @@ return array (
|
|
2790 |
'country' =>
|
2791 |
array (
|
2792 |
'iso_code' => 'IR',
|
|
|
2793 |
'geoname_id' => 130758,
|
2794 |
'names' =>
|
2795 |
array (
|
@@ -2816,6 +2924,7 @@ return array (
|
|
2816 |
'country' =>
|
2817 |
array (
|
2818 |
'iso_code' => 'IS',
|
|
|
2819 |
'geoname_id' => 2629691,
|
2820 |
'names' =>
|
2821 |
array (
|
@@ -2833,8 +2942,8 @@ return array (
|
|
2833 |
'continent' => 'EU',
|
2834 |
'location' =>
|
2835 |
array (
|
2836 |
-
'latitude' => 64.
|
2837 |
-
'longitude' => -19.
|
2838 |
),
|
2839 |
),
|
2840 |
'IT' =>
|
@@ -2842,6 +2951,7 @@ return array (
|
|
2842 |
'country' =>
|
2843 |
array (
|
2844 |
'iso_code' => 'IT',
|
|
|
2845 |
'geoname_id' => 3175395,
|
2846 |
'names' =>
|
2847 |
array (
|
@@ -2868,6 +2978,7 @@ return array (
|
|
2868 |
'country' =>
|
2869 |
array (
|
2870 |
'iso_code' => 'JE',
|
|
|
2871 |
'geoname_id' => 3042142,
|
2872 |
'names' =>
|
2873 |
array (
|
@@ -2894,6 +3005,7 @@ return array (
|
|
2894 |
'country' =>
|
2895 |
array (
|
2896 |
'iso_code' => 'JM',
|
|
|
2897 |
'geoname_id' => 3489940,
|
2898 |
'names' =>
|
2899 |
array (
|
@@ -2911,8 +3023,8 @@ return array (
|
|
2911 |
'continent' => 'NA',
|
2912 |
'location' =>
|
2913 |
array (
|
2914 |
-
'latitude' => 18.
|
2915 |
-
'longitude' => -77.
|
2916 |
),
|
2917 |
),
|
2918 |
'JO' =>
|
@@ -2920,6 +3032,7 @@ return array (
|
|
2920 |
'country' =>
|
2921 |
array (
|
2922 |
'iso_code' => 'JO',
|
|
|
2923 |
'geoname_id' => 248816,
|
2924 |
'names' =>
|
2925 |
array (
|
@@ -2946,6 +3059,7 @@ return array (
|
|
2946 |
'country' =>
|
2947 |
array (
|
2948 |
'iso_code' => 'JP',
|
|
|
2949 |
'geoname_id' => 1861060,
|
2950 |
'names' =>
|
2951 |
array (
|
@@ -2963,8 +3077,8 @@ return array (
|
|
2963 |
'continent' => 'AS',
|
2964 |
'location' =>
|
2965 |
array (
|
2966 |
-
'latitude' => 34.
|
2967 |
-
'longitude' => 134.
|
2968 |
),
|
2969 |
),
|
2970 |
'KE' =>
|
@@ -2972,6 +3086,7 @@ return array (
|
|
2972 |
'country' =>
|
2973 |
array (
|
2974 |
'iso_code' => 'KE',
|
|
|
2975 |
'geoname_id' => 192950,
|
2976 |
'names' =>
|
2977 |
array (
|
@@ -2998,6 +3113,7 @@ return array (
|
|
2998 |
'country' =>
|
2999 |
array (
|
3000 |
'iso_code' => 'KG',
|
|
|
3001 |
'geoname_id' => 1527747,
|
3002 |
'names' =>
|
3003 |
array (
|
@@ -3024,6 +3140,7 @@ return array (
|
|
3024 |
'country' =>
|
3025 |
array (
|
3026 |
'iso_code' => 'KH',
|
|
|
3027 |
'geoname_id' => 1831722,
|
3028 |
'names' =>
|
3029 |
array (
|
@@ -3050,6 +3167,7 @@ return array (
|
|
3050 |
'country' =>
|
3051 |
array (
|
3052 |
'iso_code' => 'KI',
|
|
|
3053 |
'geoname_id' => 4030945,
|
3054 |
'names' =>
|
3055 |
array (
|
@@ -3076,6 +3194,7 @@ return array (
|
|
3076 |
'country' =>
|
3077 |
array (
|
3078 |
'iso_code' => 'KM',
|
|
|
3079 |
'geoname_id' => 921929,
|
3080 |
'names' =>
|
3081 |
array (
|
@@ -3102,6 +3221,7 @@ return array (
|
|
3102 |
'country' =>
|
3103 |
array (
|
3104 |
'iso_code' => 'KN',
|
|
|
3105 |
'geoname_id' => 3575174,
|
3106 |
'names' =>
|
3107 |
array (
|
@@ -3128,6 +3248,7 @@ return array (
|
|
3128 |
'country' =>
|
3129 |
array (
|
3130 |
'iso_code' => 'KP',
|
|
|
3131 |
'geoname_id' => 1873107,
|
3132 |
'names' =>
|
3133 |
array (
|
@@ -3154,6 +3275,7 @@ return array (
|
|
3154 |
'country' =>
|
3155 |
array (
|
3156 |
'iso_code' => 'KR',
|
|
|
3157 |
'geoname_id' => 1835841,
|
3158 |
'names' =>
|
3159 |
array (
|
@@ -3180,6 +3302,7 @@ return array (
|
|
3180 |
'country' =>
|
3181 |
array (
|
3182 |
'iso_code' => 'KW',
|
|
|
3183 |
'geoname_id' => 285570,
|
3184 |
'names' =>
|
3185 |
array (
|
@@ -3206,6 +3329,7 @@ return array (
|
|
3206 |
'country' =>
|
3207 |
array (
|
3208 |
'iso_code' => 'KY',
|
|
|
3209 |
'geoname_id' => 3580718,
|
3210 |
'names' =>
|
3211 |
array (
|
@@ -3232,6 +3356,7 @@ return array (
|
|
3232 |
'country' =>
|
3233 |
array (
|
3234 |
'iso_code' => 'KZ',
|
|
|
3235 |
'geoname_id' => 1522867,
|
3236 |
'names' =>
|
3237 |
array (
|
@@ -3258,6 +3383,7 @@ return array (
|
|
3258 |
'country' =>
|
3259 |
array (
|
3260 |
'iso_code' => 'LA',
|
|
|
3261 |
'geoname_id' => 1655842,
|
3262 |
'names' =>
|
3263 |
array (
|
@@ -3284,6 +3410,7 @@ return array (
|
|
3284 |
'country' =>
|
3285 |
array (
|
3286 |
'iso_code' => 'LB',
|
|
|
3287 |
'geoname_id' => 272103,
|
3288 |
'names' =>
|
3289 |
array (
|
@@ -3310,6 +3437,7 @@ return array (
|
|
3310 |
'country' =>
|
3311 |
array (
|
3312 |
'iso_code' => 'LC',
|
|
|
3313 |
'geoname_id' => 3576468,
|
3314 |
'names' =>
|
3315 |
array (
|
@@ -3336,6 +3464,7 @@ return array (
|
|
3336 |
'country' =>
|
3337 |
array (
|
3338 |
'iso_code' => 'LI',
|
|
|
3339 |
'geoname_id' => 3042058,
|
3340 |
'names' =>
|
3341 |
array (
|
@@ -3362,6 +3491,7 @@ return array (
|
|
3362 |
'country' =>
|
3363 |
array (
|
3364 |
'iso_code' => 'LK',
|
|
|
3365 |
'geoname_id' => 1227603,
|
3366 |
'names' =>
|
3367 |
array (
|
@@ -3388,6 +3518,7 @@ return array (
|
|
3388 |
'country' =>
|
3389 |
array (
|
3390 |
'iso_code' => 'LR',
|
|
|
3391 |
'geoname_id' => 2275384,
|
3392 |
'names' =>
|
3393 |
array (
|
@@ -3414,6 +3545,7 @@ return array (
|
|
3414 |
'country' =>
|
3415 |
array (
|
3416 |
'iso_code' => 'LS',
|
|
|
3417 |
'geoname_id' => 932692,
|
3418 |
'names' =>
|
3419 |
array (
|
@@ -3431,8 +3563,8 @@ return array (
|
|
3431 |
'continent' => 'AF',
|
3432 |
'location' =>
|
3433 |
array (
|
3434 |
-
'latitude' => -29.
|
3435 |
-
'longitude' => 28.
|
3436 |
),
|
3437 |
),
|
3438 |
'LT' =>
|
@@ -3440,6 +3572,7 @@ return array (
|
|
3440 |
'country' =>
|
3441 |
array (
|
3442 |
'iso_code' => 'LT',
|
|
|
3443 |
'geoname_id' => 597427,
|
3444 |
'names' =>
|
3445 |
array (
|
@@ -3466,6 +3599,7 @@ return array (
|
|
3466 |
'country' =>
|
3467 |
array (
|
3468 |
'iso_code' => 'LU',
|
|
|
3469 |
'geoname_id' => 2960313,
|
3470 |
'names' =>
|
3471 |
array (
|
@@ -3492,6 +3626,7 @@ return array (
|
|
3492 |
'country' =>
|
3493 |
array (
|
3494 |
'iso_code' => 'LV',
|
|
|
3495 |
'geoname_id' => 458258,
|
3496 |
'names' =>
|
3497 |
array (
|
@@ -3518,6 +3653,7 @@ return array (
|
|
3518 |
'country' =>
|
3519 |
array (
|
3520 |
'iso_code' => 'LY',
|
|
|
3521 |
'geoname_id' => 2215636,
|
3522 |
'names' =>
|
3523 |
array (
|
@@ -3544,6 +3680,7 @@ return array (
|
|
3544 |
'country' =>
|
3545 |
array (
|
3546 |
'iso_code' => 'MA',
|
|
|
3547 |
'geoname_id' => 2542007,
|
3548 |
'names' =>
|
3549 |
array (
|
@@ -3570,6 +3707,7 @@ return array (
|
|
3570 |
'country' =>
|
3571 |
array (
|
3572 |
'iso_code' => 'MC',
|
|
|
3573 |
'geoname_id' => 2993457,
|
3574 |
'names' =>
|
3575 |
array (
|
@@ -3596,6 +3734,7 @@ return array (
|
|
3596 |
'country' =>
|
3597 |
array (
|
3598 |
'iso_code' => 'MD',
|
|
|
3599 |
'geoname_id' => 617790,
|
3600 |
'names' =>
|
3601 |
array (
|
@@ -3622,6 +3761,7 @@ return array (
|
|
3622 |
'country' =>
|
3623 |
array (
|
3624 |
'iso_code' => 'ME',
|
|
|
3625 |
'geoname_id' => 3194884,
|
3626 |
'names' =>
|
3627 |
array (
|
@@ -3648,6 +3788,7 @@ return array (
|
|
3648 |
'country' =>
|
3649 |
array (
|
3650 |
'iso_code' => 'MF',
|
|
|
3651 |
'geoname_id' => 3578421,
|
3652 |
'names' =>
|
3653 |
array (
|
@@ -3674,6 +3815,7 @@ return array (
|
|
3674 |
'country' =>
|
3675 |
array (
|
3676 |
'iso_code' => 'MG',
|
|
|
3677 |
'geoname_id' => 1062947,
|
3678 |
'names' =>
|
3679 |
array (
|
@@ -3700,6 +3842,7 @@ return array (
|
|
3700 |
'country' =>
|
3701 |
array (
|
3702 |
'iso_code' => 'MH',
|
|
|
3703 |
'geoname_id' => 2080185,
|
3704 |
'names' =>
|
3705 |
array (
|
@@ -3726,6 +3869,7 @@ return array (
|
|
3726 |
'country' =>
|
3727 |
array (
|
3728 |
'iso_code' => 'MK',
|
|
|
3729 |
'geoname_id' => 718075,
|
3730 |
'names' =>
|
3731 |
array (
|
@@ -3752,6 +3896,7 @@ return array (
|
|
3752 |
'country' =>
|
3753 |
array (
|
3754 |
'iso_code' => 'ML',
|
|
|
3755 |
'geoname_id' => 2453866,
|
3756 |
'names' =>
|
3757 |
array (
|
@@ -3778,6 +3923,7 @@ return array (
|
|
3778 |
'country' =>
|
3779 |
array (
|
3780 |
'iso_code' => 'MM',
|
|
|
3781 |
'geoname_id' => 1327865,
|
3782 |
'names' =>
|
3783 |
array (
|
@@ -3804,6 +3950,7 @@ return array (
|
|
3804 |
'country' =>
|
3805 |
array (
|
3806 |
'iso_code' => 'MN',
|
|
|
3807 |
'geoname_id' => 2029969,
|
3808 |
'names' =>
|
3809 |
array (
|
@@ -3830,6 +3977,7 @@ return array (
|
|
3830 |
'country' =>
|
3831 |
array (
|
3832 |
'iso_code' => 'MO',
|
|
|
3833 |
'geoname_id' => 1821275,
|
3834 |
'names' =>
|
3835 |
array (
|
@@ -3856,6 +4004,7 @@ return array (
|
|
3856 |
'country' =>
|
3857 |
array (
|
3858 |
'iso_code' => 'MP',
|
|
|
3859 |
'geoname_id' => 4041468,
|
3860 |
'names' =>
|
3861 |
array (
|
@@ -3882,6 +4031,7 @@ return array (
|
|
3882 |
'country' =>
|
3883 |
array (
|
3884 |
'iso_code' => 'MQ',
|
|
|
3885 |
'geoname_id' => 3570311,
|
3886 |
'names' =>
|
3887 |
array (
|
@@ -3908,6 +4058,7 @@ return array (
|
|
3908 |
'country' =>
|
3909 |
array (
|
3910 |
'iso_code' => 'MR',
|
|
|
3911 |
'geoname_id' => 2378080,
|
3912 |
'names' =>
|
3913 |
array (
|
@@ -3934,6 +4085,7 @@ return array (
|
|
3934 |
'country' =>
|
3935 |
array (
|
3936 |
'iso_code' => 'MS',
|
|
|
3937 |
'geoname_id' => 3578097,
|
3938 |
'names' =>
|
3939 |
array (
|
@@ -3960,6 +4112,7 @@ return array (
|
|
3960 |
'country' =>
|
3961 |
array (
|
3962 |
'iso_code' => 'MT',
|
|
|
3963 |
'geoname_id' => 2562770,
|
3964 |
'names' =>
|
3965 |
array (
|
@@ -3986,6 +4139,7 @@ return array (
|
|
3986 |
'country' =>
|
3987 |
array (
|
3988 |
'iso_code' => 'MU',
|
|
|
3989 |
'geoname_id' => 934292,
|
3990 |
'names' =>
|
3991 |
array (
|
@@ -4012,6 +4166,7 @@ return array (
|
|
4012 |
'country' =>
|
4013 |
array (
|
4014 |
'iso_code' => 'MV',
|
|
|
4015 |
'geoname_id' => 1282028,
|
4016 |
'names' =>
|
4017 |
array (
|
@@ -4038,6 +4193,7 @@ return array (
|
|
4038 |
'country' =>
|
4039 |
array (
|
4040 |
'iso_code' => 'MW',
|
|
|
4041 |
'geoname_id' => 927384,
|
4042 |
'names' =>
|
4043 |
array (
|
@@ -4064,6 +4220,7 @@ return array (
|
|
4064 |
'country' =>
|
4065 |
array (
|
4066 |
'iso_code' => 'MX',
|
|
|
4067 |
'geoname_id' => 3996063,
|
4068 |
'names' =>
|
4069 |
array (
|
@@ -4090,6 +4247,7 @@ return array (
|
|
4090 |
'country' =>
|
4091 |
array (
|
4092 |
'iso_code' => 'MY',
|
|
|
4093 |
'geoname_id' => 1733045,
|
4094 |
'names' =>
|
4095 |
array (
|
@@ -4116,6 +4274,7 @@ return array (
|
|
4116 |
'country' =>
|
4117 |
array (
|
4118 |
'iso_code' => 'MZ',
|
|
|
4119 |
'geoname_id' => 1036973,
|
4120 |
'names' =>
|
4121 |
array (
|
@@ -4142,6 +4301,7 @@ return array (
|
|
4142 |
'country' =>
|
4143 |
array (
|
4144 |
'iso_code' => 'NA',
|
|
|
4145 |
'geoname_id' => 3355338,
|
4146 |
'names' =>
|
4147 |
array (
|
@@ -4168,6 +4328,7 @@ return array (
|
|
4168 |
'country' =>
|
4169 |
array (
|
4170 |
'iso_code' => 'NC',
|
|
|
4171 |
'geoname_id' => 2139685,
|
4172 |
'names' =>
|
4173 |
array (
|
@@ -4194,6 +4355,7 @@ return array (
|
|
4194 |
'country' =>
|
4195 |
array (
|
4196 |
'iso_code' => 'NE',
|
|
|
4197 |
'geoname_id' => 2440476,
|
4198 |
'names' =>
|
4199 |
array (
|
@@ -4220,6 +4382,7 @@ return array (
|
|
4220 |
'country' =>
|
4221 |
array (
|
4222 |
'iso_code' => 'NF',
|
|
|
4223 |
'geoname_id' => 2155115,
|
4224 |
'names' =>
|
4225 |
array (
|
@@ -4246,6 +4409,7 @@ return array (
|
|
4246 |
'country' =>
|
4247 |
array (
|
4248 |
'iso_code' => 'NG',
|
|
|
4249 |
'geoname_id' => 2328926,
|
4250 |
'names' =>
|
4251 |
array (
|
@@ -4272,6 +4436,7 @@ return array (
|
|
4272 |
'country' =>
|
4273 |
array (
|
4274 |
'iso_code' => 'NI',
|
|
|
4275 |
'geoname_id' => 3617476,
|
4276 |
'names' =>
|
4277 |
array (
|
@@ -4298,6 +4463,7 @@ return array (
|
|
4298 |
'country' =>
|
4299 |
array (
|
4300 |
'iso_code' => 'NL',
|
|
|
4301 |
'geoname_id' => 2750405,
|
4302 |
'names' =>
|
4303 |
array (
|
@@ -4315,8 +4481,8 @@ return array (
|
|
4315 |
'continent' => 'EU',
|
4316 |
'location' =>
|
4317 |
array (
|
4318 |
-
'latitude' => 52.
|
4319 |
-
'longitude' => 5.
|
4320 |
),
|
4321 |
),
|
4322 |
'NO' =>
|
@@ -4324,6 +4490,7 @@ return array (
|
|
4324 |
'country' =>
|
4325 |
array (
|
4326 |
'iso_code' => 'NO',
|
|
|
4327 |
'geoname_id' => 3144096,
|
4328 |
'names' =>
|
4329 |
array (
|
@@ -4341,8 +4508,8 @@ return array (
|
|
4341 |
'continent' => 'EU',
|
4342 |
'location' =>
|
4343 |
array (
|
4344 |
-
'latitude' => 64.
|
4345 |
-
'longitude' => 17.
|
4346 |
),
|
4347 |
),
|
4348 |
'NP' =>
|
@@ -4350,6 +4517,7 @@ return array (
|
|
4350 |
'country' =>
|
4351 |
array (
|
4352 |
'iso_code' => 'NP',
|
|
|
4353 |
'geoname_id' => 1282988,
|
4354 |
'names' =>
|
4355 |
array (
|
@@ -4376,6 +4544,7 @@ return array (
|
|
4376 |
'country' =>
|
4377 |
array (
|
4378 |
'iso_code' => 'NR',
|
|
|
4379 |
'geoname_id' => 2110425,
|
4380 |
'names' =>
|
4381 |
array (
|
@@ -4402,6 +4571,7 @@ return array (
|
|
4402 |
'country' =>
|
4403 |
array (
|
4404 |
'iso_code' => 'NU',
|
|
|
4405 |
'geoname_id' => 4036232,
|
4406 |
'names' =>
|
4407 |
array (
|
@@ -4428,6 +4598,7 @@ return array (
|
|
4428 |
'country' =>
|
4429 |
array (
|
4430 |
'iso_code' => 'NZ',
|
|
|
4431 |
'geoname_id' => 2186224,
|
4432 |
'names' =>
|
4433 |
array (
|
@@ -4454,6 +4625,7 @@ return array (
|
|
4454 |
'country' =>
|
4455 |
array (
|
4456 |
'iso_code' => 'OM',
|
|
|
4457 |
'geoname_id' => 286963,
|
4458 |
'names' =>
|
4459 |
array (
|
@@ -4480,6 +4652,7 @@ return array (
|
|
4480 |
'country' =>
|
4481 |
array (
|
4482 |
'iso_code' => 'PA',
|
|
|
4483 |
'geoname_id' => 3703430,
|
4484 |
'names' =>
|
4485 |
array (
|
@@ -4497,8 +4670,8 @@ return array (
|
|
4497 |
'continent' => 'NA',
|
4498 |
'location' =>
|
4499 |
array (
|
4500 |
-
'latitude' => 8.
|
4501 |
-
'longitude' => -80.
|
4502 |
),
|
4503 |
),
|
4504 |
'PE' =>
|
@@ -4506,6 +4679,7 @@ return array (
|
|
4506 |
'country' =>
|
4507 |
array (
|
4508 |
'iso_code' => 'PE',
|
|
|
4509 |
'geoname_id' => 3932488,
|
4510 |
'names' =>
|
4511 |
array (
|
@@ -4532,6 +4706,7 @@ return array (
|
|
4532 |
'country' =>
|
4533 |
array (
|
4534 |
'iso_code' => 'PF',
|
|
|
4535 |
'geoname_id' => 4030656,
|
4536 |
'names' =>
|
4537 |
array (
|
@@ -4558,6 +4733,7 @@ return array (
|
|
4558 |
'country' =>
|
4559 |
array (
|
4560 |
'iso_code' => 'PG',
|
|
|
4561 |
'geoname_id' => 2088628,
|
4562 |
'names' =>
|
4563 |
array (
|
@@ -4584,6 +4760,7 @@ return array (
|
|
4584 |
'country' =>
|
4585 |
array (
|
4586 |
'iso_code' => 'PH',
|
|
|
4587 |
'geoname_id' => 1694008,
|
4588 |
'names' =>
|
4589 |
array (
|
@@ -4602,7 +4779,7 @@ return array (
|
|
4602 |
'location' =>
|
4603 |
array (
|
4604 |
'latitude' => 12.88199172124097,
|
4605 |
-
'longitude' => 121.
|
4606 |
),
|
4607 |
),
|
4608 |
'PK' =>
|
@@ -4610,6 +4787,7 @@ return array (
|
|
4610 |
'country' =>
|
4611 |
array (
|
4612 |
'iso_code' => 'PK',
|
|
|
4613 |
'geoname_id' => 1168579,
|
4614 |
'names' =>
|
4615 |
array (
|
@@ -4636,6 +4814,7 @@ return array (
|
|
4636 |
'country' =>
|
4637 |
array (
|
4638 |
'iso_code' => 'PL',
|
|
|
4639 |
'geoname_id' => 798544,
|
4640 |
'names' =>
|
4641 |
array (
|
@@ -4653,8 +4832,8 @@ return array (
|
|
4653 |
'continent' => 'EU',
|
4654 |
'location' =>
|
4655 |
array (
|
4656 |
-
'latitude' => 51.
|
4657 |
-
'longitude' => 19.
|
4658 |
),
|
4659 |
),
|
4660 |
'PM' =>
|
@@ -4662,6 +4841,7 @@ return array (
|
|
4662 |
'country' =>
|
4663 |
array (
|
4664 |
'iso_code' => 'PM',
|
|
|
4665 |
'geoname_id' => 3424932,
|
4666 |
'names' =>
|
4667 |
array (
|
@@ -4688,6 +4868,7 @@ return array (
|
|
4688 |
'country' =>
|
4689 |
array (
|
4690 |
'iso_code' => 'PN',
|
|
|
4691 |
'geoname_id' => 4030699,
|
4692 |
'names' =>
|
4693 |
array (
|
@@ -4705,8 +4886,8 @@ return array (
|
|
4705 |
'continent' => 'OC',
|
4706 |
'location' =>
|
4707 |
array (
|
4708 |
-
'latitude' => -24.
|
4709 |
-
'longitude' => -126.
|
4710 |
),
|
4711 |
),
|
4712 |
'PR' =>
|
@@ -4714,6 +4895,7 @@ return array (
|
|
4714 |
'country' =>
|
4715 |
array (
|
4716 |
'iso_code' => 'PR',
|
|
|
4717 |
'geoname_id' => 4566966,
|
4718 |
'names' =>
|
4719 |
array (
|
@@ -4732,7 +4914,7 @@ return array (
|
|
4732 |
'location' =>
|
4733 |
array (
|
4734 |
'latitude' => 18.223285499999999,
|
4735 |
-
'longitude' => -66.
|
4736 |
),
|
4737 |
),
|
4738 |
'PS' =>
|
@@ -4740,6 +4922,7 @@ return array (
|
|
4740 |
'country' =>
|
4741 |
array (
|
4742 |
'iso_code' => 'PS',
|
|
|
4743 |
'geoname_id' => 6254930,
|
4744 |
'names' =>
|
4745 |
array (
|
@@ -4766,6 +4949,7 @@ return array (
|
|
4766 |
'country' =>
|
4767 |
array (
|
4768 |
'iso_code' => 'PT',
|
|
|
4769 |
'geoname_id' => 2264397,
|
4770 |
'names' =>
|
4771 |
array (
|
@@ -4792,6 +4976,7 @@ return array (
|
|
4792 |
'country' =>
|
4793 |
array (
|
4794 |
'iso_code' => 'PW',
|
|
|
4795 |
'geoname_id' => 1559582,
|
4796 |
'names' =>
|
4797 |
array (
|
@@ -4818,6 +5003,7 @@ return array (
|
|
4818 |
'country' =>
|
4819 |
array (
|
4820 |
'iso_code' => 'PY',
|
|
|
4821 |
'geoname_id' => 3437598,
|
4822 |
'names' =>
|
4823 |
array (
|
@@ -4844,6 +5030,7 @@ return array (
|
|
4844 |
'country' =>
|
4845 |
array (
|
4846 |
'iso_code' => 'QA',
|
|
|
4847 |
'geoname_id' => 289688,
|
4848 |
'names' =>
|
4849 |
array (
|
@@ -4870,6 +5057,7 @@ return array (
|
|
4870 |
'country' =>
|
4871 |
array (
|
4872 |
'iso_code' => 'RE',
|
|
|
4873 |
'geoname_id' => 935317,
|
4874 |
'names' =>
|
4875 |
array (
|
@@ -4896,6 +5084,7 @@ return array (
|
|
4896 |
'country' =>
|
4897 |
array (
|
4898 |
'iso_code' => 'RO',
|
|
|
4899 |
'geoname_id' => 798549,
|
4900 |
'names' =>
|
4901 |
array (
|
@@ -4913,8 +5102,8 @@ return array (
|
|
4913 |
'continent' => 'EU',
|
4914 |
'location' =>
|
4915 |
array (
|
4916 |
-
'latitude' => 45.
|
4917 |
-
'longitude' => 24.
|
4918 |
),
|
4919 |
),
|
4920 |
'RS' =>
|
@@ -4922,6 +5111,7 @@ return array (
|
|
4922 |
'country' =>
|
4923 |
array (
|
4924 |
'iso_code' => 'RS',
|
|
|
4925 |
'geoname_id' => 6290252,
|
4926 |
'names' =>
|
4927 |
array (
|
@@ -4948,6 +5138,7 @@ return array (
|
|
4948 |
'country' =>
|
4949 |
array (
|
4950 |
'iso_code' => 'RU',
|
|
|
4951 |
'geoname_id' => 2017370,
|
4952 |
'names' =>
|
4953 |
array (
|
@@ -4974,6 +5165,7 @@ return array (
|
|
4974 |
'country' =>
|
4975 |
array (
|
4976 |
'iso_code' => 'RW',
|
|
|
4977 |
'geoname_id' => 49518,
|
4978 |
'names' =>
|
4979 |
array (
|
@@ -4991,8 +5183,8 @@ return array (
|
|
4991 |
'continent' => 'AF',
|
4992 |
'location' =>
|
4993 |
array (
|
4994 |
-
'latitude' => -1.
|
4995 |
-
'longitude' => 29.
|
4996 |
),
|
4997 |
),
|
4998 |
'SA' =>
|
@@ -5000,6 +5192,7 @@ return array (
|
|
5000 |
'country' =>
|
5001 |
array (
|
5002 |
'iso_code' => 'SA',
|
|
|
5003 |
'geoname_id' => 102358,
|
5004 |
'names' =>
|
5005 |
array (
|
@@ -5017,8 +5210,8 @@ return array (
|
|
5017 |
'continent' => 'AS',
|
5018 |
'location' =>
|
5019 |
array (
|
5020 |
-
'latitude' =>
|
5021 |
-
'longitude' => 45.
|
5022 |
),
|
5023 |
),
|
5024 |
'SB' =>
|
@@ -5026,6 +5219,7 @@ return array (
|
|
5026 |
'country' =>
|
5027 |
array (
|
5028 |
'iso_code' => 'SB',
|
|
|
5029 |
'geoname_id' => 2103350,
|
5030 |
'names' =>
|
5031 |
array (
|
@@ -5052,6 +5246,7 @@ return array (
|
|
5052 |
'country' =>
|
5053 |
array (
|
5054 |
'iso_code' => 'SC',
|
|
|
5055 |
'geoname_id' => 241170,
|
5056 |
'names' =>
|
5057 |
array (
|
@@ -5078,6 +5273,7 @@ return array (
|
|
5078 |
'country' =>
|
5079 |
array (
|
5080 |
'iso_code' => 'SD',
|
|
|
5081 |
'geoname_id' => 366755,
|
5082 |
'names' =>
|
5083 |
array (
|
@@ -5104,6 +5300,7 @@ return array (
|
|
5104 |
'country' =>
|
5105 |
array (
|
5106 |
'iso_code' => 'SE',
|
|
|
5107 |
'geoname_id' => 2661886,
|
5108 |
'names' =>
|
5109 |
array (
|
@@ -5121,8 +5318,8 @@ return array (
|
|
5121 |
'continent' => 'EU',
|
5122 |
'location' =>
|
5123 |
array (
|
5124 |
-
'latitude' => 62.
|
5125 |
-
'longitude' => 17.
|
5126 |
),
|
5127 |
),
|
5128 |
'SG' =>
|
@@ -5130,6 +5327,7 @@ return array (
|
|
5130 |
'country' =>
|
5131 |
array (
|
5132 |
'iso_code' => 'SG',
|
|
|
5133 |
'geoname_id' => 1880251,
|
5134 |
'names' =>
|
5135 |
array (
|
@@ -5156,6 +5354,7 @@ return array (
|
|
5156 |
'country' =>
|
5157 |
array (
|
5158 |
'iso_code' => 'SH',
|
|
|
5159 |
'geoname_id' => 3370751,
|
5160 |
'names' =>
|
5161 |
array (
|
@@ -5182,6 +5381,7 @@ return array (
|
|
5182 |
'country' =>
|
5183 |
array (
|
5184 |
'iso_code' => 'SI',
|
|
|
5185 |
'geoname_id' => 3190538,
|
5186 |
'names' =>
|
5187 |
array (
|
@@ -5208,6 +5408,7 @@ return array (
|
|
5208 |
'country' =>
|
5209 |
array (
|
5210 |
'iso_code' => 'SJ',
|
|
|
5211 |
'geoname_id' => 607072,
|
5212 |
'names' =>
|
5213 |
array (
|
@@ -5234,6 +5435,7 @@ return array (
|
|
5234 |
'country' =>
|
5235 |
array (
|
5236 |
'iso_code' => 'SK',
|
|
|
5237 |
'geoname_id' => 3057568,
|
5238 |
'names' =>
|
5239 |
array (
|
@@ -5260,6 +5462,7 @@ return array (
|
|
5260 |
'country' =>
|
5261 |
array (
|
5262 |
'iso_code' => 'SL',
|
|
|
5263 |
'geoname_id' => 2403846,
|
5264 |
'names' =>
|
5265 |
array (
|
@@ -5286,6 +5489,7 @@ return array (
|
|
5286 |
'country' =>
|
5287 |
array (
|
5288 |
'iso_code' => 'SM',
|
|
|
5289 |
'geoname_id' => 3168068,
|
5290 |
'names' =>
|
5291 |
array (
|
@@ -5312,6 +5516,7 @@ return array (
|
|
5312 |
'country' =>
|
5313 |
array (
|
5314 |
'iso_code' => 'SN',
|
|
|
5315 |
'geoname_id' => 2245662,
|
5316 |
'names' =>
|
5317 |
array (
|
@@ -5338,6 +5543,7 @@ return array (
|
|
5338 |
'country' =>
|
5339 |
array (
|
5340 |
'iso_code' => 'SO',
|
|
|
5341 |
'geoname_id' => 51537,
|
5342 |
'names' =>
|
5343 |
array (
|
@@ -5364,6 +5570,7 @@ return array (
|
|
5364 |
'country' =>
|
5365 |
array (
|
5366 |
'iso_code' => 'SR',
|
|
|
5367 |
'geoname_id' => 3382998,
|
5368 |
'names' =>
|
5369 |
array (
|
@@ -5390,6 +5597,7 @@ return array (
|
|
5390 |
'country' =>
|
5391 |
array (
|
5392 |
'iso_code' => 'SS',
|
|
|
5393 |
'geoname_id' => 7909807,
|
5394 |
'names' =>
|
5395 |
array (
|
@@ -5416,6 +5624,7 @@ return array (
|
|
5416 |
'country' =>
|
5417 |
array (
|
5418 |
'iso_code' => 'ST',
|
|
|
5419 |
'geoname_id' => 2410758,
|
5420 |
'names' =>
|
5421 |
array (
|
@@ -5442,6 +5651,7 @@ return array (
|
|
5442 |
'country' =>
|
5443 |
array (
|
5444 |
'iso_code' => 'SV',
|
|
|
5445 |
'geoname_id' => 3585968,
|
5446 |
'names' =>
|
5447 |
array (
|
@@ -5468,6 +5678,7 @@ return array (
|
|
5468 |
'country' =>
|
5469 |
array (
|
5470 |
'iso_code' => 'SX',
|
|
|
5471 |
'geoname_id' => 7609695,
|
5472 |
'names' =>
|
5473 |
array (
|
@@ -5494,6 +5705,7 @@ return array (
|
|
5494 |
'country' =>
|
5495 |
array (
|
5496 |
'iso_code' => 'SY',
|
|
|
5497 |
'geoname_id' => 163843,
|
5498 |
'names' =>
|
5499 |
array (
|
@@ -5520,6 +5732,7 @@ return array (
|
|
5520 |
'country' =>
|
5521 |
array (
|
5522 |
'iso_code' => 'SZ',
|
|
|
5523 |
'geoname_id' => 934841,
|
5524 |
'names' =>
|
5525 |
array (
|
@@ -5546,6 +5759,7 @@ return array (
|
|
5546 |
'country' =>
|
5547 |
array (
|
5548 |
'iso_code' => 'TC',
|
|
|
5549 |
'geoname_id' => 3576916,
|
5550 |
'names' =>
|
5551 |
array (
|
@@ -5572,6 +5786,7 @@ return array (
|
|
5572 |
'country' =>
|
5573 |
array (
|
5574 |
'iso_code' => 'TD',
|
|
|
5575 |
'geoname_id' => 2434508,
|
5576 |
'names' =>
|
5577 |
array (
|
@@ -5598,6 +5813,7 @@ return array (
|
|
5598 |
'country' =>
|
5599 |
array (
|
5600 |
'iso_code' => 'TF',
|
|
|
5601 |
'geoname_id' => 1546748,
|
5602 |
'names' =>
|
5603 |
array (
|
@@ -5624,6 +5840,7 @@ return array (
|
|
5624 |
'country' =>
|
5625 |
array (
|
5626 |
'iso_code' => 'TG',
|
|
|
5627 |
'geoname_id' => 2363686,
|
5628 |
'names' =>
|
5629 |
array (
|
@@ -5650,6 +5867,7 @@ return array (
|
|
5650 |
'country' =>
|
5651 |
array (
|
5652 |
'iso_code' => 'TH',
|
|
|
5653 |
'geoname_id' => 1605651,
|
5654 |
'names' =>
|
5655 |
array (
|
@@ -5676,6 +5894,7 @@ return array (
|
|
5676 |
'country' =>
|
5677 |
array (
|
5678 |
'iso_code' => 'TJ',
|
|
|
5679 |
'geoname_id' => 1220409,
|
5680 |
'names' =>
|
5681 |
array (
|
@@ -5702,6 +5921,7 @@ return array (
|
|
5702 |
'country' =>
|
5703 |
array (
|
5704 |
'iso_code' => 'TK',
|
|
|
5705 |
'geoname_id' => 4031074,
|
5706 |
'names' =>
|
5707 |
array (
|
@@ -5728,6 +5948,7 @@ return array (
|
|
5728 |
'country' =>
|
5729 |
array (
|
5730 |
'iso_code' => 'TL',
|
|
|
5731 |
'geoname_id' => 1966436,
|
5732 |
'names' =>
|
5733 |
array (
|
@@ -5754,6 +5975,7 @@ return array (
|
|
5754 |
'country' =>
|
5755 |
array (
|
5756 |
'iso_code' => 'TM',
|
|
|
5757 |
'geoname_id' => 1218197,
|
5758 |
'names' =>
|
5759 |
array (
|
@@ -5780,6 +6002,7 @@ return array (
|
|
5780 |
'country' =>
|
5781 |
array (
|
5782 |
'iso_code' => 'TN',
|
|
|
5783 |
'geoname_id' => 2464461,
|
5784 |
'names' =>
|
5785 |
array (
|
@@ -5806,6 +6029,7 @@ return array (
|
|
5806 |
'country' =>
|
5807 |
array (
|
5808 |
'iso_code' => 'TO',
|
|
|
5809 |
'geoname_id' => 4032283,
|
5810 |
'names' =>
|
5811 |
array (
|
@@ -5832,6 +6056,7 @@ return array (
|
|
5832 |
'country' =>
|
5833 |
array (
|
5834 |
'iso_code' => 'TR',
|
|
|
5835 |
'geoname_id' => 298795,
|
5836 |
'names' =>
|
5837 |
array (
|
@@ -5858,6 +6083,7 @@ return array (
|
|
5858 |
'country' =>
|
5859 |
array (
|
5860 |
'iso_code' => 'TT',
|
|
|
5861 |
'geoname_id' => 3573591,
|
5862 |
'names' =>
|
5863 |
array (
|
@@ -5884,6 +6110,7 @@ return array (
|
|
5884 |
'country' =>
|
5885 |
array (
|
5886 |
'iso_code' => 'TV',
|
|
|
5887 |
'geoname_id' => 2110297,
|
5888 |
'names' =>
|
5889 |
array (
|
@@ -5910,6 +6137,7 @@ return array (
|
|
5910 |
'country' =>
|
5911 |
array (
|
5912 |
'iso_code' => 'TW',
|
|
|
5913 |
'geoname_id' => 1668284,
|
5914 |
'names' =>
|
5915 |
array (
|
@@ -5936,6 +6164,7 @@ return array (
|
|
5936 |
'country' =>
|
5937 |
array (
|
5938 |
'iso_code' => 'TZ',
|
|
|
5939 |
'geoname_id' => 149590,
|
5940 |
'names' =>
|
5941 |
array (
|
@@ -5962,6 +6191,7 @@ return array (
|
|
5962 |
'country' =>
|
5963 |
array (
|
5964 |
'iso_code' => 'UA',
|
|
|
5965 |
'geoname_id' => 690791,
|
5966 |
'names' =>
|
5967 |
array (
|
@@ -5988,6 +6218,7 @@ return array (
|
|
5988 |
'country' =>
|
5989 |
array (
|
5990 |
'iso_code' => 'UG',
|
|
|
5991 |
'geoname_id' => 226074,
|
5992 |
'names' =>
|
5993 |
array (
|
@@ -6005,8 +6236,8 @@ return array (
|
|
6005 |
'continent' => 'AF',
|
6006 |
'location' =>
|
6007 |
array (
|
6008 |
-
'latitude' => 1.
|
6009 |
-
'longitude' => 32.
|
6010 |
),
|
6011 |
),
|
6012 |
'UM' =>
|
@@ -6014,6 +6245,7 @@ return array (
|
|
6014 |
'country' =>
|
6015 |
array (
|
6016 |
'iso_code' => 'UM',
|
|
|
6017 |
'geoname_id' => 5854968,
|
6018 |
'names' =>
|
6019 |
array (
|
@@ -6040,6 +6272,7 @@ return array (
|
|
6040 |
'country' =>
|
6041 |
array (
|
6042 |
'iso_code' => 'US',
|
|
|
6043 |
'geoname_id' => 6252001,
|
6044 |
'names' =>
|
6045 |
array (
|
@@ -6066,6 +6299,7 @@ return array (
|
|
6066 |
'country' =>
|
6067 |
array (
|
6068 |
'iso_code' => 'UY',
|
|
|
6069 |
'geoname_id' => 3439705,
|
6070 |
'names' =>
|
6071 |
array (
|
@@ -6092,6 +6326,7 @@ return array (
|
|
6092 |
'country' =>
|
6093 |
array (
|
6094 |
'iso_code' => 'UZ',
|
|
|
6095 |
'geoname_id' => 1512440,
|
6096 |
'names' =>
|
6097 |
array (
|
@@ -6118,6 +6353,7 @@ return array (
|
|
6118 |
'country' =>
|
6119 |
array (
|
6120 |
'iso_code' => 'VA',
|
|
|
6121 |
'geoname_id' => 3164670,
|
6122 |
'names' =>
|
6123 |
array (
|
@@ -6144,6 +6380,7 @@ return array (
|
|
6144 |
'country' =>
|
6145 |
array (
|
6146 |
'iso_code' => 'VC',
|
|
|
6147 |
'geoname_id' => 3577815,
|
6148 |
'names' =>
|
6149 |
array (
|
@@ -6170,6 +6407,7 @@ return array (
|
|
6170 |
'country' =>
|
6171 |
array (
|
6172 |
'iso_code' => 'VE',
|
|
|
6173 |
'geoname_id' => 3625428,
|
6174 |
'names' =>
|
6175 |
array (
|
@@ -6196,6 +6434,7 @@ return array (
|
|
6196 |
'country' =>
|
6197 |
array (
|
6198 |
'iso_code' => 'VG',
|
|
|
6199 |
'geoname_id' => 3577718,
|
6200 |
'names' =>
|
6201 |
array (
|
@@ -6222,6 +6461,7 @@ return array (
|
|
6222 |
'country' =>
|
6223 |
array (
|
6224 |
'iso_code' => 'VI',
|
|
|
6225 |
'geoname_id' => 4796775,
|
6226 |
'names' =>
|
6227 |
array (
|
@@ -6248,6 +6488,7 @@ return array (
|
|
6248 |
'country' =>
|
6249 |
array (
|
6250 |
'iso_code' => 'VN',
|
|
|
6251 |
'geoname_id' => 1562822,
|
6252 |
'names' =>
|
6253 |
array (
|
@@ -6274,6 +6515,7 @@ return array (
|
|
6274 |
'country' =>
|
6275 |
array (
|
6276 |
'iso_code' => 'VU',
|
|
|
6277 |
'geoname_id' => 2134431,
|
6278 |
'names' =>
|
6279 |
array (
|
@@ -6300,6 +6542,7 @@ return array (
|
|
6300 |
'country' =>
|
6301 |
array (
|
6302 |
'iso_code' => 'WF',
|
|
|
6303 |
'geoname_id' => 4034749,
|
6304 |
'names' =>
|
6305 |
array (
|
@@ -6326,6 +6569,7 @@ return array (
|
|
6326 |
'country' =>
|
6327 |
array (
|
6328 |
'iso_code' => 'WS',
|
|
|
6329 |
'geoname_id' => 4034894,
|
6330 |
'names' =>
|
6331 |
array (
|
@@ -6352,6 +6596,7 @@ return array (
|
|
6352 |
'country' =>
|
6353 |
array (
|
6354 |
'iso_code' => 'XK',
|
|
|
6355 |
'geoname_id' => 831053,
|
6356 |
'names' =>
|
6357 |
array (
|
@@ -6378,6 +6623,7 @@ return array (
|
|
6378 |
'country' =>
|
6379 |
array (
|
6380 |
'iso_code' => 'YE',
|
|
|
6381 |
'geoname_id' => 69543,
|
6382 |
'names' =>
|
6383 |
array (
|
@@ -6404,6 +6650,7 @@ return array (
|
|
6404 |
'country' =>
|
6405 |
array (
|
6406 |
'iso_code' => 'YT',
|
|
|
6407 |
'geoname_id' => 1024031,
|
6408 |
'names' =>
|
6409 |
array (
|
@@ -6430,6 +6677,7 @@ return array (
|
|
6430 |
'country' =>
|
6431 |
array (
|
6432 |
'iso_code' => 'ZA',
|
|
|
6433 |
'geoname_id' => 953987,
|
6434 |
'names' =>
|
6435 |
array (
|
@@ -6447,8 +6695,8 @@ return array (
|
|
6447 |
'continent' => 'AF',
|
6448 |
'location' =>
|
6449 |
array (
|
6450 |
-
'latitude' => -28.
|
6451 |
-
'longitude' => 24.
|
6452 |
),
|
6453 |
),
|
6454 |
'ZM' =>
|
@@ -6456,6 +6704,7 @@ return array (
|
|
6456 |
'country' =>
|
6457 |
array (
|
6458 |
'iso_code' => 'ZM',
|
|
|
6459 |
'geoname_id' => 895949,
|
6460 |
'names' =>
|
6461 |
array (
|
@@ -6482,6 +6731,7 @@ return array (
|
|
6482 |
'country' =>
|
6483 |
array (
|
6484 |
'iso_code' => 'ZW',
|
|
|
6485 |
'geoname_id' => 878675,
|
6486 |
'names' =>
|
6487 |
array (
|
1 |
<?php
|
2 |
+
// Generated at Fri, 12 Jan 2018 20:51:14 +0100
|
3 |
return array (
|
4 |
'countries' =>
|
5 |
array (
|
8 |
'country' =>
|
9 |
array (
|
10 |
'iso_code' => 'AD',
|
11 |
+
'iso_code3' => 'AND',
|
12 |
'geoname_id' => 3041565,
|
13 |
'names' =>
|
14 |
array (
|
35 |
'country' =>
|
36 |
array (
|
37 |
'iso_code' => 'AE',
|
38 |
+
'iso_code3' => 'ARE',
|
39 |
'geoname_id' => 290557,
|
40 |
'names' =>
|
41 |
array (
|
62 |
'country' =>
|
63 |
array (
|
64 |
'iso_code' => 'AF',
|
65 |
+
'iso_code3' => 'AFG',
|
66 |
'geoname_id' => 1149361,
|
67 |
'names' =>
|
68 |
array (
|
89 |
'country' =>
|
90 |
array (
|
91 |
'iso_code' => 'AG',
|
92 |
+
'iso_code3' => 'ATG',
|
93 |
'geoname_id' => 3576396,
|
94 |
'names' =>
|
95 |
array (
|
116 |
'country' =>
|
117 |
array (
|
118 |
'iso_code' => 'AI',
|
119 |
+
'iso_code3' => 'AIA',
|
120 |
'geoname_id' => 3573511,
|
121 |
'names' =>
|
122 |
array (
|
143 |
'country' =>
|
144 |
array (
|
145 |
'iso_code' => 'AL',
|
146 |
+
'iso_code3' => 'ALB',
|
147 |
'geoname_id' => 783754,
|
148 |
'names' =>
|
149 |
array (
|
170 |
'country' =>
|
171 |
array (
|
172 |
'iso_code' => 'AM',
|
173 |
+
'iso_code3' => 'ARM',
|
174 |
'geoname_id' => 174982,
|
175 |
'names' =>
|
176 |
array (
|
188 |
'continent' => 'AS',
|
189 |
'location' =>
|
190 |
array (
|
191 |
+
'latitude' => 40.071902999999999,
|
192 |
+
'longitude' => 45.039342639811366,
|
193 |
),
|
194 |
),
|
195 |
'AO' =>
|
197 |
'country' =>
|
198 |
array (
|
199 |
'iso_code' => 'AO',
|
200 |
+
'iso_code3' => 'AGO',
|
201 |
'geoname_id' => 3351879,
|
202 |
'names' =>
|
203 |
array (
|
224 |
'country' =>
|
225 |
array (
|
226 |
'iso_code' => 'AQ',
|
227 |
+
'iso_code3' => 'ATA',
|
228 |
'geoname_id' => 6697173,
|
229 |
'names' =>
|
230 |
array (
|
251 |
'country' =>
|
252 |
array (
|
253 |
'iso_code' => 'AR',
|
254 |
+
'iso_code3' => 'ARG',
|
255 |
'geoname_id' => 3865483,
|
256 |
'names' =>
|
257 |
array (
|
269 |
'continent' => 'SA',
|
270 |
'location' =>
|
271 |
array (
|
272 |
+
'latitude' => -38.417824813499948,
|
273 |
+
'longitude' => -63.602132684499992,
|
274 |
),
|
275 |
),
|
276 |
'AS' =>
|
278 |
'country' =>
|
279 |
array (
|
280 |
'iso_code' => 'AS',
|
281 |
+
'iso_code3' => 'ASM',
|
282 |
'geoname_id' => 5880801,
|
283 |
'names' =>
|
284 |
array (
|
305 |
'country' =>
|
306 |
array (
|
307 |
'iso_code' => 'AT',
|
308 |
+
'iso_code3' => 'AUT',
|
309 |
'geoname_id' => 2782113,
|
310 |
'names' =>
|
311 |
array (
|
332 |
'country' =>
|
333 |
array (
|
334 |
'iso_code' => 'AU',
|
335 |
+
'iso_code3' => 'AUS',
|
336 |
'geoname_id' => 2077456,
|
337 |
'names' =>
|
338 |
array (
|
359 |
'country' =>
|
360 |
array (
|
361 |
'iso_code' => 'AW',
|
362 |
+
'iso_code3' => 'ABW',
|
363 |
'geoname_id' => 3577279,
|
364 |
'names' =>
|
365 |
array (
|
386 |
'country' =>
|
387 |
array (
|
388 |
'iso_code' => 'AX',
|
389 |
+
'iso_code3' => 'ALA',
|
390 |
'geoname_id' => 661882,
|
391 |
'names' =>
|
392 |
array (
|
413 |
'country' =>
|
414 |
array (
|
415 |
'iso_code' => 'AZ',
|
416 |
+
'iso_code3' => 'AZE',
|
417 |
'geoname_id' => 587116,
|
418 |
'names' =>
|
419 |
array (
|
440 |
'country' =>
|
441 |
array (
|
442 |
'iso_code' => 'BA',
|
443 |
+
'iso_code3' => 'BIH',
|
444 |
'geoname_id' => 3277605,
|
445 |
'names' =>
|
446 |
array (
|
467 |
'country' =>
|
468 |
array (
|
469 |
'iso_code' => 'BB',
|
470 |
+
'iso_code3' => 'BRB',
|
471 |
'geoname_id' => 3374084,
|
472 |
'names' =>
|
473 |
array (
|
494 |
'country' =>
|
495 |
array (
|
496 |
'iso_code' => 'BD',
|
497 |
+
'iso_code3' => 'BGD',
|
498 |
'geoname_id' => 1210997,
|
499 |
'names' =>
|
500 |
array (
|
521 |
'country' =>
|
522 |
array (
|
523 |
'iso_code' => 'BE',
|
524 |
+
'iso_code3' => 'BEL',
|
525 |
'geoname_id' => 2802361,
|
526 |
'names' =>
|
527 |
array (
|
539 |
'continent' => 'EU',
|
540 |
'location' =>
|
541 |
array (
|
542 |
+
'latitude' => 50.501040186390753,
|
543 |
+
'longitude' => 4.4746332119649903,
|
544 |
),
|
545 |
),
|
546 |
'BF' =>
|
548 |
'country' =>
|
549 |
array (
|
550 |
'iso_code' => 'BF',
|
551 |
+
'iso_code3' => 'BFA',
|
552 |
'geoname_id' => 2361809,
|
553 |
'names' =>
|
554 |
array (
|
575 |
'country' =>
|
576 |
array (
|
577 |
'iso_code' => 'BG',
|
578 |
+
'iso_code3' => 'BGR',
|
579 |
'geoname_id' => 732800,
|
580 |
'names' =>
|
581 |
array (
|
602 |
'country' =>
|
603 |
array (
|
604 |
'iso_code' => 'BH',
|
605 |
+
'iso_code3' => 'BHR',
|
606 |
'geoname_id' => 290291,
|
607 |
'names' =>
|
608 |
array (
|
629 |
'country' =>
|
630 |
array (
|
631 |
'iso_code' => 'BI',
|
632 |
+
'iso_code3' => 'BDI',
|
633 |
'geoname_id' => 433561,
|
634 |
'names' =>
|
635 |
array (
|
656 |
'country' =>
|
657 |
array (
|
658 |
'iso_code' => 'BJ',
|
659 |
+
'iso_code3' => 'BEN',
|
660 |
'geoname_id' => 2395170,
|
661 |
'names' =>
|
662 |
array (
|
683 |
'country' =>
|
684 |
array (
|
685 |
'iso_code' => 'BL',
|
686 |
+
'iso_code3' => 'BLM',
|
687 |
'geoname_id' => 3578476,
|
688 |
'names' =>
|
689 |
array (
|
710 |
'country' =>
|
711 |
array (
|
712 |
'iso_code' => 'BM',
|
713 |
+
'iso_code3' => 'BMU',
|
714 |
'geoname_id' => 3573345,
|
715 |
'names' =>
|
716 |
array (
|
737 |
'country' =>
|
738 |
array (
|
739 |
'iso_code' => 'BN',
|
740 |
+
'iso_code3' => 'BRN',
|
741 |
'geoname_id' => 1820814,
|
742 |
'names' =>
|
743 |
array (
|
764 |
'country' =>
|
765 |
array (
|
766 |
'iso_code' => 'BO',
|
767 |
+
'iso_code3' => 'BOL',
|
768 |
'geoname_id' => 3923057,
|
769 |
'names' =>
|
770 |
array (
|
791 |
'country' =>
|
792 |
array (
|
793 |
'iso_code' => 'BQ',
|
794 |
+
'iso_code3' => 'BES',
|
795 |
'geoname_id' => 7626844,
|
796 |
'names' =>
|
797 |
array (
|
818 |
'country' =>
|
819 |
array (
|
820 |
'iso_code' => 'BR',
|
821 |
+
'iso_code3' => 'BRA',
|
822 |
'geoname_id' => 3469034,
|
823 |
'names' =>
|
824 |
array (
|
845 |
'country' =>
|
846 |
array (
|
847 |
'iso_code' => 'BS',
|
848 |
+
'iso_code3' => 'BHS',
|
849 |
'geoname_id' => 3572887,
|
850 |
'names' =>
|
851 |
array (
|
872 |
'country' =>
|
873 |
array (
|
874 |
'iso_code' => 'BT',
|
875 |
+
'iso_code3' => 'BTN',
|
876 |
'geoname_id' => 1252634,
|
877 |
'names' =>
|
878 |
array (
|
890 |
'continent' => 'AS',
|
891 |
'location' =>
|
892 |
array (
|
893 |
+
'latitude' => 27.47416741900005,
|
894 |
+
'longitude' => 90.435397886500056,
|
895 |
),
|
896 |
),
|
897 |
'BV' =>
|
899 |
'country' =>
|
900 |
array (
|
901 |
'iso_code' => 'BV',
|
902 |
+
'iso_code3' => 'BVT',
|
903 |
'geoname_id' => 3371123,
|
904 |
'names' =>
|
905 |
array (
|
926 |
'country' =>
|
927 |
array (
|
928 |
'iso_code' => 'BW',
|
929 |
+
'iso_code3' => 'BWA',
|
930 |
'geoname_id' => 933860,
|
931 |
'names' =>
|
932 |
array (
|
953 |
'country' =>
|
954 |
array (
|
955 |
'iso_code' => 'BY',
|
956 |
+
'iso_code3' => 'BLR',
|
957 |
'geoname_id' => 630336,
|
958 |
'names' =>
|
959 |
array (
|
980 |
'country' =>
|
981 |
array (
|
982 |
'iso_code' => 'BZ',
|
983 |
+
'iso_code3' => 'BLZ',
|
984 |
'geoname_id' => 3582678,
|
985 |
'names' =>
|
986 |
array (
|
1007 |
'country' =>
|
1008 |
array (
|
1009 |
'iso_code' => 'CA',
|
1010 |
+
'iso_code3' => 'CAN',
|
1011 |
'geoname_id' => 6251999,
|
1012 |
'names' =>
|
1013 |
array (
|
1034 |
'country' =>
|
1035 |
array (
|
1036 |
'iso_code' => 'CC',
|
1037 |
+
'iso_code3' => 'CCK',
|
1038 |
'geoname_id' => 1547376,
|
1039 |
'names' =>
|
1040 |
array (
|
1061 |
'country' =>
|
1062 |
array (
|
1063 |
'iso_code' => 'CD',
|
1064 |
+
'iso_code3' => 'COD',
|
1065 |
'geoname_id' => 203312,
|
1066 |
'names' =>
|
1067 |
array (
|
1088 |
'country' =>
|
1089 |
array (
|
1090 |
'iso_code' => 'CF',
|
1091 |
+
'iso_code3' => 'CAF',
|
1092 |
'geoname_id' => 239880,
|
1093 |
'names' =>
|
1094 |
array (
|
1115 |
'country' =>
|
1116 |
array (
|
1117 |
'iso_code' => 'CG',
|
1118 |
+
'iso_code3' => 'COG',
|
1119 |
'geoname_id' => 2260494,
|
1120 |
'names' =>
|
1121 |
array (
|
1142 |
'country' =>
|
1143 |
array (
|
1144 |
'iso_code' => 'CH',
|
1145 |
+
'iso_code3' => 'CHE',
|
1146 |
'geoname_id' => 2658434,
|
1147 |
'names' =>
|
1148 |
array (
|
1169 |
'country' =>
|
1170 |
array (
|
1171 |
'iso_code' => 'CI',
|
1172 |
+
'iso_code3' => 'CIV',
|
1173 |
'geoname_id' => 2287781,
|
1174 |
'names' =>
|
1175 |
array (
|
1196 |
'country' =>
|
1197 |
array (
|
1198 |
'iso_code' => 'CK',
|
1199 |
+
'iso_code3' => 'COK',
|
1200 |
'geoname_id' => 1899402,
|
1201 |
'names' =>
|
1202 |
array (
|
1223 |
'country' =>
|
1224 |
array (
|
1225 |
'iso_code' => 'CL',
|
1226 |
+
'iso_code3' => 'CHL',
|
1227 |
'geoname_id' => 3895114,
|
1228 |
'names' =>
|
1229 |
array (
|
1241 |
'continent' => 'SA',
|
1242 |
'location' =>
|
1243 |
array (
|
1244 |
+
'latitude' => -36.703785677499951,
|
1245 |
+
'longitude' => -73.626590492999952,
|
1246 |
),
|
1247 |
),
|
1248 |
'CM' =>
|
1250 |
'country' =>
|
1251 |
array (
|
1252 |
'iso_code' => 'CM',
|
1253 |
+
'iso_code3' => 'CMR',
|
1254 |
'geoname_id' => 2233387,
|
1255 |
'names' =>
|
1256 |
array (
|
1277 |
'country' =>
|
1278 |
array (
|
1279 |
'iso_code' => 'CN',
|
1280 |
+
'iso_code3' => 'CHN',
|
1281 |
'geoname_id' => 1814991,
|
1282 |
'names' =>
|
1283 |
array (
|
1304 |
'country' =>
|
1305 |
array (
|
1306 |
'iso_code' => 'CO',
|
1307 |
+
'iso_code3' => 'COL',
|
1308 |
'geoname_id' => 3686110,
|
1309 |
'names' =>
|
1310 |
array (
|
1322 |
'continent' => 'SA',
|
1323 |
'location' =>
|
1324 |
array (
|
1325 |
+
'latitude' => 4.5788054935000151,
|
1326 |
+
'longitude' => -74.291495523499947,
|
1327 |
),
|
1328 |
),
|
1329 |
'CR' =>
|
1331 |
'country' =>
|
1332 |
array (
|
1333 |
'iso_code' => 'CR',
|
1334 |
+
'iso_code3' => 'CRI',
|
1335 |
'geoname_id' => 3624060,
|
1336 |
'names' =>
|
1337 |
array (
|
1349 |
'continent' => 'NA',
|
1350 |
'location' =>
|
1351 |
array (
|
1352 |
+
'latitude' => 9.6296931151324792,
|
1353 |
+
'longitude' => -84.251285673292756,
|
1354 |
),
|
1355 |
),
|
1356 |
'CU' =>
|
1358 |
'country' =>
|
1359 |
array (
|
1360 |
'iso_code' => 'CU',
|
1361 |
+
'iso_code3' => 'CUB',
|
1362 |
'geoname_id' => 3562981,
|
1363 |
'names' =>
|
1364 |
array (
|
1385 |
'country' =>
|
1386 |
array (
|
1387 |
'iso_code' => 'CV',
|
1388 |
+
'iso_code3' => 'CPV',
|
1389 |
'geoname_id' => 3374766,
|
1390 |
'names' =>
|
1391 |
array (
|
1412 |
'country' =>
|
1413 |
array (
|
1414 |
'iso_code' => 'CW',
|
1415 |
+
'iso_code3' => 'CUW',
|
1416 |
'geoname_id' => 7626836,
|
1417 |
'names' =>
|
1418 |
array (
|
1439 |
'country' =>
|
1440 |
array (
|
1441 |
'iso_code' => 'CX',
|
1442 |
+
'iso_code3' => 'CXR',
|
1443 |
'geoname_id' => 2078138,
|
1444 |
'names' =>
|
1445 |
array (
|
1454 |
'zh-CN' => '圣诞岛',
|
1455 |
),
|
1456 |
),
|
1457 |
+
'continent' => 'OC',
|
1458 |
'location' =>
|
1459 |
array (
|
1460 |
'latitude' => -10.49141950325,
|
1466 |
'country' =>
|
1467 |
array (
|
1468 |
'iso_code' => 'CY',
|
1469 |
+
'iso_code3' => 'CYP',
|
1470 |
'geoname_id' => 146669,
|
1471 |
'names' =>
|
1472 |
array (
|
1493 |
'country' =>
|
1494 |
array (
|
1495 |
'iso_code' => 'CZ',
|
1496 |
+
'iso_code3' => 'CZE',
|
1497 |
'geoname_id' => 3077311,
|
1498 |
'names' =>
|
1499 |
array (
|
1520 |
'country' =>
|
1521 |
array (
|
1522 |
'iso_code' => 'DE',
|
1523 |
+
'iso_code3' => 'DEU',
|
1524 |
'geoname_id' => 2921044,
|
1525 |
'names' =>
|
1526 |
array (
|
1538 |
'continent' => 'EU',
|
1539 |
'location' =>
|
1540 |
array (
|
1541 |
+
'latitude' => 51.164253602753703,
|
1542 |
+
'longitude' => 10.454065459994251,
|
1543 |
),
|
1544 |
),
|
1545 |
'DJ' =>
|
1547 |
'country' =>
|
1548 |
array (
|
1549 |
'iso_code' => 'DJ',
|
1550 |
+
'iso_code3' => 'DJI',
|
1551 |
'geoname_id' => 223816,
|
1552 |
'names' =>
|
1553 |
array (
|
1574 |
'country' =>
|
1575 |
array (
|
1576 |
'iso_code' => 'DK',
|
1577 |
+
'iso_code3' => 'DNK',
|
1578 |
'geoname_id' => 2623032,
|
1579 |
'names' =>
|
1580 |
array (
|
1601 |
'country' =>
|
1602 |
array (
|
1603 |
'iso_code' => 'DM',
|
1604 |
+
'iso_code3' => 'DMA',
|
1605 |
'geoname_id' => 3575830,
|
1606 |
'names' =>
|
1607 |
array (
|
1628 |
'country' =>
|
1629 |
array (
|
1630 |
'iso_code' => 'DO',
|
1631 |
+
'iso_code3' => 'DOM',
|
1632 |
'geoname_id' => 3508796,
|
1633 |
'names' =>
|
1634 |
array (
|
1646 |
'continent' => 'NA',
|
1647 |
'location' =>
|
1648 |
array (
|
1649 |
+
'latitude' => 18.7358162165838,
|
1650 |
+
'longitude' => -70.167215797562747,
|
1651 |
),
|
1652 |
),
|
1653 |
'DZ' =>
|
1655 |
'country' =>
|
1656 |
array (
|
1657 |
'iso_code' => 'DZ',
|
1658 |
+
'iso_code3' => 'DZA',
|
1659 |
'geoname_id' => 2589581,
|
1660 |
'names' =>
|
1661 |
array (
|
1682 |
'country' =>
|
1683 |
array (
|
1684 |
'iso_code' => 'EC',
|
1685 |
+
'iso_code3' => 'ECU',
|
1686 |
'geoname_id' => 3658394,
|
1687 |
'names' =>
|
1688 |
array (
|
1709 |
'country' =>
|
1710 |
array (
|
1711 |
'iso_code' => 'EE',
|
1712 |
+
'iso_code3' => 'EST',
|
1713 |
'geoname_id' => 453733,
|
1714 |
'names' =>
|
1715 |
array (
|
1736 |
'country' =>
|
1737 |
array (
|
1738 |
'iso_code' => 'EG',
|
1739 |
+
'iso_code3' => 'EGY',
|
1740 |
'geoname_id' => 357994,
|
1741 |
'names' =>
|
1742 |
array (
|
1763 |
'country' =>
|
1764 |
array (
|
1765 |
'iso_code' => 'EH',
|
1766 |
+
'iso_code3' => 'ESH',
|
1767 |
'geoname_id' => 2461445,
|
1768 |
'names' =>
|
1769 |
array (
|
1790 |
'country' =>
|
1791 |
array (
|
1792 |
'iso_code' => 'ER',
|
1793 |
+
'iso_code3' => 'ERI',
|
1794 |
'geoname_id' => 338010,
|
1795 |
'names' =>
|
1796 |
array (
|
1817 |
'country' =>
|
1818 |
array (
|
1819 |
'iso_code' => 'ES',
|
1820 |
+
'iso_code3' => 'ESP',
|
1821 |
'geoname_id' => 2510769,
|
1822 |
'names' =>
|
1823 |
array (
|
1844 |
'country' =>
|
1845 |
array (
|
1846 |
'iso_code' => 'ET',
|
1847 |
+
'iso_code3' => 'ETH',
|
1848 |
'geoname_id' => 337996,
|
1849 |
'names' =>
|
1850 |
array (
|
1871 |
'country' =>
|
1872 |
array (
|
1873 |
'iso_code' => 'FI',
|
1874 |
+
'iso_code3' => 'FIN',
|
1875 |
'geoname_id' => 660013,
|
1876 |
'names' =>
|
1877 |
array (
|
1898 |
'country' =>
|
1899 |
array (
|
1900 |
'iso_code' => 'FJ',
|
1901 |
+
'iso_code3' => 'FJI',
|
1902 |
'geoname_id' => 2205218,
|
1903 |
'names' =>
|
1904 |
array (
|
1925 |
'country' =>
|
1926 |
array (
|
1927 |
'iso_code' => 'FK',
|
1928 |
+
'iso_code3' => 'FLK',
|
1929 |
'geoname_id' => 3474414,
|
1930 |
'names' =>
|
1931 |
array (
|
1943 |
'continent' => 'SA',
|
1944 |
'location' =>
|
1945 |
array (
|
1946 |
+
'latitude' => -51.80856182349995,
|
1947 |
+
'longitude' => -59.532772162999947,
|
1948 |
),
|
1949 |
),
|
1950 |
'FM' =>
|
1952 |
'country' =>
|
1953 |
array (
|
1954 |
'iso_code' => 'FM',
|
1955 |
+
'iso_code3' => 'FSM',
|
1956 |
'geoname_id' => 2081918,
|
1957 |
'names' =>
|
1958 |
array (
|
1979 |
'country' =>
|
1980 |
array (
|
1981 |
'iso_code' => 'FO',
|
1982 |
+
'iso_code3' => 'FRO',
|
1983 |
'geoname_id' => 2622320,
|
1984 |
'names' =>
|
1985 |
array (
|
2006 |
'country' =>
|
2007 |
array (
|
2008 |
'iso_code' => 'FR',
|
2009 |
+
'iso_code3' => 'FRA',
|
2010 |
'geoname_id' => 3017382,
|
2011 |
'names' =>
|
2012 |
array (
|
2033 |
'country' =>
|
2034 |
array (
|
2035 |
'iso_code' => 'GA',
|
2036 |
+
'iso_code3' => 'GAB',
|
2037 |
'geoname_id' => 2400553,
|
2038 |
'names' =>
|
2039 |
array (
|
2060 |
'country' =>
|
2061 |
array (
|
2062 |
'iso_code' => 'GB',
|
2063 |
+
'iso_code3' => 'GBR',
|
2064 |
'geoname_id' => 2635167,
|
2065 |
'names' =>
|
2066 |
array (
|
2078 |
'continent' => 'EU',
|
2079 |
'location' =>
|
2080 |
array (
|
2081 |
+
'latitude' => 54.631818205118002,
|
2082 |
+
'longitude' => -3.4244043338491452,
|
2083 |
),
|
2084 |
),
|
2085 |
'GD' =>
|
2087 |
'country' =>
|
2088 |
array (
|
2089 |
'iso_code' => 'GD',
|
2090 |
+
'iso_code3' => 'GRD',
|
2091 |
'geoname_id' => 3580239,
|
2092 |
'names' =>
|
2093 |
array (
|
2114 |
'country' =>
|
2115 |
array (
|
2116 |
'iso_code' => 'GE',
|
2117 |
+
'iso_code3' => 'GEO',
|
2118 |
'geoname_id' => 614540,
|
2119 |
'names' =>
|
2120 |
array (
|
2141 |
'country' =>
|
2142 |
array (
|
2143 |
'iso_code' => 'GF',
|
2144 |
+
'iso_code3' => 'GUF',
|
2145 |
'geoname_id' => 3381670,
|
2146 |
'names' =>
|
2147 |
array (
|
2168 |
'country' =>
|
2169 |
array (
|
2170 |
'iso_code' => 'GG',
|
2171 |
+
'iso_code3' => 'GGY',
|
2172 |
'geoname_id' => 3042362,
|
2173 |
'names' =>
|
2174 |
array (
|
2195 |
'country' =>
|
2196 |
array (
|
2197 |
'iso_code' => 'GH',
|
2198 |
+
'iso_code3' => 'GHA',
|
2199 |
'geoname_id' => 2300660,
|
2200 |
'names' =>
|
2201 |
array (
|
2222 |
'country' =>
|
2223 |
array (
|
2224 |
'iso_code' => 'GI',
|
2225 |
+
'iso_code3' => 'GIB',
|
2226 |
'geoname_id' => 2411586,
|
2227 |
'names' =>
|
2228 |
array (
|
2249 |
'country' =>
|
2250 |
array (
|
2251 |
'iso_code' => 'GL',
|
2252 |
+
'iso_code3' => 'GRL',
|
2253 |
'geoname_id' => 3425505,
|
2254 |
'names' =>
|
2255 |
array (
|
2276 |
'country' =>
|
2277 |
array (
|
2278 |
'iso_code' => 'GM',
|
2279 |
+
'iso_code3' => 'GMB',
|
2280 |
'geoname_id' => 2413451,
|
2281 |
'names' =>
|
2282 |
array (
|
2303 |
'country' =>
|
2304 |
array (
|
2305 |
'iso_code' => 'GN',
|
2306 |
+
'iso_code3' => 'GIN',
|
2307 |
'geoname_id' => 2420477,
|
2308 |
'names' =>
|
2309 |
array (
|
2330 |
'country' =>
|
2331 |
array (
|
2332 |
'iso_code' => 'GP',
|
2333 |
+
'iso_code3' => 'GLP',
|
2334 |
'geoname_id' => 3579143,
|
2335 |
'names' =>
|
2336 |
array (
|
2357 |
'country' =>
|
2358 |
array (
|
2359 |
'iso_code' => 'GQ',
|
2360 |
+
'iso_code3' => 'GNQ',
|
2361 |
'geoname_id' => 2309096,
|
2362 |
'names' =>
|
2363 |
array (
|
2384 |
'country' =>
|
2385 |
array (
|
2386 |
'iso_code' => 'GR',
|
2387 |
+
'iso_code3' => 'GRC',
|
2388 |
'geoname_id' => 390903,
|
2389 |
'names' =>
|
2390 |
array (
|
2411 |
'country' =>
|
2412 |
array (
|
2413 |
'iso_code' => 'GS',
|
2414 |
+
'iso_code3' => 'SGS',
|
2415 |
'geoname_id' => 3474415,
|
2416 |
'names' =>
|
2417 |
array (
|
2429 |
'continent' => 'AN',
|
2430 |
'location' =>
|
2431 |
array (
|
2432 |
+
'latitude' => -56.722045023,
|
2433 |
+
'longitude' => -32.150010337999952,
|
2434 |
),
|
2435 |
),
|
2436 |
'GT' =>
|
2438 |
'country' =>
|
2439 |
array (
|
2440 |
'iso_code' => 'GT',
|
2441 |
+
'iso_code3' => 'GTM',
|
2442 |
'geoname_id' => 3595528,
|
2443 |
'names' =>
|
2444 |
array (
|
2465 |
'country' =>
|
2466 |
array (
|
2467 |
'iso_code' => 'GU',
|
2468 |
+
'iso_code3' => 'GUM',
|
2469 |
'geoname_id' => 4043988,
|
2470 |
'names' =>
|
2471 |
array (
|
2492 |
'country' =>
|
2493 |
array (
|
2494 |
'iso_code' => 'GW',
|
2495 |
+
'iso_code3' => 'GNB',
|
2496 |
'geoname_id' => 2372248,
|
2497 |
'names' =>
|
2498 |
array (
|
2519 |
'country' =>
|
2520 |
array (
|
2521 |
'iso_code' => 'GY',
|
2522 |
+
'iso_code3' => 'GUY',
|
2523 |
'geoname_id' => 3378535,
|
2524 |
'names' =>
|
2525 |
array (
|
2546 |
'country' =>
|
2547 |
array (
|
2548 |
'iso_code' => 'HK',
|
2549 |
+
'iso_code3' => 'HKG',
|
2550 |
'geoname_id' => 1819730,
|
2551 |
'names' =>
|
2552 |
array (
|
2573 |
'country' =>
|
2574 |
array (
|
2575 |
'iso_code' => 'HM',
|
2576 |
+
'iso_code3' => 'HMD',
|
2577 |
'geoname_id' => 1547314,
|
2578 |
'names' =>
|
2579 |
array (
|
2600 |
'country' =>
|
2601 |
array (
|
2602 |
'iso_code' => 'HN',
|
2603 |
+
'iso_code3' => 'HND',
|
2604 |
'geoname_id' => 3608932,
|
2605 |
'names' =>
|
2606 |
array (
|
2627 |
'country' =>
|
2628 |
array (
|
2629 |
'iso_code' => 'HR',
|
2630 |
+
'iso_code3' => 'HRV',
|
2631 |
'geoname_id' => 3202326,
|
2632 |
'names' =>
|
2633 |
array (
|
2654 |
'country' =>
|
2655 |
array (
|
2656 |
'iso_code' => 'HT',
|
2657 |
+
'iso_code3' => 'HTI',
|
2658 |
'geoname_id' => 3723988,
|
2659 |
'names' =>
|
2660 |
array (
|
2681 |
'country' =>
|
2682 |
array (
|
2683 |
'iso_code' => 'HU',
|
2684 |
+
'iso_code3' => 'HUN',
|
2685 |
'geoname_id' => 719819,
|
2686 |
'names' =>
|
2687 |
array (
|
2708 |
'country' =>
|
2709 |
array (
|
2710 |
'iso_code' => 'ID',
|
2711 |
+
'iso_code3' => 'IDN',
|
2712 |
'geoname_id' => 1643084,
|
2713 |
'names' =>
|
2714 |
array (
|
2735 |
'country' =>
|
2736 |
array (
|
2737 |
'iso_code' => 'IE',
|
2738 |
+
'iso_code3' => 'IRL',
|
2739 |
'geoname_id' => 2963597,
|
2740 |
'names' =>
|
2741 |
array (
|
2753 |
'continent' => 'EU',
|
2754 |
'location' =>
|
2755 |
array (
|
2756 |
+
'latitude' => 53.415246157117849,
|
2757 |
+
'longitude' => -8.2390267417035759,
|
2758 |
),
|
2759 |
),
|
2760 |
'IL' =>
|
2762 |
'country' =>
|
2763 |
array (
|
2764 |
'iso_code' => 'IL',
|
2765 |
+
'iso_code3' => 'ISR',
|
2766 |
'geoname_id' => 294640,
|
2767 |
'names' =>
|
2768 |
array (
|
2789 |
'country' =>
|
2790 |
array (
|
2791 |
'iso_code' => 'IM',
|
2792 |
+
'iso_code3' => 'IMN',
|
2793 |
'geoname_id' => 3042225,
|
2794 |
'names' =>
|
2795 |
array (
|
2816 |
'country' =>
|
2817 |
array (
|
2818 |
'iso_code' => 'IN',
|
2819 |
+
'iso_code3' => 'IND',
|
2820 |
'geoname_id' => 1269750,
|
2821 |
'names' =>
|
2822 |
array (
|
2834 |
'continent' => 'AS',
|
2835 |
'location' =>
|
2836 |
array (
|
2837 |
+
'latitude' => 21.14025058611815,
|
2838 |
+
'longitude' => 82.949655493136149,
|
2839 |
),
|
2840 |
),
|
2841 |
'IO' =>
|
2843 |
'country' =>
|
2844 |
array (
|
2845 |
'iso_code' => 'IO',
|
2846 |
+
'iso_code3' => 'IOT',
|
2847 |
'geoname_id' => 1282588,
|
2848 |
'names' =>
|
2849 |
array (
|
2870 |
'country' =>
|
2871 |
array (
|
2872 |
'iso_code' => 'IQ',
|
2873 |
+
'iso_code3' => 'IRQ',
|
2874 |
'geoname_id' => 99237,
|
2875 |
'names' =>
|
2876 |
array (
|
2897 |
'country' =>
|
2898 |
array (
|
2899 |
'iso_code' => 'IR',
|
2900 |
+
'iso_code3' => 'IRN',
|
2901 |
'geoname_id' => 130758,
|
2902 |
'names' =>
|
2903 |
array (
|
2924 |
'country' =>
|
2925 |
array (
|
2926 |
'iso_code' => 'IS',
|
2927 |
+
'iso_code3' => 'ISL',
|
2928 |
'geoname_id' => 2629691,
|
2929 |
'names' =>
|
2930 |
array (
|
2942 |
'continent' => 'EU',
|
2943 |
'location' =>
|
2944 |
array (
|
2945 |
+
'latitude' => 64.966093044213849,
|
2946 |
+
'longitude' => -19.013648005306301,
|
2947 |
),
|
2948 |
),
|
2949 |
'IT' =>
|
2951 |
'country' =>
|
2952 |
array (
|
2953 |
'iso_code' => 'IT',
|
2954 |
+
'iso_code3' => 'ITA',
|
2955 |
'geoname_id' => 3175395,
|
2956 |
'names' =>
|
2957 |
array (
|
2978 |
'country' =>
|
2979 |
array (
|
2980 |
'iso_code' => 'JE',
|
2981 |
+
'iso_code3' => 'JEY',
|
2982 |
'geoname_id' => 3042142,
|
2983 |
'names' =>
|
2984 |
array (
|
3005 |
'country' =>
|
3006 |
array (
|
3007 |
'iso_code' => 'JM',
|
3008 |
+
'iso_code3' => 'JAM',
|
3009 |
'geoname_id' => 3489940,
|
3010 |
'names' =>
|
3011 |
array (
|
3023 |
'continent' => 'NA',
|
3024 |
'location' =>
|
3025 |
array (
|
3026 |
+
'latitude' => 18.1153814024428,
|
3027 |
+
'longitude' => -77.276052640169155,
|
3028 |
),
|
3029 |
),
|
3030 |
'JO' =>
|
3032 |
'country' =>
|
3033 |
array (
|
3034 |
'iso_code' => 'JO',
|
3035 |
+
'iso_code3' => 'JOR',
|
3036 |
'geoname_id' => 248816,
|
3037 |
'names' =>
|
3038 |
array (
|
3059 |
'country' =>
|
3060 |
array (
|
3061 |
'iso_code' => 'JP',
|
3062 |
+
'iso_code3' => 'JPN',
|
3063 |
'geoname_id' => 1861060,
|
3064 |
'names' =>
|
3065 |
array (
|
3077 |
'continent' => 'AS',
|
3078 |
'location' =>
|
3079 |
array (
|
3080 |
+
'latitude' => 34.8890634005,
|
3081 |
+
'longitude' => 134.37555597300002,
|
3082 |
),
|
3083 |
),
|
3084 |
'KE' =>
|
3086 |
'country' =>
|
3087 |
array (
|
3088 |
'iso_code' => 'KE',
|
3089 |
+
'iso_code3' => 'KEN',
|
3090 |
'geoname_id' => 192950,
|
3091 |
'names' =>
|
3092 |
array (
|
3113 |
'country' =>
|
3114 |
array (
|
3115 |
'iso_code' => 'KG',
|
3116 |
+
'iso_code3' => 'KGZ',
|
3117 |
'geoname_id' => 1527747,
|
3118 |
'names' =>
|
3119 |
array (
|
3140 |
'country' =>
|
3141 |
array (
|
3142 |
'iso_code' => 'KH',
|
3143 |
+
'iso_code3' => 'KHM',
|
3144 |
'geoname_id' => 1831722,
|
3145 |
'names' =>
|
3146 |
array (
|
3167 |
'country' =>
|
3168 |
array (
|
3169 |
'iso_code' => 'KI',
|
3170 |
+
'iso_code3' => 'KIR',
|
3171 |
'geoname_id' => 4030945,
|
3172 |
'names' =>
|
3173 |
array (
|
3194 |
'country' =>
|
3195 |
array (
|
3196 |
'iso_code' => 'KM',
|
3197 |
+
'iso_code3' => 'COM',
|
3198 |
'geoname_id' => 921929,
|
3199 |
'names' =>
|
3200 |
array (
|
3221 |
'country' =>
|
3222 |
array (
|
3223 |
'iso_code' => 'KN',
|
3224 |
+
'iso_code3' => 'KNA',
|
3225 |
'geoname_id' => 3575174,
|
3226 |
'names' =>
|
3227 |
array (
|
3248 |
'country' =>
|
3249 |
array (
|
3250 |
'iso_code' => 'KP',
|
3251 |
+
'iso_code3' => 'PRK',
|
3252 |
'geoname_id' => 1873107,
|
3253 |
'names' =>
|
3254 |
array (
|
3275 |
'country' =>
|
3276 |
array (
|
3277 |
'iso_code' => 'KR',
|
3278 |
+
'iso_code3' => 'KOR',
|
3279 |
'geoname_id' => 1835841,
|
3280 |
'names' =>
|
3281 |
array (
|
3302 |
'country' =>
|
3303 |
array (
|
3304 |
'iso_code' => 'KW',
|
3305 |
+
'iso_code3' => 'KWT',
|
3306 |
'geoname_id' => 285570,
|
3307 |
'names' =>
|
3308 |
array (
|
3329 |
'country' =>
|
3330 |
array (
|
3331 |
'iso_code' => 'KY',
|
3332 |
+
'iso_code3' => 'CYM',
|
3333 |
'geoname_id' => 3580718,
|
3334 |
'names' =>
|
3335 |
array (
|
3356 |
'country' =>
|
3357 |
array (
|
3358 |
'iso_code' => 'KZ',
|
3359 |
+
'iso_code3' => 'KAZ',
|
3360 |
'geoname_id' => 1522867,
|
3361 |
'names' =>
|
3362 |
array (
|
3383 |
'country' =>
|
3384 |
array (
|
3385 |
'iso_code' => 'LA',
|
3386 |
+
'iso_code3' => 'LAO',
|
3387 |
'geoname_id' => 1655842,
|
3388 |
'names' =>
|
3389 |
array (
|
3410 |
'country' =>
|
3411 |
array (
|
3412 |
'iso_code' => 'LB',
|
3413 |
+
'iso_code3' => 'LBN',
|
3414 |
'geoname_id' => 272103,
|
3415 |
'names' =>
|
3416 |
array (
|
3437 |
'country' =>
|
3438 |
array (
|
3439 |
'iso_code' => 'LC',
|
3440 |
+
'iso_code3' => 'LCA',
|
3441 |
'geoname_id' => 3576468,
|
3442 |
'names' =>
|
3443 |
array (
|
3464 |
'country' =>
|
3465 |
array (
|
3466 |
'iso_code' => 'LI',
|
3467 |
+
'iso_code3' => 'LIE',
|
3468 |
'geoname_id' => 3042058,
|
3469 |
'names' =>
|
3470 |
array (
|
3491 |
'country' =>
|
3492 |
array (
|
3493 |
'iso_code' => 'LK',
|
3494 |
+
'iso_code3' => 'LKA',
|
3495 |
'geoname_id' => 1227603,
|
3496 |
'names' =>
|
3497 |
array (
|
3518 |
'country' =>
|
3519 |
array (
|
3520 |
'iso_code' => 'LR',
|
3521 |
+
'iso_code3' => 'LBR',
|
3522 |
'geoname_id' => 2275384,
|
3523 |
'names' =>
|
3524 |
array (
|
3545 |
'country' =>
|
3546 |
array (
|
3547 |
'iso_code' => 'LS',
|
3548 |
+
'iso_code3' => 'LSO',
|
3549 |
'geoname_id' => 932692,
|
3550 |
'names' =>
|
3551 |
array (
|
3563 |
'continent' => 'AF',
|
3564 |
'location' =>
|
3565 |
array (
|
3566 |
+
'latitude' => -29.623187501499949,
|
3567 |
+
'longitude' => 28.233469970000051,
|
3568 |
),
|
3569 |
),
|
3570 |
'LT' =>
|
3572 |
'country' =>
|
3573 |
array (
|
3574 |
'iso_code' => 'LT',
|
3575 |
+
'iso_code3' => 'LTU',
|
3576 |
'geoname_id' => 597427,
|
3577 |
'names' =>
|
3578 |
array (
|
3599 |
'country' =>
|
3600 |
array (
|
3601 |
'iso_code' => 'LU',
|
3602 |
+
'iso_code3' => 'LUX',
|
3603 |
'geoname_id' => 2960313,
|
3604 |
'names' =>
|
3605 |
array (
|
3626 |
'country' =>
|
3627 |
array (
|
3628 |
'iso_code' => 'LV',
|
3629 |
+
'iso_code3' => 'LVA',
|
3630 |
'geoname_id' => 458258,
|
3631 |
'names' =>
|
3632 |
array (
|
3653 |
'country' =>
|
3654 |
array (
|
3655 |
'iso_code' => 'LY',
|
3656 |
+
'iso_code3' => 'LBY',
|
3657 |
'geoname_id' => 2215636,
|
3658 |
'names' =>
|
3659 |
array (
|
3680 |
'country' =>
|
3681 |
array (
|
3682 |
'iso_code' => 'MA',
|
3683 |
+
'iso_code3' => 'MAR',
|
3684 |
'geoname_id' => 2542007,
|
3685 |
'names' =>
|
3686 |
array (
|
3707 |
'country' =>
|
3708 |
array (
|
3709 |
'iso_code' => 'MC',
|
3710 |
+
'iso_code3' => 'MCO',
|
3711 |
'geoname_id' => 2993457,
|
3712 |
'names' =>
|
3713 |
array (
|
3734 |
'country' =>
|
3735 |
array (
|
3736 |
'iso_code' => 'MD',
|
3737 |
+
'iso_code3' => 'MDA',
|
3738 |
'geoname_id' => 617790,
|
3739 |
'names' =>
|
3740 |
array (
|
3761 |
'country' =>
|
3762 |
array (
|
3763 |
'iso_code' => 'ME',
|
3764 |
+
'iso_code3' => 'MNE',
|
3765 |
'geoname_id' => 3194884,
|
3766 |
'names' =>
|
3767 |
array (
|
3788 |
'country' =>
|
3789 |
array (
|
3790 |
'iso_code' => 'MF',
|
3791 |
+
'iso_code3' => 'MAF',
|
3792 |
'geoname_id' => 3578421,
|
3793 |
'names' =>
|
3794 |
array (
|
3815 |
'country' =>
|
3816 |
array (
|
3817 |
'iso_code' => 'MG',
|
3818 |
+
'iso_code3' => 'MDG',
|
3819 |
'geoname_id' => 1062947,
|
3820 |
'names' =>
|
3821 |
array (
|
3842 |
'country' =>
|
3843 |
array (
|
3844 |
'iso_code' => 'MH',
|
3845 |
+
'iso_code3' => 'MHL',
|
3846 |
'geoname_id' => 2080185,
|
3847 |
'names' =>
|
3848 |
array (
|
3869 |
'country' =>
|
3870 |
array (
|
3871 |
'iso_code' => 'MK',
|
3872 |
+
'iso_code3' => 'MKD',
|
3873 |
'geoname_id' => 718075,
|
3874 |
'names' =>
|
3875 |
array (
|
3896 |
'country' =>
|
3897 |
array (
|
3898 |
'iso_code' => 'ML',
|
3899 |
+
'iso_code3' => 'MLI',
|
3900 |
'geoname_id' => 2453866,
|
3901 |
'names' =>
|
3902 |
array (
|
3923 |
'country' =>
|
3924 |
array (
|
3925 |
'iso_code' => 'MM',
|
3926 |
+
'iso_code3' => 'MMR',
|
3927 |
'geoname_id' => 1327865,
|
3928 |
'names' =>
|
3929 |
array (
|
3950 |
'country' =>
|
3951 |
array (
|
3952 |
'iso_code' => 'MN',
|
3953 |
+
'iso_code3' => 'MNG',
|
3954 |
'geoname_id' => 2029969,
|
3955 |
'names' =>
|
3956 |
array (
|
3977 |
'country' =>
|
3978 |
array (
|
3979 |
'iso_code' => 'MO',
|
3980 |
+
'iso_code3' => 'MAC',
|
3981 |
'geoname_id' => 1821275,
|
3982 |
'names' =>
|
3983 |
array (
|
4004 |
'country' =>
|
4005 |
array (
|
4006 |
'iso_code' => 'MP',
|
4007 |
+
'iso_code3' => 'MNP',
|
4008 |
'geoname_id' => 4041468,
|
4009 |
'names' =>
|
4010 |
array (
|
4031 |
'country' =>
|
4032 |
array (
|
4033 |
'iso_code' => 'MQ',
|
4034 |
+
'iso_code3' => 'MTQ',
|
4035 |
'geoname_id' => 3570311,
|
4036 |
'names' =>
|
4037 |
array (
|
4058 |
'country' =>
|
4059 |
array (
|
4060 |
'iso_code' => 'MR',
|
4061 |
+
'iso_code3' => 'MRT',
|
4062 |
'geoname_id' => 2378080,
|
4063 |
'names' =>
|
4064 |
array (
|
4085 |
'country' =>
|
4086 |
array (
|
4087 |
'iso_code' => 'MS',
|
4088 |
+
'iso_code3' => 'MSR',
|
4089 |
'geoname_id' => 3578097,
|
4090 |
'names' =>
|
4091 |
array (
|
4112 |
'country' =>
|
4113 |
array (
|
4114 |
'iso_code' => 'MT',
|
4115 |
+
'iso_code3' => 'MLT',
|
4116 |
'geoname_id' => 2562770,
|
4117 |
'names' =>
|
4118 |
array (
|
4139 |
'country' =>
|
4140 |
array (
|
4141 |
'iso_code' => 'MU',
|
4142 |
+
'iso_code3' => 'MUS',
|
4143 |
'geoname_id' => 934292,
|
4144 |
'names' =>
|
4145 |
array (
|
4166 |
'country' =>
|
4167 |
array (
|
4168 |
'iso_code' => 'MV',
|
4169 |
+
'iso_code3' => 'MDV',
|
4170 |
'geoname_id' => 1282028,
|
4171 |
'names' =>
|
4172 |
array (
|
4193 |
'country' =>
|
4194 |
array (
|
4195 |
'iso_code' => 'MW',
|
4196 |
+
'iso_code3' => 'MWI',
|
4197 |
'geoname_id' => 927384,
|
4198 |
'names' =>
|
4199 |
array (
|
4220 |
'country' =>
|
4221 |
array (
|
4222 |
'iso_code' => 'MX',
|
4223 |
+
'iso_code3' => 'MEX',
|
4224 |
'geoname_id' => 3996063,
|
4225 |
'names' =>
|
4226 |
array (
|
4247 |
'country' =>
|
4248 |
array (
|
4249 |
'iso_code' => 'MY',
|
4250 |
+
'iso_code3' => 'MYS',
|
4251 |
'geoname_id' => 1733045,
|
4252 |
'names' =>
|
4253 |
array (
|
4274 |
'country' =>
|
4275 |
array (
|
4276 |
'iso_code' => 'MZ',
|
4277 |
+
'iso_code3' => 'MOZ',
|
4278 |
'geoname_id' => 1036973,
|
4279 |
'names' =>
|
4280 |
array (
|
4301 |
'country' =>
|
4302 |
array (
|
4303 |
'iso_code' => 'NA',
|
4304 |
+
'iso_code3' => 'NAM',
|
4305 |
'geoname_id' => 3355338,
|
4306 |
'names' =>
|
4307 |
array (
|
4328 |
'country' =>
|
4329 |
array (
|
4330 |
'iso_code' => 'NC',
|
4331 |
+
'iso_code3' => 'NCL',
|
4332 |
'geoname_id' => 2139685,
|
4333 |
'names' =>
|
4334 |
array (
|
4355 |
'country' =>
|
4356 |
array (
|
4357 |
'iso_code' => 'NE',
|
4358 |
+
'iso_code3' => 'NER',
|
4359 |
'geoname_id' => 2440476,
|
4360 |
'names' =>
|
4361 |
array (
|
4382 |
'country' =>
|
4383 |
array (
|
4384 |
'iso_code' => 'NF',
|
4385 |
+
'iso_code3' => 'NFK',
|
4386 |
'geoname_id' => 2155115,
|
4387 |
'names' =>
|
4388 |
array (
|
4409 |
'country' =>
|
4410 |
array (
|
4411 |
'iso_code' => 'NG',
|
4412 |
+
'iso_code3' => 'NGA',
|
4413 |
'geoname_id' => 2328926,
|
4414 |
'names' =>
|
4415 |
array (
|
4436 |
'country' =>
|
4437 |
array (
|
4438 |
'iso_code' => 'NI',
|
4439 |
+
'iso_code3' => 'NIC',
|
4440 |
'geoname_id' => 3617476,
|
4441 |
'names' =>
|
4442 |
array (
|
4463 |
'country' =>
|
4464 |
array (
|
4465 |
'iso_code' => 'NL',
|
4466 |
+
'iso_code3' => 'NLD',
|
4467 |
'geoname_id' => 2750405,
|
4468 |
'names' =>
|
4469 |
array (
|
4481 |
'continent' => 'EU',
|
4482 |
'location' =>
|
4483 |
array (
|
4484 |
+
'latitude' => 52.1330400319425,
|
4485 |
+
'longitude' => 5.2929384320746102,
|
4486 |
),
|
4487 |
),
|
4488 |
'NO' =>
|
4490 |
'country' =>
|
4491 |
array (
|
4492 |
'iso_code' => 'NO',
|
4493 |
+
'iso_code3' => 'NOR',
|
4494 |
'geoname_id' => 3144096,
|
4495 |
'names' =>
|
4496 |
array (
|
4508 |
'continent' => 'EU',
|
4509 |
'location' =>
|
4510 |
array (
|
4511 |
+
'latitude' => 64.582677167394678,
|
4512 |
+
'longitude' => 17.852782042042108,
|
4513 |
),
|
4514 |
),
|
4515 |
'NP' =>
|
4517 |
'country' =>
|
4518 |
array (
|
4519 |
'iso_code' => 'NP',
|
4520 |
+
'iso_code3' => 'NPL',
|
4521 |
'geoname_id' => 1282988,
|
4522 |
'names' =>
|
4523 |
array (
|
4544 |
'country' =>
|
4545 |
array (
|
4546 |
'iso_code' => 'NR',
|
4547 |
+
'iso_code3' => 'NRU',
|
4548 |
'geoname_id' => 2110425,
|
4549 |
'names' =>
|
4550 |
array (
|
4571 |
'country' =>
|
4572 |
array (
|
4573 |
'iso_code' => 'NU',
|
4574 |
+
'iso_code3' => 'NIU',
|
4575 |
'geoname_id' => 4036232,
|
4576 |
'names' =>
|
4577 |
array (
|
4598 |
'country' =>
|
4599 |
array (
|
4600 |
'iso_code' => 'NZ',
|
4601 |
+
'iso_code3' => 'NZL',
|
4602 |
'geoname_id' => 2186224,
|
4603 |
'names' =>
|
4604 |
array (
|
4625 |
'country' =>
|
4626 |
array (
|
4627 |
'iso_code' => 'OM',
|
4628 |
+
'iso_code3' => 'OMN',
|
4629 |
'geoname_id' => 286963,
|
4630 |
'names' =>
|
4631 |
array (
|
4652 |
'country' =>
|
4653 |
array (
|
4654 |
'iso_code' => 'PA',
|
4655 |
+
'iso_code3' => 'PAN',
|
4656 |
'geoname_id' => 3703430,
|
4657 |
'names' =>
|
4658 |
array (
|
4670 |
'continent' => 'NA',
|
4671 |
'location' =>
|
4672 |
array (
|
4673 |
+
'latitude' => 8.4248912279636592,
|
4674 |
+
'longitude' => -80.104381307849252,
|
4675 |
),
|
4676 |
),
|
4677 |
'PE' =>
|
4679 |
'country' =>
|
4680 |
array (
|
4681 |
'iso_code' => 'PE',
|
4682 |
+
'iso_code3' => 'PER',
|
4683 |
'geoname_id' => 3932488,
|
4684 |
'names' =>
|
4685 |
array (
|
4706 |
'country' =>
|
4707 |
array (
|
4708 |
'iso_code' => 'PF',
|
4709 |
+
'iso_code3' => 'PYF',
|
4710 |
'geoname_id' => 4030656,
|
4711 |
'names' =>
|
4712 |
array (
|
4733 |
'country' =>
|
4734 |
array (
|
4735 |
'iso_code' => 'PG',
|
4736 |
+
'iso_code3' => 'PNG',
|
4737 |
'geoname_id' => 2088628,
|
4738 |
'names' =>
|
4739 |
array (
|
4760 |
'country' =>
|
4761 |
array (
|
4762 |
'iso_code' => 'PH',
|
4763 |
+
'iso_code3' => 'PHL',
|
4764 |
'geoname_id' => 1694008,
|
4765 |
'names' =>
|
4766 |
array (
|
4779 |
'location' =>
|
4780 |
array (
|
4781 |
'latitude' => 12.88199172124097,
|
4782 |
+
'longitude' => 121.76691925886163,
|
4783 |
),
|
4784 |
),
|
4785 |
'PK' =>
|
4787 |
'country' =>
|
4788 |
array (
|
4789 |
'iso_code' => 'PK',
|
4790 |
+
'iso_code3' => 'PAK',
|
4791 |
'geoname_id' => 1168579,
|
4792 |
'names' =>
|
4793 |
array (
|
4814 |
'country' =>
|
4815 |
array (
|
4816 |
'iso_code' => 'PL',
|
4817 |
+
'iso_code3' => 'POL',
|
4818 |
'geoname_id' => 798544,
|
4819 |
'names' =>
|
4820 |
array (
|
4832 |
'continent' => 'EU',
|
4833 |
'location' =>
|
4834 |
array (
|
4835 |
+
'latitude' => 51.918917589430599,
|
4836 |
+
'longitude' => 19.134333936256098,
|
4837 |
),
|
4838 |
),
|
4839 |
'PM' =>
|
4841 |
'country' =>
|
4842 |
array (
|
4843 |
'iso_code' => 'PM',
|
4844 |
+
'iso_code3' => 'SPM',
|
4845 |
'geoname_id' => 3424932,
|
4846 |
'names' =>
|
4847 |
array (
|
4868 |
'country' =>
|
4869 |
array (
|
4870 |
'iso_code' => 'PN',
|
4871 |
+
'iso_code3' => 'PCN',
|
4872 |
'geoname_id' => 4030699,
|
4873 |
'names' =>
|
4874 |
array (
|
4886 |
'continent' => 'OC',
|
4887 |
'location' =>
|
4888 |
array (
|
4889 |
+
'latitude' => -24.501251809927449,
|
4890 |
+
'longitude' => -126.56492005559713,
|
4891 |
),
|
4892 |
),
|
4893 |
'PR' =>
|
4895 |
'country' =>
|
4896 |
array (
|
4897 |
'iso_code' => 'PR',
|
4898 |
+
'iso_code3' => 'PRI',
|
4899 |
'geoname_id' => 4566966,
|
4900 |
'names' =>
|
4901 |
array (
|
4914 |
'location' =>
|
4915 |
array (
|
4916 |
'latitude' => 18.223285499999999,
|
4917 |
+
'longitude' => -66.592903838338145,
|
4918 |
),
|
4919 |
),
|
4920 |
'PS' =>
|
4922 |
'country' =>
|
4923 |
array (
|
4924 |
'iso_code' => 'PS',
|
4925 |
+
'iso_code3' => 'PSE',
|
4926 |
'geoname_id' => 6254930,
|
4927 |
'names' =>
|
4928 |
array (
|
4949 |
'country' =>
|
4950 |
array (
|
4951 |
'iso_code' => 'PT',
|
4952 |
+
'iso_code3' => 'PRT',
|
4953 |
'geoname_id' => 2264397,
|
4954 |
'names' =>
|
4955 |
array (
|
4976 |
'country' =>
|
4977 |
array (
|
4978 |
'iso_code' => 'PW',
|
4979 |
+
'iso_code3' => 'PLW',
|
4980 |
'geoname_id' => 1559582,
|
4981 |
'names' =>
|
4982 |
array (
|
5003 |
'country' =>
|
5004 |
array (
|
5005 |
'iso_code' => 'PY',
|
5006 |
+
'iso_code3' => 'PRY',
|
5007 |
'geoname_id' => 3437598,
|
5008 |
'names' =>
|
5009 |
array (
|
5030 |
'country' =>
|
5031 |
array (
|
5032 |
'iso_code' => 'QA',
|
5033 |
+
'iso_code3' => 'QAT',
|
5034 |
'geoname_id' => 289688,
|
5035 |
'names' =>
|
5036 |
array (
|
5057 |
'country' =>
|
5058 |
array (
|
5059 |
'iso_code' => 'RE',
|
5060 |
+
'iso_code3' => 'REU',
|
5061 |
'geoname_id' => 935317,
|
5062 |
'names' =>
|
5063 |
array (
|
5084 |
'country' =>
|
5085 |
array (
|
5086 |
'iso_code' => 'RO',
|
5087 |
+
'iso_code3' => 'ROU',
|
5088 |
'geoname_id' => 798549,
|
5089 |
'names' =>
|
5090 |
array (
|
5102 |
'continent' => 'EU',
|
5103 |
'location' =>
|
5104 |
array (
|
5105 |
+
'latitude' => 45.942203927915045,
|
5106 |
+
'longitude' => 24.98864679799815,
|
5107 |
),
|
5108 |
),
|
5109 |
'RS' =>
|
5111 |
'country' =>
|
5112 |
array (
|
5113 |
'iso_code' => 'RS',
|
5114 |
+
'iso_code3' => 'SRB',
|
5115 |
'geoname_id' => 6290252,
|
5116 |
'names' =>
|
5117 |
array (
|
5138 |
'country' =>
|
5139 |
array (
|
5140 |
'iso_code' => 'RU',
|
5141 |
+
'iso_code3' => 'RUS',
|
5142 |
'geoname_id' => 2017370,
|
5143 |
'names' =>
|
5144 |
array (
|
5165 |
'country' =>
|
5166 |
array (
|
5167 |
'iso_code' => 'RW',
|
5168 |
+
'iso_code3' => 'RWA',
|
5169 |
'geoname_id' => 49518,
|
5170 |
'names' =>
|
5171 |
array (
|
5183 |
'continent' => 'AF',
|
5184 |
'location' =>
|
5185 |
array (
|
5186 |
+
'latitude' => -1.9436984046076602,
|
5187 |
+
'longitude' => 29.880738731107598,
|
5188 |
),
|
5189 |
),
|
5190 |
'SA' =>
|
5192 |
'country' =>
|
5193 |
array (
|
5194 |
'iso_code' => 'SA',
|
5195 |
+
'iso_code3' => 'SAU',
|
5196 |
'geoname_id' => 102358,
|
5197 |
'names' =>
|
5198 |
array (
|
5210 |
'continent' => 'AS',
|
5211 |
'location' =>
|
5212 |
array (
|
5213 |
+
'latitude' => 24.268916513062798,
|
5214 |
+
'longitude' => 45.08113850000003,
|
5215 |
),
|
5216 |
),
|
5217 |
'SB' =>
|
5219 |
'country' =>
|
5220 |
array (
|
5221 |
'iso_code' => 'SB',
|
5222 |
+
'iso_code3' => 'SLB',
|
5223 |
'geoname_id' => 2103350,
|
5224 |
'names' =>
|
5225 |
array (
|
5246 |
'country' =>
|
5247 |
array (
|
5248 |
'iso_code' => 'SC',
|
5249 |
+
'iso_code3' => 'SYC',
|
5250 |
'geoname_id' => 241170,
|
5251 |
'names' =>
|
5252 |
array (
|
5273 |
'country' =>
|
5274 |
array (
|
5275 |
'iso_code' => 'SD',
|
5276 |
+
'iso_code3' => 'SDN',
|
5277 |
'geoname_id' => 366755,
|
5278 |
'names' =>
|
5279 |
array (
|
5300 |
'country' =>
|
5301 |
array (
|
5302 |
'iso_code' => 'SE',
|
5303 |
+
'iso_code3' => 'SWE',
|
5304 |
'geoname_id' => 2661886,
|
5305 |
'names' =>
|
5306 |
array (
|
5318 |
'continent' => 'EU',
|
5319 |
'location' =>
|
5320 |
array (
|
5321 |
+
'latitude' => 62.198705544344051,
|
5322 |
+
'longitude' => 17.6323723126125,
|
5323 |
),
|
5324 |
),
|
5325 |
'SG' =>
|
5327 |
'country' =>
|
5328 |
array (
|
5329 |
'iso_code' => 'SG',
|
5330 |
+
'iso_code3' => 'SGP',
|
5331 |
'geoname_id' => 1880251,
|
5332 |
'names' =>
|
5333 |
array (
|
5354 |
'country' =>
|
5355 |
array (
|
5356 |
'iso_code' => 'SH',
|
5357 |
+
'iso_code3' => 'SHN',
|
5358 |
'geoname_id' => 3370751,
|
5359 |
'names' =>
|
5360 |
array (
|
5381 |
'country' =>
|
5382 |
array (
|
5383 |
'iso_code' => 'SI',
|
5384 |
+
'iso_code3' => 'SVN',
|
5385 |
'geoname_id' => 3190538,
|
5386 |
'names' =>
|
5387 |
array (
|
5408 |
'country' =>
|
5409 |
array (
|
5410 |
'iso_code' => 'SJ',
|
5411 |
+
'iso_code3' => 'SJM',
|
5412 |
'geoname_id' => 607072,
|
5413 |
'names' =>
|
5414 |
array (
|
5435 |
'country' =>
|
5436 |
array (
|
5437 |
'iso_code' => 'SK',
|
5438 |
+
'iso_code3' => 'SVK',
|
5439 |
'geoname_id' => 3057568,
|
5440 |
'names' =>
|
5441 |
array (
|
5462 |
'country' =>
|
5463 |
array (
|
5464 |
'iso_code' => 'SL',
|
5465 |
+
'iso_code3' => 'SLE',
|
5466 |
'geoname_id' => 2403846,
|
5467 |
'names' =>
|
5468 |
array (
|
5489 |
'country' =>
|
5490 |
array (
|
5491 |
'iso_code' => 'SM',
|
5492 |
+
'iso_code3' => 'SMR',
|
5493 |
'geoname_id' => 3168068,
|
5494 |
'names' =>
|
5495 |
array (
|
5516 |
'country' =>
|
5517 |
array (
|
5518 |
'iso_code' => 'SN',
|
5519 |
+
'iso_code3' => 'SEN',
|
5520 |
'geoname_id' => 2245662,
|
5521 |
'names' =>
|
5522 |
array (
|
5543 |
'country' =>
|
5544 |
array (
|
5545 |
'iso_code' => 'SO',
|
5546 |
+
'iso_code3' => 'SOM',
|
5547 |
'geoname_id' => 51537,
|
5548 |
'names' =>
|
5549 |
array (
|
5570 |
'country' =>
|
5571 |
array (
|
5572 |
'iso_code' => 'SR',
|
5573 |
+
'iso_code3' => 'SUR',
|
5574 |
'geoname_id' => 3382998,
|
5575 |
'names' =>
|
5576 |
array (
|
5597 |
'country' =>
|
5598 |
array (
|
5599 |
'iso_code' => 'SS',
|
5600 |
+
'iso_code3' => 'SSD',
|
5601 |
'geoname_id' => 7909807,
|
5602 |
'names' =>
|
5603 |
array (
|
5624 |
'country' =>
|
5625 |
array (
|
5626 |
'iso_code' => 'ST',
|
5627 |
+
'iso_code3' => 'STP',
|
5628 |
'geoname_id' => 2410758,
|
5629 |
'names' =>
|
5630 |
array (
|
5651 |
'country' =>
|
5652 |
array (
|
5653 |
'iso_code' => 'SV',
|
5654 |
+
'iso_code3' => 'SLV',
|
5655 |
'geoname_id' => 3585968,
|
5656 |
'names' =>
|
5657 |
array (
|
5678 |
'country' =>
|
5679 |
array (
|
5680 |
'iso_code' => 'SX',
|
5681 |
+
'iso_code3' => 'SXM',
|
5682 |
'geoname_id' => 7609695,
|
5683 |
'names' =>
|
5684 |
array (
|
5705 |
'country' =>
|
5706 |
array (
|
5707 |
'iso_code' => 'SY',
|
5708 |
+
'iso_code3' => 'SYR',
|
5709 |
'geoname_id' => 163843,
|
5710 |
'names' =>
|
5711 |
array (
|
5732 |
'country' =>
|
5733 |
array (
|
5734 |
'iso_code' => 'SZ',
|
5735 |
+
'iso_code3' => 'SWZ',
|
5736 |
'geoname_id' => 934841,
|
5737 |
'names' =>
|
5738 |
array (
|
5759 |
'country' =>
|
5760 |
array (
|
5761 |
'iso_code' => 'TC',
|
5762 |
+
'iso_code3' => 'TCA',
|
5763 |
'geoname_id' => 3576916,
|
5764 |
'names' =>
|
5765 |
array (
|
5786 |
'country' =>
|
5787 |
array (
|
5788 |
'iso_code' => 'TD',
|
5789 |
+
'iso_code3' => 'TCD',
|
5790 |
'geoname_id' => 2434508,
|
5791 |
'names' =>
|
5792 |
array (
|
5813 |
'country' =>
|
5814 |
array (
|
5815 |
'iso_code' => 'TF',
|
5816 |
+
'iso_code3' => 'ATF',
|
5817 |
'geoname_id' => 1546748,
|
5818 |
'names' =>
|
5819 |
array (
|
5840 |
'country' =>
|
5841 |
array (
|
5842 |
'iso_code' => 'TG',
|
5843 |
+
'iso_code3' => 'TGO',
|
5844 |
'geoname_id' => 2363686,
|
5845 |
'names' =>
|
5846 |
array (
|
5867 |
'country' =>
|
5868 |
array (
|
5869 |
'iso_code' => 'TH',
|
5870 |
+
'iso_code3' => 'THA',
|
5871 |
'geoname_id' => 1605651,
|
5872 |
'names' =>
|
5873 |
array (
|
5894 |
'country' =>
|
5895 |
array (
|
5896 |
'iso_code' => 'TJ',
|
5897 |
+
'iso_code3' => 'TJK',
|
5898 |
'geoname_id' => 1220409,
|
5899 |
'names' =>
|
5900 |
array (
|
5921 |
'country' =>
|
5922 |
array (
|
5923 |
'iso_code' => 'TK',
|
5924 |
+
'iso_code3' => 'TKL',
|
5925 |
'geoname_id' => 4031074,
|
5926 |
'names' =>
|
5927 |
array (
|
5948 |
'country' =>
|
5949 |
array (
|
5950 |
'iso_code' => 'TL',
|
5951 |
+
'iso_code3' => 'TLS',
|
5952 |
'geoname_id' => 1966436,
|
5953 |
'names' =>
|
5954 |
array (
|
5975 |
'country' =>
|
5976 |
array (
|
5977 |
'iso_code' => 'TM',
|
5978 |
+
'iso_code3' => 'TKM',
|
5979 |
'geoname_id' => 1218197,
|
5980 |
'names' =>
|
5981 |
array (
|
6002 |
'country' =>
|
6003 |
array (
|
6004 |
'iso_code' => 'TN',
|
6005 |
+
'iso_code3' => 'TUN',
|
6006 |
'geoname_id' => 2464461,
|
6007 |
'names' =>
|
6008 |
array (
|
6029 |
'country' =>
|
6030 |
array (
|
6031 |
'iso_code' => 'TO',
|
6032 |
+
'iso_code3' => 'TON',
|
6033 |
'geoname_id' => 4032283,
|
6034 |
'names' =>
|
6035 |
array (
|
6056 |
'country' =>
|
6057 |
array (
|
6058 |
'iso_code' => 'TR',
|
6059 |
+
'iso_code3' => 'TUR',
|
6060 |
'geoname_id' => 298795,
|
6061 |
'names' =>
|
6062 |
array (
|
6083 |
'country' =>
|
6084 |
array (
|
6085 |
'iso_code' => 'TT',
|
6086 |
+
'iso_code3' => 'TTO',
|
6087 |
'geoname_id' => 3573591,
|
6088 |
'names' =>
|
6089 |
array (
|
6110 |
'country' =>
|
6111 |
array (
|
6112 |
'iso_code' => 'TV',
|
6113 |
+
'iso_code3' => 'TUV',
|
6114 |
'geoname_id' => 2110297,
|
6115 |
'names' =>
|
6116 |
array (
|
6137 |
'country' =>
|
6138 |
array (
|
6139 |
'iso_code' => 'TW',
|
6140 |
+
'iso_code3' => 'TWN',
|
6141 |
'geoname_id' => 1668284,
|
6142 |
'names' =>
|
6143 |
array (
|
6164 |
'country' =>
|
6165 |
array (
|
6166 |
'iso_code' => 'TZ',
|
6167 |
+
'iso_code3' => 'TZA',
|
6168 |
'geoname_id' => 149590,
|
6169 |
'names' =>
|
6170 |
array (
|
6191 |
'country' =>
|
6192 |
array (
|
6193 |
'iso_code' => 'UA',
|
6194 |
+
'iso_code3' => 'UKR',
|
6195 |
'geoname_id' => 690791,
|
6196 |
'names' =>
|
6197 |
array (
|
6218 |
'country' =>
|
6219 |
array (
|
6220 |
'iso_code' => 'UG',
|
6221 |
+
'iso_code3' => 'UGA',
|
6222 |
'geoname_id' => 226074,
|
6223 |
'names' =>
|
6224 |
array (
|
6236 |
'continent' => 'AF',
|
6237 |
'location' =>
|
6238 |
array (
|
6239 |
+
'latitude' => 1.3749193692074451,
|
6240 |
+
'longitude' => 32.287259435275899,
|
6241 |
),
|
6242 |
),
|
6243 |
'UM' =>
|
6245 |
'country' =>
|
6246 |
array (
|
6247 |
'iso_code' => 'UM',
|
6248 |
+
'iso_code3' => 'UMI',
|
6249 |
'geoname_id' => 5854968,
|
6250 |
'names' =>
|
6251 |
array (
|
6272 |
'country' =>
|
6273 |
array (
|
6274 |
'iso_code' => 'US',
|
6275 |
+
'iso_code3' => 'USA',
|
6276 |
'geoname_id' => 6252001,
|
6277 |
'names' =>
|
6278 |
array (
|
6299 |
'country' =>
|
6300 |
array (
|
6301 |
'iso_code' => 'UY',
|
6302 |
+
'iso_code3' => 'URY',
|
6303 |
'geoname_id' => 3439705,
|
6304 |
'names' =>
|
6305 |
array (
|
6326 |
'country' =>
|
6327 |
array (
|
6328 |
'iso_code' => 'UZ',
|
6329 |
+
'iso_code3' => 'UZB',
|
6330 |
'geoname_id' => 1512440,
|
6331 |
'names' =>
|
6332 |
array (
|
6353 |
'country' =>
|
6354 |
array (
|
6355 |
'iso_code' => 'VA',
|
6356 |
+
'iso_code3' => 'VAT',
|
6357 |
'geoname_id' => 3164670,
|
6358 |
'names' =>
|
6359 |
array (
|
6380 |
'country' =>
|
6381 |
array (
|
6382 |
'iso_code' => 'VC',
|
6383 |
+
'iso_code3' => 'VCT',
|
6384 |
'geoname_id' => 3577815,
|
6385 |
'names' =>
|
6386 |
array (
|
6407 |
'country' =>
|
6408 |
array (
|
6409 |
'iso_code' => 'VE',
|
6410 |
+
'iso_code3' => 'VEN',
|
6411 |
'geoname_id' => 3625428,
|
6412 |
'names' =>
|
6413 |
array (
|
6434 |
'country' =>
|
6435 |
array (
|
6436 |
'iso_code' => 'VG',
|
6437 |
+
'iso_code3' => 'VGB',
|
6438 |
'geoname_id' => 3577718,
|
6439 |
'names' =>
|
6440 |
array (
|
6461 |
'country' =>
|
6462 |
array (
|
6463 |
'iso_code' => 'VI',
|
6464 |
+
'iso_code3' => 'VIR',
|
6465 |
'geoname_id' => 4796775,
|
6466 |
'names' =>
|
6467 |
array (
|
6488 |
'country' =>
|
6489 |
array (
|
6490 |
'iso_code' => 'VN',
|
6491 |
+
'iso_code3' => 'VNM',
|
6492 |
'geoname_id' => 1562822,
|
6493 |
'names' =>
|
6494 |
array (
|
6515 |
'country' =>
|
6516 |
array (
|
6517 |
'iso_code' => 'VU',
|
6518 |
+
'iso_code3' => 'VUT',
|
6519 |
'geoname_id' => 2134431,
|
6520 |
'names' =>
|
6521 |
array (
|
6542 |
'country' =>
|
6543 |
array (
|
6544 |
'iso_code' => 'WF',
|
6545 |
+
'iso_code3' => 'WLF',
|
6546 |
'geoname_id' => 4034749,
|
6547 |
'names' =>
|
6548 |
array (
|
6569 |
'country' =>
|
6570 |
array (
|
6571 |
'iso_code' => 'WS',
|
6572 |
+
'iso_code3' => 'WSM',
|
6573 |
'geoname_id' => 4034894,
|
6574 |
'names' =>
|
6575 |
array (
|
6596 |
'country' =>
|
6597 |
array (
|
6598 |
'iso_code' => 'XK',
|
6599 |
+
'iso_code3' => 'XKX',
|
6600 |
'geoname_id' => 831053,
|
6601 |
'names' =>
|
6602 |
array (
|
6623 |
'country' =>
|
6624 |
array (
|
6625 |
'iso_code' => 'YE',
|
6626 |
+
'iso_code3' => 'YEM',
|
6627 |
'geoname_id' => 69543,
|
6628 |
'names' =>
|
6629 |
array (
|
6650 |
'country' =>
|
6651 |
array (
|
6652 |
'iso_code' => 'YT',
|
6653 |
+
'iso_code3' => 'MYT',
|
6654 |
'geoname_id' => 1024031,
|
6655 |
'names' =>
|
6656 |
array (
|
6677 |
'country' =>
|
6678 |
array (
|
6679 |
'iso_code' => 'ZA',
|
6680 |
+
'iso_code3' => 'ZAF',
|
6681 |
'geoname_id' => 953987,
|
6682 |
'names' =>
|
6683 |
array (
|
6695 |
'continent' => 'AF',
|
6696 |
'location' =>
|
6697 |
array (
|
6698 |
+
'latitude' => -28.479600030499899,
|
6699 |
+
'longitude' => 24.6984374725,
|
6700 |
),
|
6701 |
),
|
6702 |
'ZM' =>
|
6704 |
'country' =>
|
6705 |
array (
|
6706 |
'iso_code' => 'ZM',
|
6707 |
+
'iso_code3' => 'ZMB',
|
6708 |
'geoname_id' => 895949,
|
6709 |
'names' =>
|
6710 |
array (
|
6731 |
'country' =>
|
6732 |
array (
|
6733 |
'iso_code' => 'ZW',
|
6734 |
+
'iso_code3' => 'ZWE',
|
6735 |
'geoname_id' => 878675,
|
6736 |
'names' =>
|
6737 |
array (
|
lib/geonames/data/country-names.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
// Generated at
|
3 |
return array (
|
4 |
'en' =>
|
5 |
array (
|
1 |
<?php
|
2 |
+
// Generated at Fri, 12 Jan 2018 20:51:14 +0100
|
3 |
return array (
|
4 |
'en' =>
|
5 |
array (
|
lib/geonames/geonames-country-info.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: benjaminpick
|
3 |
Tags: geoip, maxmind, geolocation, locator
|
4 |
Requires at least: 3.5
|
5 |
-
Tested up to: 4.
|
6 |
Requires PHP: 5.4
|
7 |
Stable tag: trunk
|
8 |
License: GPLv3 or later
|
@@ -97,6 +97,10 @@ Does `geoip_detect2_get_info_from_current_ip()` return the same country, regardl
|
|
97 |
|
98 |
== Upgrade Notice ==
|
99 |
|
|
|
|
|
|
|
|
|
100 |
= 2.8.0 =
|
101 |
|
102 |
Warning: This bugfix version of the plugin requires PHP 5.4.
|
@@ -172,6 +176,16 @@ Fixing automatic weekly updates.
|
|
172 |
|
173 |
== Changelog ==
|
174 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
175 |
= 2.8.0 =
|
176 |
|
177 |
* FIX: Localhost now always is a trusted proxy (for standard reverse proxy configurations, however the checkbox "uses a reverse proxy" still needs to be activated.)
|
2 |
Contributors: benjaminpick
|
3 |
Tags: geoip, maxmind, geolocation, locator
|
4 |
Requires at least: 3.5
|
5 |
+
Tested up to: 4.9
|
6 |
Requires PHP: 5.4
|
7 |
Stable tag: trunk
|
8 |
License: GPLv3 or later
|
97 |
|
98 |
== Upgrade Notice ==
|
99 |
|
100 |
+
= 2.8.2 =
|
101 |
+
|
102 |
+
This plugin version is compatible with PHP 7.2 and adapted the automatic update code.
|
103 |
+
|
104 |
= 2.8.0 =
|
105 |
|
106 |
Warning: This bugfix version of the plugin requires PHP 5.4.
|
176 |
|
177 |
== Changelog ==
|
178 |
|
179 |
+
= 2.8.2 =
|
180 |
+
* Maxmind vendor code was updated to the current version (2.7.0).
|
181 |
+
* FIX: There was a fatal error when using PHP 7.2 (thx jj-dev)
|
182 |
+
* FIX: The automatic update of Maxmind Geoip2 Lite City database was fixed.
|
183 |
+
* FIX: Always try to fill in more information into the country information from the GeoNames-DB.
|
184 |
+
|
185 |
+
= 2.8.1 =
|
186 |
+
|
187 |
+
(Was not released on wordpress.org)
|
188 |
+
|
189 |
= 2.8.0 =
|
190 |
|
191 |
* FIX: Localhost now always is a trusted proxy (for standard reverse proxy configurations, however the checkbox "uses a reverse proxy" still needs to be activated.)
|
shortcode.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
upgrade-plugin.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Copyright 2013-
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
@@ -48,6 +48,15 @@ function geoip_detect_do_upgrade($old_version) {
|
|
48 |
update_option('geoip-detect-source', 'hostinfo');
|
49 |
}
|
50 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
}
|
52 |
|
53 |
/**
|
1 |
<?php
|
2 |
/*
|
3 |
+
Copyright 2013-2018 Yellow Tree, Siegen, Germany
|
4 |
Author: Benjamin Pick (info@yellowtree.de)
|
5 |
|
6 |
This program is free software; you can redistribute it and/or modify
|
48 |
update_option('geoip-detect-source', 'hostinfo');
|
49 |
}
|
50 |
}
|
51 |
+
|
52 |
+
// Fix auto update hook (re-schedule if necessary)
|
53 |
+
if (version_compare('2.8.2', $old_version, '>')) {
|
54 |
+
$source = new \YellowTree\GeoipDetect\DataSources\Auto\AutoDataSource;
|
55 |
+
$source->deactivate();
|
56 |
+
if (get_option('geoip-detect-source') == 'auto') {
|
57 |
+
$source->activate();
|
58 |
+
}
|
59 |
+
}
|
60 |
}
|
61 |
|
62 |
/**
|
vendor/composer/ca-bundle/README.md
CHANGED
@@ -41,7 +41,7 @@ Basic usage
|
|
41 |
```php
|
42 |
$curl = curl_init("https://example.org/");
|
43 |
|
44 |
-
$caPathOrFile = \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath()
|
45 |
if (is_dir($caPathOrFile) || (is_link($caPathOrFile) && is_dir(readlink($caPathOrFile)))) {
|
46 |
curl_setopt($curl, CURLOPT_CAPATH, $caPathOrFile);
|
47 |
} else {
|
@@ -60,7 +60,7 @@ $opts = array(
|
|
60 |
)
|
61 |
);
|
62 |
|
63 |
-
$caPathOrFile = \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath()
|
64 |
if (is_dir($caPathOrFile) || (is_link($caPathOrFile) && is_dir(readlink($caPathOrFile)))) {
|
65 |
$opts['ssl']['capath'] = $caPathOrFile;
|
66 |
} else {
|
@@ -71,6 +71,14 @@ $context = stream_context_create($opts);
|
|
71 |
$result = file_get_contents('https://example.com', false, $context);
|
72 |
```
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
License
|
75 |
-------
|
76 |
|
41 |
```php
|
42 |
$curl = curl_init("https://example.org/");
|
43 |
|
44 |
+
$caPathOrFile = \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath();
|
45 |
if (is_dir($caPathOrFile) || (is_link($caPathOrFile) && is_dir(readlink($caPathOrFile)))) {
|
46 |
curl_setopt($curl, CURLOPT_CAPATH, $caPathOrFile);
|
47 |
} else {
|
60 |
)
|
61 |
);
|
62 |
|
63 |
+
$caPathOrFile = \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath();
|
64 |
if (is_dir($caPathOrFile) || (is_link($caPathOrFile) && is_dir(readlink($caPathOrFile)))) {
|
65 |
$opts['ssl']['capath'] = $caPathOrFile;
|
66 |
} else {
|
71 |
$result = file_get_contents('https://example.com', false, $context);
|
72 |
```
|
73 |
|
74 |
+
## To use with Guzzle
|
75 |
+
|
76 |
+
```php
|
77 |
+
$client = new \GuzzleHttp\Client([
|
78 |
+
\GuzzleHttp\RequestOptions::VERIFY => \Composer\CaBundle\CaBundle::getSystemCaRootBundlePath()
|
79 |
+
]);
|
80 |
+
```
|
81 |
+
|
82 |
License
|
83 |
-------
|
84 |
|
vendor/composer/ca-bundle/composer.json
CHANGED
@@ -27,12 +27,9 @@
|
|
27 |
"php": "^5.3.2 || ^7.0"
|
28 |
},
|
29 |
"require-dev": {
|
30 |
-
"phpunit/phpunit": "^4.
|
31 |
"psr/log": "^1.0",
|
32 |
-
"symfony/process": "^2.5 || ^3.0"
|
33 |
-
},
|
34 |
-
"suggest": {
|
35 |
-
"symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+"
|
36 |
},
|
37 |
"autoload": {
|
38 |
"psr-4": {
|
27 |
"php": "^5.3.2 || ^7.0"
|
28 |
},
|
29 |
"require-dev": {
|
30 |
+
"phpunit/phpunit": "^4.8.35",
|
31 |
"psr/log": "^1.0",
|
32 |
+
"symfony/process": "^2.5 || ^3.0 || ^4.0"
|
|
|
|
|
|
|
33 |
},
|
34 |
"autoload": {
|
35 |
"psr-4": {
|
vendor/composer/ca-bundle/res/cacert.pem
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
-
## Certificate data from Mozilla as of: Wed
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
@@ -14,7 +14,7 @@
|
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
## Conversion done with mk-ca-bundle.pl version 1.27.
|
17 |
-
## SHA256:
|
18 |
##
|
19 |
|
20 |
|
@@ -130,30 +130,6 @@ Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
|
|
130 |
RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
131 |
-----END CERTIFICATE-----
|
132 |
|
133 |
-
AddTrust Low-Value Services Root
|
134 |
-
================================
|
135 |
-
-----BEGIN CERTIFICATE-----
|
136 |
-
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
137 |
-
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
|
138 |
-
cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
|
139 |
-
CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
|
140 |
-
ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
|
141 |
-
AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
|
142 |
-
54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
|
143 |
-
oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
|
144 |
-
Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
|
145 |
-
GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
|
146 |
-
HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
|
147 |
-
AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
|
148 |
-
RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
|
149 |
-
HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
|
150 |
-
ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
|
151 |
-
iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
|
152 |
-
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
|
153 |
-
mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
|
154 |
-
ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
|
155 |
-
-----END CERTIFICATE-----
|
156 |
-
|
157 |
AddTrust External Root
|
158 |
======================
|
159 |
-----BEGIN CERTIFICATE-----
|
@@ -178,54 +154,6 @@ e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
|
|
178 |
G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
179 |
-----END CERTIFICATE-----
|
180 |
|
181 |
-
AddTrust Public Services Root
|
182 |
-
=============================
|
183 |
-
-----BEGIN CERTIFICATE-----
|
184 |
-
MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
185 |
-
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
|
186 |
-
cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
|
187 |
-
BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
|
188 |
-
dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
|
189 |
-
AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
|
190 |
-
nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
|
191 |
-
d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
|
192 |
-
Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
|
193 |
-
HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
|
194 |
-
A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
195 |
-
/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
|
196 |
-
FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
|
197 |
-
A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
|
198 |
-
JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
|
199 |
-
+YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
|
200 |
-
GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
|
201 |
-
Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
|
202 |
-
EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
|
203 |
-
-----END CERTIFICATE-----
|
204 |
-
|
205 |
-
AddTrust Qualified Certificates Root
|
206 |
-
====================================
|
207 |
-
-----BEGIN CERTIFICATE-----
|
208 |
-
MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
209 |
-
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
|
210 |
-
cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
|
211 |
-
CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
|
212 |
-
IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
|
213 |
-
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
|
214 |
-
64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
|
215 |
-
KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
|
216 |
-
L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
|
217 |
-
wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
|
218 |
-
MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
|
219 |
-
BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
|
220 |
-
BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
|
221 |
-
azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
|
222 |
-
ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
|
223 |
-
GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
|
224 |
-
dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
|
225 |
-
RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
|
226 |
-
iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
|
227 |
-
-----END CERTIFICATE-----
|
228 |
-
|
229 |
Entrust Root Certification Authority
|
230 |
====================================
|
231 |
-----BEGIN CERTIFICATE-----
|
@@ -273,27 +201,6 @@ XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
|
|
273 |
Mw==
|
274 |
-----END CERTIFICATE-----
|
275 |
|
276 |
-
GeoTrust Global CA 2
|
277 |
-
====================
|
278 |
-
-----BEGIN CERTIFICATE-----
|
279 |
-
MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
280 |
-
R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
|
281 |
-
MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
282 |
-
LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
283 |
-
ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
|
284 |
-
NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
|
285 |
-
LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
|
286 |
-
Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
|
287 |
-
HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
|
288 |
-
MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
|
289 |
-
K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
|
290 |
-
srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
|
291 |
-
ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
|
292 |
-
OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
|
293 |
-
x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
|
294 |
-
H4z1Ir+rzoPz4iIprn2DQKi6bA==
|
295 |
-
-----END CERTIFICATE-----
|
296 |
-
|
297 |
GeoTrust Universal CA
|
298 |
=====================
|
299 |
-----BEGIN CERTIFICATE-----
|
@@ -419,56 +326,6 @@ Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
|
|
419 |
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
420 |
-----END CERTIFICATE-----
|
421 |
|
422 |
-
Comodo Secure Services root
|
423 |
-
===========================
|
424 |
-
-----BEGIN CERTIFICATE-----
|
425 |
-
MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
426 |
-
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
427 |
-
TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
|
428 |
-
MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
|
429 |
-
Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
|
430 |
-
BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
431 |
-
ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
|
432 |
-
9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
|
433 |
-
rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
|
434 |
-
oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
|
435 |
-
p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
|
436 |
-
FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
|
437 |
-
gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
|
438 |
-
YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
|
439 |
-
aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
|
440 |
-
4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
|
441 |
-
Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
|
442 |
-
DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
|
443 |
-
pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
|
444 |
-
RR3B7Hzs/Sk=
|
445 |
-
-----END CERTIFICATE-----
|
446 |
-
|
447 |
-
Comodo Trusted Services root
|
448 |
-
============================
|
449 |
-
-----BEGIN CERTIFICATE-----
|
450 |
-
MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
451 |
-
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
452 |
-
TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
|
453 |
-
MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
|
454 |
-
bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
|
455 |
-
IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
456 |
-
AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
|
457 |
-
3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
|
458 |
-
/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
|
459 |
-
juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
|
460 |
-
ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
|
461 |
-
DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
462 |
-
/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
|
463 |
-
ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
|
464 |
-
cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
|
465 |
-
uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
|
466 |
-
pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
|
467 |
-
BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
|
468 |
-
R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
|
469 |
-
9y5Xt5hwXsjEeLBi
|
470 |
-
-----END CERTIFICATE-----
|
471 |
-
|
472 |
QuoVadis Root CA
|
473 |
================
|
474 |
-----BEGIN CERTIFICATE-----
|
@@ -608,32 +465,6 @@ EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
|
|
608 |
llpwrN9M
|
609 |
-----END CERTIFICATE-----
|
610 |
|
611 |
-
UTN USERFirst Hardware Root CA
|
612 |
-
==============================
|
613 |
-
-----BEGIN CERTIFICATE-----
|
614 |
-
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
|
615 |
-
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
616 |
-
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
|
617 |
-
BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
|
618 |
-
OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
|
619 |
-
eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
|
620 |
-
ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
|
621 |
-
DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
|
622 |
-
wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
|
623 |
-
tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
|
624 |
-
i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
|
625 |
-
Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
|
626 |
-
gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
|
627 |
-
lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
|
628 |
-
UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
|
629 |
-
BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
|
630 |
-
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
|
631 |
-
XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
|
632 |
-
lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
|
633 |
-
iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
|
634 |
-
nfhmqA==
|
635 |
-
-----END CERTIFICATE-----
|
636 |
-
|
637 |
Camerfirma Chambers of Commerce Root
|
638 |
====================================
|
639 |
-----BEGIN CERTIFICATE-----
|
@@ -831,38 +662,6 @@ CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
|
|
831 |
+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
|
832 |
-----END CERTIFICATE-----
|
833 |
|
834 |
-
Swisscom Root CA 1
|
835 |
-
==================
|
836 |
-
-----BEGIN CERTIFICATE-----
|
837 |
-
MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
|
838 |
-
EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
|
839 |
-
dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
|
840 |
-
MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
|
841 |
-
aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
|
842 |
-
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
|
843 |
-
MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
|
844 |
-
NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
|
845 |
-
AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
|
846 |
-
b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
|
847 |
-
7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
|
848 |
-
cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
|
849 |
-
WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
|
850 |
-
haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
|
851 |
-
MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
|
852 |
-
HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
|
853 |
-
BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
|
854 |
-
MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
|
855 |
-
jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
|
856 |
-
MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
|
857 |
-
VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
|
858 |
-
vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
|
859 |
-
OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
|
860 |
-
1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
|
861 |
-
nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
|
862 |
-
x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
|
863 |
-
NY6E0F/6MBr1mmz0DlP5OlvRHA==
|
864 |
-
-----END CERTIFICATE-----
|
865 |
-
|
866 |
DigiCert Assured ID Root CA
|
867 |
===========================
|
868 |
-----BEGIN CERTIFICATE-----
|
@@ -1426,27 +1225,6 @@ vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
|
|
1426 |
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
1427 |
-----END CERTIFICATE-----
|
1428 |
|
1429 |
-
CNNIC ROOT
|
1430 |
-
==========
|
1431 |
-
-----BEGIN CERTIFICATE-----
|
1432 |
-
MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
|
1433 |
-
ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
|
1434 |
-
OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
|
1435 |
-
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
|
1436 |
-
o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
|
1437 |
-
VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
|
1438 |
-
VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
|
1439 |
-
czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
|
1440 |
-
y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
|
1441 |
-
wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
|
1442 |
-
lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
|
1443 |
-
Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
|
1444 |
-
O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
|
1445 |
-
BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
|
1446 |
-
G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
|
1447 |
-
mxE=
|
1448 |
-
-----END CERTIFICATE-----
|
1449 |
-
|
1450 |
GeoTrust Primary Certification Authority - G3
|
1451 |
=============================================
|
1452 |
-----BEGIN CERTIFICATE-----
|
@@ -2541,93 +2319,6 @@ poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
|
|
2541 |
eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
|
2542 |
-----END CERTIFICATE-----
|
2543 |
|
2544 |
-
China Internet Network Information Center EV Certificates Root
|
2545 |
-
==============================================================
|
2546 |
-
-----BEGIN CERTIFICATE-----
|
2547 |
-
MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
|
2548 |
-
BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
|
2549 |
-
aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg
|
2550 |
-
Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG
|
2551 |
-
A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM
|
2552 |
-
PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl
|
2553 |
-
cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y
|
2554 |
-
jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV
|
2555 |
-
98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H
|
2556 |
-
klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23
|
2557 |
-
KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC
|
2558 |
-
7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV
|
2559 |
-
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD
|
2560 |
-
glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
|
2561 |
-
0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM
|
2562 |
-
7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
|
2563 |
-
ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
|
2564 |
-
5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
|
2565 |
-
-----END CERTIFICATE-----
|
2566 |
-
|
2567 |
-
Swisscom Root CA 2
|
2568 |
-
==================
|
2569 |
-
-----BEGIN CERTIFICATE-----
|
2570 |
-
MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG
|
2571 |
-
EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
|
2572 |
-
dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2
|
2573 |
-
MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
|
2574 |
-
aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC
|
2575 |
-
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM
|
2576 |
-
LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo
|
2577 |
-
ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ
|
2578 |
-
wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH
|
2579 |
-
Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a
|
2580 |
-
SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS
|
2581 |
-
NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab
|
2582 |
-
mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY
|
2583 |
-
Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3
|
2584 |
-
qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
|
2585 |
-
HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O
|
2586 |
-
BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu
|
2587 |
-
MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO
|
2588 |
-
v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ
|
2589 |
-
82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz
|
2590 |
-
o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs
|
2591 |
-
a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx
|
2592 |
-
OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW
|
2593 |
-
mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o
|
2594 |
-
+sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC
|
2595 |
-
rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX
|
2596 |
-
5OfNeOI5wSsSnqaeG8XmDtkx2Q==
|
2597 |
-
-----END CERTIFICATE-----
|
2598 |
-
|
2599 |
-
Swisscom Root EV CA 2
|
2600 |
-
=====================
|
2601 |
-
-----BEGIN CERTIFICATE-----
|
2602 |
-
MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE
|
2603 |
-
BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl
|
2604 |
-
cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN
|
2605 |
-
MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT
|
2606 |
-
HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg
|
2607 |
-
Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz
|
2608 |
-
o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy
|
2609 |
-
Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti
|
2610 |
-
GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li
|
2611 |
-
qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH
|
2612 |
-
Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG
|
2613 |
-
alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa
|
2614 |
-
m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox
|
2615 |
-
bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi
|
2616 |
-
xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/
|
2617 |
-
BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED
|
2618 |
-
MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB
|
2619 |
-
bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL
|
2620 |
-
j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU
|
2621 |
-
wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7
|
2622 |
-
XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH
|
2623 |
-
59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/
|
2624 |
-
23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq
|
2625 |
-
J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA
|
2626 |
-
HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi
|
2627 |
-
uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW
|
2628 |
-
l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
|
2629 |
-
-----END CERTIFICATE-----
|
2630 |
-
|
2631 |
CA Disig Root R1
|
2632 |
================
|
2633 |
-----BEGIN CERTIFICATE-----
|
1 |
##
|
2 |
## Bundle of CA Root Certificates
|
3 |
##
|
4 |
+
## Certificate data from Mozilla as of: Wed Sep 20 03:12:05 2017 GMT
|
5 |
##
|
6 |
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
## (CA). These were automatically extracted from Mozilla's root certificates
|
14 |
## Just configure this file as the SSLCACertificateFile.
|
15 |
##
|
16 |
## Conversion done with mk-ca-bundle.pl version 1.27.
|
17 |
+
## SHA256: 2b2dbe5244e0047e088c597998883a913f6c5fffd1cb5c0fe5a368c8466cb2ec
|
18 |
##
|
19 |
|
20 |
|
130 |
RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
131 |
-----END CERTIFICATE-----
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
AddTrust External Root
|
134 |
======================
|
135 |
-----BEGIN CERTIFICATE-----
|
154 |
G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
155 |
-----END CERTIFICATE-----
|
156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
Entrust Root Certification Authority
|
158 |
====================================
|
159 |
-----BEGIN CERTIFICATE-----
|
201 |
Mw==
|
202 |
-----END CERTIFICATE-----
|
203 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
GeoTrust Universal CA
|
205 |
=====================
|
206 |
-----BEGIN CERTIFICATE-----
|
326 |
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
327 |
-----END CERTIFICATE-----
|
328 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
QuoVadis Root CA
|
330 |
================
|
331 |
-----BEGIN CERTIFICATE-----
|
465 |
llpwrN9M
|
466 |
-----END CERTIFICATE-----
|
467 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
Camerfirma Chambers of Commerce Root
|
469 |
====================================
|
470 |
-----BEGIN CERTIFICATE-----
|
662 |
+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
|
663 |
-----END CERTIFICATE-----
|
664 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
665 |
DigiCert Assured ID Root CA
|
666 |
===========================
|
667 |
-----BEGIN CERTIFICATE-----
|
1225 |
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
1226 |
-----END CERTIFICATE-----
|
1227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1228 |
GeoTrust Primary Certification Authority - G3
|
1229 |
=============================================
|
1230 |
-----BEGIN CERTIFICATE-----
|
2319 |
eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
|
2320 |
-----END CERTIFICATE-----
|
2321 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2322 |
CA Disig Root R1
|
2323 |
================
|
2324 |
-----BEGIN CERTIFICATE-----
|
vendor/composer/ca-bundle/src/CaBundle.php
CHANGED
@@ -130,7 +130,24 @@ class CaBundle
|
|
130 |
*/
|
131 |
public static function getBundledCaBundlePath()
|
132 |
{
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
}
|
135 |
|
136 |
/**
|
130 |
*/
|
131 |
public static function getBundledCaBundlePath()
|
132 |
{
|
133 |
+
$caBundleFile = __DIR__.'/../res/cacert.pem';
|
134 |
+
|
135 |
+
// cURL does not understand 'phar://' paths
|
136 |
+
// see https://github.com/composer/ca-bundle/issues/10
|
137 |
+
if (0 === strpos($caBundleFile, 'phar://')) {
|
138 |
+
file_put_contents(
|
139 |
+
$tempCaBundleFile = tempnam(sys_get_temp_dir(), 'openssl-ca-bundle-'),
|
140 |
+
file_get_contents($caBundleFile)
|
141 |
+
);
|
142 |
+
|
143 |
+
register_shutdown_function(function() use ($tempCaBundleFile) {
|
144 |
+
@unlink($tempCaBundleFile);
|
145 |
+
});
|
146 |
+
|
147 |
+
$caBundleFile = $tempCaBundleFile;
|
148 |
+
}
|
149 |
+
|
150 |
+
return $caBundleFile;
|
151 |
}
|
152 |
|
153 |
/**
|
vendor/composer/installed.json
CHANGED
@@ -1,38 +1,37 @@
|
|
1 |
[
|
2 |
{
|
3 |
-
"name": "maxmind-
|
4 |
-
"version": "
|
5 |
-
"version_normalized": "
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
-
"url": "https://github.com/maxmind/
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/maxmind/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
18 |
-
"
|
|
|
|
|
|
|
19 |
},
|
20 |
"require-dev": {
|
21 |
-
"
|
22 |
-
"
|
23 |
-
"squizlabs/php_codesniffer": "
|
24 |
-
},
|
25 |
-
"suggest": {
|
26 |
-
"ext-bcmath": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
27 |
-
"ext-gmp": "bcmath or gmp is requred for decoding larger integers with the pure PHP decoder",
|
28 |
-
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
29 |
},
|
30 |
-
"time": "2017-
|
31 |
"type": "library",
|
32 |
"installation-source": "dist",
|
33 |
"autoload": {
|
34 |
"psr-4": {
|
35 |
-
"MaxMind\\
|
|
|
36 |
}
|
37 |
},
|
38 |
"notification-url": "https://packagist.org/downloads/",
|
@@ -41,54 +40,48 @@
|
|
41 |
],
|
42 |
"authors": [
|
43 |
{
|
44 |
-
"name": "Gregory
|
45 |
-
"email": "goschwald@maxmind.com"
|
46 |
-
"homepage": "http://www.maxmind.com/"
|
47 |
}
|
48 |
],
|
49 |
-
"description": "MaxMind
|
50 |
-
"homepage": "https://github.com/maxmind/
|
51 |
-
"keywords": [
|
52 |
-
"database",
|
53 |
-
"geoip",
|
54 |
-
"geoip2",
|
55 |
-
"geolocation",
|
56 |
-
"maxmind"
|
57 |
-
]
|
58 |
},
|
59 |
{
|
60 |
-
"name": "maxmind/
|
61 |
-
"version": "
|
62 |
-
"version_normalized": "
|
63 |
"source": {
|
64 |
"type": "git",
|
65 |
-
"url": "https://github.com/maxmind/
|
66 |
-
"reference": "
|
67 |
},
|
68 |
"dist": {
|
69 |
"type": "zip",
|
70 |
-
"url": "https://api.github.com/repos/maxmind/
|
71 |
-
"reference": "
|
72 |
"shasum": ""
|
73 |
},
|
74 |
"require": {
|
75 |
-
"composer/ca-bundle": "^1.0.3",
|
76 |
-
"ext-curl": "*",
|
77 |
-
"ext-json": "*",
|
78 |
"php": ">=5.4"
|
79 |
},
|
80 |
"require-dev": {
|
81 |
"friendsofphp/php-cs-fixer": "2.*",
|
82 |
"phpunit/phpunit": "4.*",
|
|
|
83 |
"squizlabs/php_codesniffer": "3.*"
|
84 |
},
|
85 |
-
"
|
|
|
|
|
|
|
|
|
|
|
86 |
"type": "library",
|
87 |
"installation-source": "dist",
|
88 |
"autoload": {
|
89 |
"psr-4": {
|
90 |
-
"MaxMind\\
|
91 |
-
"MaxMind\\WebService\\": "src/WebService"
|
92 |
}
|
93 |
},
|
94 |
"notification-url": "https://packagist.org/downloads/",
|
@@ -97,26 +90,34 @@
|
|
97 |
],
|
98 |
"authors": [
|
99 |
{
|
100 |
-
"name": "Gregory Oschwald",
|
101 |
-
"email": "goschwald@maxmind.com"
|
|
|
102 |
}
|
103 |
],
|
104 |
-
"description": "
|
105 |
-
"homepage": "https://github.com/maxmind/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
},
|
107 |
{
|
108 |
"name": "geoip2/geoip2",
|
109 |
-
"version": "v2.
|
110 |
-
"version_normalized": "2.
|
111 |
"source": {
|
112 |
"type": "git",
|
113 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
114 |
-
"reference": "
|
115 |
},
|
116 |
"dist": {
|
117 |
"type": "zip",
|
118 |
-
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/
|
119 |
-
"reference": "
|
120 |
"shasum": ""
|
121 |
},
|
122 |
"require": {
|
@@ -130,7 +131,7 @@
|
|
130 |
"phpunit/phpunit": "4.*",
|
131 |
"squizlabs/php_codesniffer": "3.*"
|
132 |
},
|
133 |
-
"time": "2017-
|
134 |
"type": "library",
|
135 |
"installation-source": "dist",
|
136 |
"autoload": {
|
@@ -161,17 +162,17 @@
|
|
161 |
},
|
162 |
{
|
163 |
"name": "composer/ca-bundle",
|
164 |
-
"version": "1.0
|
165 |
-
"version_normalized": "1.0.
|
166 |
"source": {
|
167 |
"type": "git",
|
168 |
"url": "https://github.com/composer/ca-bundle.git",
|
169 |
-
"reference": "
|
170 |
},
|
171 |
"dist": {
|
172 |
"type": "zip",
|
173 |
-
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/
|
174 |
-
"reference": "
|
175 |
"shasum": ""
|
176 |
},
|
177 |
"require": {
|
@@ -180,14 +181,11 @@
|
|
180 |
"php": "^5.3.2 || ^7.0"
|
181 |
},
|
182 |
"require-dev": {
|
183 |
-
"phpunit/phpunit": "^4.
|
184 |
"psr/log": "^1.0",
|
185 |
-
"symfony/process": "^2.5 || ^3.0"
|
186 |
-
},
|
187 |
-
"suggest": {
|
188 |
-
"symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+"
|
189 |
},
|
190 |
-
"time": "2017-
|
191 |
"type": "library",
|
192 |
"extra": {
|
193 |
"branch-alias": {
|
1 |
[
|
2 |
{
|
3 |
+
"name": "maxmind/web-service-common",
|
4 |
+
"version": "v0.4.0",
|
5 |
+
"version_normalized": "0.4.0.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
+
"url": "https://github.com/maxmind/web-service-common-php.git",
|
9 |
+
"reference": "622f7c732a7f9c4c62497fc103939e042b6bdb88"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/maxmind/web-service-common-php/zipball/622f7c732a7f9c4c62497fc103939e042b6bdb88",
|
14 |
+
"reference": "622f7c732a7f9c4c62497fc103939e042b6bdb88",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
18 |
+
"composer/ca-bundle": "^1.0.3",
|
19 |
+
"ext-curl": "*",
|
20 |
+
"ext-json": "*",
|
21 |
+
"php": ">=5.4"
|
22 |
},
|
23 |
"require-dev": {
|
24 |
+
"friendsofphp/php-cs-fixer": "2.*",
|
25 |
+
"phpunit/phpunit": "4.*",
|
26 |
+
"squizlabs/php_codesniffer": "3.*"
|
|
|
|
|
|
|
|
|
|
|
27 |
},
|
28 |
+
"time": "2017-07-06T17:48:21+00:00",
|
29 |
"type": "library",
|
30 |
"installation-source": "dist",
|
31 |
"autoload": {
|
32 |
"psr-4": {
|
33 |
+
"MaxMind\\Exception\\": "src/Exception",
|
34 |
+
"MaxMind\\WebService\\": "src/WebService"
|
35 |
}
|
36 |
},
|
37 |
"notification-url": "https://packagist.org/downloads/",
|
40 |
],
|
41 |
"authors": [
|
42 |
{
|
43 |
+
"name": "Gregory Oschwald",
|
44 |
+
"email": "goschwald@maxmind.com"
|
|
|
45 |
}
|
46 |
],
|
47 |
+
"description": "Internal MaxMind Web Service API",
|
48 |
+
"homepage": "https://github.com/maxmind/web-service-common-php"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
},
|
50 |
{
|
51 |
+
"name": "maxmind-db/reader",
|
52 |
+
"version": "v1.2.0",
|
53 |
+
"version_normalized": "1.2.0.0",
|
54 |
"source": {
|
55 |
"type": "git",
|
56 |
+
"url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git",
|
57 |
+
"reference": "1647820dfbcb552222fb5feb3a8387e2636394c9"
|
58 |
},
|
59 |
"dist": {
|
60 |
"type": "zip",
|
61 |
+
"url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/1647820dfbcb552222fb5feb3a8387e2636394c9",
|
62 |
+
"reference": "1647820dfbcb552222fb5feb3a8387e2636394c9",
|
63 |
"shasum": ""
|
64 |
},
|
65 |
"require": {
|
|
|
|
|
|
|
66 |
"php": ">=5.4"
|
67 |
},
|
68 |
"require-dev": {
|
69 |
"friendsofphp/php-cs-fixer": "2.*",
|
70 |
"phpunit/phpunit": "4.*",
|
71 |
+
"satooshi/php-coveralls": "1.0.*",
|
72 |
"squizlabs/php_codesniffer": "3.*"
|
73 |
},
|
74 |
+
"suggest": {
|
75 |
+
"ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
|
76 |
+
"ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
|
77 |
+
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
78 |
+
},
|
79 |
+
"time": "2017-10-27T19:15:33+00:00",
|
80 |
"type": "library",
|
81 |
"installation-source": "dist",
|
82 |
"autoload": {
|
83 |
"psr-4": {
|
84 |
+
"MaxMind\\Db\\": "src/MaxMind/Db"
|
|
|
85 |
}
|
86 |
},
|
87 |
"notification-url": "https://packagist.org/downloads/",
|
90 |
],
|
91 |
"authors": [
|
92 |
{
|
93 |
+
"name": "Gregory J. Oschwald",
|
94 |
+
"email": "goschwald@maxmind.com",
|
95 |
+
"homepage": "http://www.maxmind.com/"
|
96 |
}
|
97 |
],
|
98 |
+
"description": "MaxMind DB Reader API",
|
99 |
+
"homepage": "https://github.com/maxmind/MaxMind-DB-Reader-php",
|
100 |
+
"keywords": [
|
101 |
+
"database",
|
102 |
+
"geoip",
|
103 |
+
"geoip2",
|
104 |
+
"geolocation",
|
105 |
+
"maxmind"
|
106 |
+
]
|
107 |
},
|
108 |
{
|
109 |
"name": "geoip2/geoip2",
|
110 |
+
"version": "v2.7.0",
|
111 |
+
"version_normalized": "2.7.0.0",
|
112 |
"source": {
|
113 |
"type": "git",
|
114 |
"url": "https://github.com/maxmind/GeoIP2-php.git",
|
115 |
+
"reference": "ca9f9a244474d97eac1ef542aaced7cc944bafbe"
|
116 |
},
|
117 |
"dist": {
|
118 |
"type": "zip",
|
119 |
+
"url": "https://api.github.com/repos/maxmind/GeoIP2-php/zipball/ca9f9a244474d97eac1ef542aaced7cc944bafbe",
|
120 |
+
"reference": "ca9f9a244474d97eac1ef542aaced7cc944bafbe",
|
121 |
"shasum": ""
|
122 |
},
|
123 |
"require": {
|
131 |
"phpunit/phpunit": "4.*",
|
132 |
"squizlabs/php_codesniffer": "3.*"
|
133 |
},
|
134 |
+
"time": "2017-10-27T19:20:22+00:00",
|
135 |
"type": "library",
|
136 |
"installation-source": "dist",
|
137 |
"autoload": {
|
162 |
},
|
163 |
{
|
164 |
"name": "composer/ca-bundle",
|
165 |
+
"version": "1.1.0",
|
166 |
+
"version_normalized": "1.1.0.0",
|
167 |
"source": {
|
168 |
"type": "git",
|
169 |
"url": "https://github.com/composer/ca-bundle.git",
|
170 |
+
"reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288"
|
171 |
},
|
172 |
"dist": {
|
173 |
"type": "zip",
|
174 |
+
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/943b2c4fcad1ef178d16a713c2468bf7e579c288",
|
175 |
+
"reference": "943b2c4fcad1ef178d16a713c2468bf7e579c288",
|
176 |
"shasum": ""
|
177 |
},
|
178 |
"require": {
|
181 |
"php": "^5.3.2 || ^7.0"
|
182 |
},
|
183 |
"require-dev": {
|
184 |
+
"phpunit/phpunit": "^4.8.35",
|
185 |
"psr/log": "^1.0",
|
186 |
+
"symfony/process": "^2.5 || ^3.0 || ^4.0"
|
|
|
|
|
|
|
187 |
},
|
188 |
+
"time": "2017-11-29T09:37:33+00:00",
|
189 |
"type": "library",
|
190 |
"extra": {
|
191 |
"branch-alias": {
|
vendor/geoip2/geoip2/.php_cs
CHANGED
@@ -25,6 +25,7 @@ return PhpCsFixer\Config::create()
|
|
25 |
'semicolon_after_instruction' => true,
|
26 |
'strict_comparison' => true,
|
27 |
'strict_param' => true,
|
|
|
28 |
])
|
29 |
->setFinder(
|
30 |
PhpCsFixer\Finder::create()
|
25 |
'semicolon_after_instruction' => true,
|
26 |
'strict_comparison' => true,
|
27 |
'strict_param' => true,
|
28 |
+
'yoda_style' => false,
|
29 |
])
|
30 |
->setFinder(
|
31 |
PhpCsFixer\Finder::create()
|
vendor/geoip2/geoip2/CHANGELOG.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
2.6.0 (2017-07-10)
|
5 |
-----------------
|
6 |
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
4 |
+
2.7.0 (2017-10-27)
|
5 |
+
------------------
|
6 |
+
|
7 |
+
* The following new anonymizer properties were added to `GeoIp2\Record\Traits`
|
8 |
+
for use with GeoIP2 Precision Insights: `isAnonymous`, `isAnonymousVpn`,
|
9 |
+
`isHostingProvider`, `isPublicProxy`, and `isTorExitNode`.
|
10 |
+
|
11 |
2.6.0 (2017-07-10)
|
12 |
-----------------
|
13 |
|
vendor/geoip2/geoip2/src/Record/Traits.php
CHANGED
@@ -32,18 +32,32 @@ namespace GeoIp2\Record;
|
|
32 |
* running on. If the system is behind a NAT, this may differ from the IP
|
33 |
* address locally assigned to it. This attribute is returned by all end
|
34 |
* points.
|
|
|
|
|
|
|
35 |
* @property-read bool $isAnonymousProxy *Deprecated.* Please see our
|
36 |
* {@link * https://www.maxmind.com/en/geoip2-anonymous-ip-database GeoIP2
|
37 |
* Anonymous IP database} to determine whether the IP address is used by an
|
38 |
* anonymizing service.
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
* @property-read bool $isLegitimateProxy This attribute is true if MaxMind
|
40 |
* believes this IP address to be a legitimate proxy, such as an internal
|
41 |
* VPN used by a corporation. This attribute is only available in the GeoIP2
|
42 |
* Enterprise database.
|
|
|
|
|
|
|
43 |
* @property-read bool $isSatelliteProvider *Deprecated.* Due to the
|
44 |
* increased coverage by mobile carriers, very few satellite providers now
|
45 |
* serve multiple countries. As a result, the output does not provide
|
46 |
* sufficiently relevant data for us to maintain it.
|
|
|
|
|
47 |
* @property-read string|null $isp The name of the ISP associated with the IP
|
48 |
* address. This attribute is only available from the City and Insights web
|
49 |
* services and the GeoIP2 Enterprise database.
|
@@ -84,11 +98,16 @@ class Traits extends AbstractRecord
|
|
84 |
'autonomousSystemOrganization',
|
85 |
'connectionType',
|
86 |
'domain',
|
|
|
|
|
87 |
'isAnonymousProxy',
|
|
|
|
|
88 |
'isLegitimateProxy',
|
89 |
-
'isSatelliteProvider',
|
90 |
'isp',
|
91 |
-
'
|
|
|
|
|
92 |
'organization',
|
93 |
'userType',
|
94 |
];
|
32 |
* running on. If the system is behind a NAT, this may differ from the IP
|
33 |
* address locally assigned to it. This attribute is returned by all end
|
34 |
* points.
|
35 |
+
* @property-read bool $isAnonymous This is true if the IP address belongs to
|
36 |
+
* any sort of anonymous network. This property is only available from GeoIP2
|
37 |
+
* Precision Insights.
|
38 |
* @property-read bool $isAnonymousProxy *Deprecated.* Please see our
|
39 |
* {@link * https://www.maxmind.com/en/geoip2-anonymous-ip-database GeoIP2
|
40 |
* Anonymous IP database} to determine whether the IP address is used by an
|
41 |
* anonymizing service.
|
42 |
+
* @property-read bool $isAnonymousVpn This is true if the IP address belongs to
|
43 |
+
* an anonymous VPN system. This property is only available from GeoIP2
|
44 |
+
* Precision Insights.
|
45 |
+
* @property-read bool $isHostingProvider This is true if the IP address belongs
|
46 |
+
* to a hosting provider. This property is only available from GeoIP2
|
47 |
+
* Precision Insights.
|
48 |
* @property-read bool $isLegitimateProxy This attribute is true if MaxMind
|
49 |
* believes this IP address to be a legitimate proxy, such as an internal
|
50 |
* VPN used by a corporation. This attribute is only available in the GeoIP2
|
51 |
* Enterprise database.
|
52 |
+
* @property-read bool $isPublicProxy This is true if the IP address belongs to
|
53 |
+
* a public proxy. This property is only available from GeoIP2 Precision
|
54 |
+
* Insights.
|
55 |
* @property-read bool $isSatelliteProvider *Deprecated.* Due to the
|
56 |
* increased coverage by mobile carriers, very few satellite providers now
|
57 |
* serve multiple countries. As a result, the output does not provide
|
58 |
* sufficiently relevant data for us to maintain it.
|
59 |
+
* @property-read bool $isTorExitNode This is true if the IP address is a Tor
|
60 |
+
* exit node. This property is only available from GeoIP2 Precision Insights.
|
61 |
* @property-read string|null $isp The name of the ISP associated with the IP
|
62 |
* address. This attribute is only available from the City and Insights web
|
63 |
* services and the GeoIP2 Enterprise database.
|
98 |
'autonomousSystemOrganization',
|
99 |
'connectionType',
|
100 |
'domain',
|
101 |
+
'ipAddress',
|
102 |
+
'isAnonymous',
|
103 |
'isAnonymousProxy',
|
104 |
+
'isAnonymousVpn',
|
105 |
+
'isHostingProvider',
|
106 |
'isLegitimateProxy',
|
|
|
107 |
'isp',
|
108 |
+
'isPublicProxy',
|
109 |
+
'isSatelliteProvider',
|
110 |
+
'isTorExitNode',
|
111 |
'organization',
|
112 |
'userType',
|
113 |
];
|
vendor/geoip2/geoip2/src/WebService/Client.php
CHANGED
@@ -47,7 +47,7 @@ class Client implements ProviderInterface
|
|
47 |
private $client;
|
48 |
private static $basePath = '/geoip/v2.1';
|
49 |
|
50 |
-
const VERSION = 'v2.
|
51 |
|
52 |
/**
|
53 |
* Constructor.
|
47 |
private $client;
|
48 |
private static $basePath = '/geoip/v2.1';
|
49 |
|
50 |
+
const VERSION = 'v2.7.0';
|
51 |
|
52 |
/**
|
53 |
* Constructor.
|
vendor/maxmind-db/reader/CHANGELOG.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
1.1.3 (2017-01-19)
|
5 |
------------------
|
6 |
|
1 |
CHANGELOG
|
2 |
=========
|
3 |
|
4 |
+
1.2.0 (2017-10-27)
|
5 |
+
------------------
|
6 |
+
|
7 |
+
* PHP 5.4 is now required.
|
8 |
+
* The `Reader` class for the `maxminddb` extension is no longer final.
|
9 |
+
This was change to match the behavior of the pure PHP class.
|
10 |
+
Reported and fixed by venyii. GitHub #52 & #54.
|
11 |
+
|
12 |
1.1.3 (2017-01-19)
|
13 |
------------------
|
14 |
|
vendor/maxmind-db/reader/README.md
CHANGED
@@ -117,9 +117,8 @@ client API, please see [our support page](http://www.maxmind.com/en/support).
|
|
117 |
|
118 |
## Requirements ##
|
119 |
|
120 |
-
This library requires PHP 5.
|
121 |
-
|
122 |
-
tested with HHVM.
|
123 |
|
124 |
The GMP or BCMath extension may be required to read some databases
|
125 |
using the pure PHP API.
|
@@ -135,6 +134,6 @@ The MaxMind DB Reader PHP API uses [Semantic Versioning](http://semver.org/).
|
|
135 |
|
136 |
## Copyright and License ##
|
137 |
|
138 |
-
This software is Copyright (c) 2014 by MaxMind, Inc.
|
139 |
|
140 |
This is free software, licensed under the Apache License, Version 2.0.
|
117 |
|
118 |
## Requirements ##
|
119 |
|
120 |
+
This library requires PHP 5.4 or greater. The pure PHP reader included with
|
121 |
+
this library works and is tested with HHVM.
|
|
|
122 |
|
123 |
The GMP or BCMath extension may be required to read some databases
|
124 |
using the pure PHP API.
|
134 |
|
135 |
## Copyright and License ##
|
136 |
|
137 |
+
This software is Copyright (c) 2014-2017 by MaxMind, Inc.
|
138 |
|
139 |
This is free software, licensed under the Apache License, Version 2.0.
|
vendor/maxmind-db/reader/composer.json
CHANGED
@@ -13,17 +13,18 @@
|
|
13 |
}
|
14 |
],
|
15 |
"require": {
|
16 |
-
"php": ">=5.
|
17 |
},
|
18 |
"suggest": {
|
19 |
-
"ext-bcmath": "bcmath or gmp is
|
20 |
-
"ext-gmp": "bcmath or gmp is
|
21 |
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
22 |
},
|
23 |
"require-dev": {
|
24 |
-
"
|
|
|
25 |
"satooshi/php-coveralls": "1.0.*",
|
26 |
-
"squizlabs/php_codesniffer": "
|
27 |
},
|
28 |
"autoload": {
|
29 |
"psr-4": {
|
13 |
}
|
14 |
],
|
15 |
"require": {
|
16 |
+
"php": ">=5.4"
|
17 |
},
|
18 |
"suggest": {
|
19 |
+
"ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
|
20 |
+
"ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder",
|
21 |
"ext-maxminddb": "A C-based database decoder that provides significantly faster lookups"
|
22 |
},
|
23 |
"require-dev": {
|
24 |
+
"friendsofphp/php-cs-fixer": "2.*",
|
25 |
+
"phpunit/phpunit": "4.*",
|
26 |
"satooshi/php-coveralls": "1.0.*",
|
27 |
+
"squizlabs/php_codesniffer": "3.*"
|
28 |
},
|
29 |
"autoload": {
|
30 |
"psr-4": {
|
vendor/maxmind-db/reader/ext/maxminddb.c
CHANGED
@@ -535,7 +535,6 @@ PHP_MINIT_FUNCTION(maxminddb){
|
|
535 |
INIT_CLASS_ENTRY(ce, PHP_MAXMINDDB_READER_NS, maxminddb_methods);
|
536 |
maxminddb_ce = zend_register_internal_class(&ce TSRMLS_CC);
|
537 |
maxminddb_ce->create_object = maxminddb_create_handler;
|
538 |
-
maxminddb_ce->ce_flags |= ZEND_ACC_FINAL;
|
539 |
memcpy(&maxminddb_obj_handlers,
|
540 |
zend_get_std_object_handlers(), sizeof(zend_object_handlers));
|
541 |
maxminddb_obj_handlers.clone_obj = NULL;
|
535 |
INIT_CLASS_ENTRY(ce, PHP_MAXMINDDB_READER_NS, maxminddb_methods);
|
536 |
maxminddb_ce = zend_register_internal_class(&ce TSRMLS_CC);
|
537 |
maxminddb_ce->create_object = maxminddb_create_handler;
|
|
|
538 |
memcpy(&maxminddb_obj_handlers,
|
539 |
zend_get_std_object_handlers(), sizeof(zend_object_handlers));
|
540 |
maxminddb_obj_handlers.clone_obj = NULL;
|
vendor/maxmind-db/reader/ext/php_maxminddb.h
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
|
16 |
#ifndef PHP_MAXMINDDB_H
|
17 |
#define PHP_MAXMINDDB_H 1
|
18 |
-
#define PHP_MAXMINDDB_VERSION "1.
|
19 |
#define PHP_MAXMINDDB_EXTNAME "maxminddb"
|
20 |
|
21 |
extern zend_module_entry maxminddb_module_entry;
|
15 |
|
16 |
#ifndef PHP_MAXMINDDB_H
|
17 |
#define PHP_MAXMINDDB_H 1
|
18 |
+
#define PHP_MAXMINDDB_VERSION "1.2.0"
|
19 |
#define PHP_MAXMINDDB_EXTNAME "maxminddb"
|
20 |
|
21 |
extern zend_module_entry maxminddb_module_entry;
|
vendor/maxmind-db/reader/ext/tests/001-load.phpt
CHANGED
@@ -1,10 +1,12 @@
|
|
1 |
--TEST--
|
2 |
Check for maxminddb presence
|
3 |
--SKIPIF--
|
4 |
-
<?php if (!extension_loaded(
|
|
|
|
|
5 |
--FILE--
|
6 |
-
<?php
|
7 |
-
echo
|
8 |
?>
|
9 |
--EXPECT--
|
10 |
maxminddb extension is available
|
1 |
--TEST--
|
2 |
Check for maxminddb presence
|
3 |
--SKIPIF--
|
4 |
+
<?php if (!extension_loaded('maxminddb')) {
|
5 |
+
echo 'skip';
|
6 |
+
} ?>
|
7 |
--FILE--
|
8 |
+
<?php
|
9 |
+
echo 'maxminddb extension is available';
|
10 |
?>
|
11 |
--EXPECT--
|
12 |
maxminddb extension is available
|
vendor/maxmind-db/reader/ext/tests/002-final.phpt
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
--TEST--
|
2 |
+
Check that Reader class is not final
|
3 |
+
--SKIPIF--
|
4 |
+
<?php if (!extension_loaded('maxminddb')) {
|
5 |
+
echo 'skip';
|
6 |
+
} ?>
|
7 |
+
--FILE--
|
8 |
+
<?php
|
9 |
+
$reflectionClass = new \ReflectionClass('MaxMind\Db\Reader');
|
10 |
+
var_dump($reflectionClass->isFinal());
|
11 |
+
?>
|
12 |
+
--EXPECT--
|
13 |
+
bool(false)
|
vendor/maxmind-db/reader/src/MaxMind/Db/Reader.php
CHANGED
@@ -29,15 +29,16 @@ class Reader
|
|
29 |
* be a valid MaxMind DB file such as a GeoIp2 database file.
|
30 |
*
|
31 |
* @param string $database
|
32 |
-
*
|
33 |
-
*
|
|
|
34 |
* @throws \MaxMind\Db\Reader\InvalidDatabaseException
|
35 |
-
*
|
36 |
-
*
|
37 |
*/
|
38 |
public function __construct($database)
|
39 |
{
|
40 |
-
if (func_num_args()
|
41 |
throw new \InvalidArgumentException(
|
42 |
'The constructor takes exactly one argument.'
|
43 |
);
|
@@ -75,17 +76,19 @@ class Reader
|
|
75 |
* Looks up the <code>address</code> in the MaxMind DB.
|
76 |
*
|
77 |
* @param string $ipAddress
|
78 |
-
*
|
79 |
-
*
|
80 |
-
* @throws \BadMethodCallException
|
81 |
-
* @throws \InvalidArgumentException if something other than a single IP address is passed to the method
|
82 |
* @throws InvalidDatabaseException
|
83 |
-
*
|
84 |
-
*
|
|
|
|
|
85 |
*/
|
86 |
public function get($ipAddress)
|
87 |
{
|
88 |
-
if (func_num_args()
|
89 |
throw new \InvalidArgumentException(
|
90 |
'Method takes exactly one argument.'
|
91 |
);
|
@@ -103,16 +106,17 @@ class Reader
|
|
103 |
);
|
104 |
}
|
105 |
|
106 |
-
if ($this->metadata->ipVersion
|
107 |
throw new \InvalidArgumentException(
|
108 |
"Error looking up $ipAddress. You attempted to look up an"
|
109 |
-
.
|
110 |
);
|
111 |
}
|
112 |
$pointer = $this->findAddressInTree($ipAddress);
|
113 |
-
if ($pointer
|
114 |
return null;
|
115 |
}
|
|
|
116 |
return $this->resolveDataPointer($pointer);
|
117 |
}
|
118 |
|
@@ -136,22 +140,21 @@ class Reader
|
|
136 |
|
137 |
$node = $this->readNode($node, $bit);
|
138 |
}
|
139 |
-
if ($node
|
140 |
// Record is empty
|
141 |
return 0;
|
142 |
} elseif ($node > $this->metadata->nodeCount) {
|
143 |
// Record is a data pointer
|
144 |
return $node;
|
145 |
}
|
146 |
-
throw new InvalidDatabaseException(
|
147 |
}
|
148 |
|
149 |
-
|
150 |
private function startNode($length)
|
151 |
{
|
152 |
// Check if we are looking up an IPv4 address in an IPv6 tree. If this
|
153 |
// is the case, we can skip over the first 96 nodes.
|
154 |
-
if ($this->metadata->ipVersion
|
155 |
return $this->ipV4StartNode();
|
156 |
}
|
157 |
// The first node of the tree is always node 0, at the beginning of the
|
@@ -163,11 +166,11 @@ class Reader
|
|
163 |
{
|
164 |
// This is a defensive check. There is no reason to call this when you
|
165 |
// have an IPv4 tree.
|
166 |
-
if ($this->metadata->ipVersion
|
167 |
return 0;
|
168 |
}
|
169 |
|
170 |
-
if ($this->ipV4Start
|
171 |
return $this->ipV4Start;
|
172 |
}
|
173 |
$node = 0;
|
@@ -176,6 +179,7 @@ class Reader
|
|
176 |
$node = $this->readNode($node, 0);
|
177 |
}
|
178 |
$this->ipV4Start = $node;
|
|
|
179 |
return $node;
|
180 |
}
|
181 |
|
@@ -188,21 +192,24 @@ class Reader
|
|
188 |
case 24:
|
189 |
$bytes = Util::read($this->fileHandle, $baseOffset + $index * 3, 3);
|
190 |
list(, $node) = unpack('N', "\x00" . $bytes);
|
|
|
191 |
return $node;
|
192 |
case 28:
|
193 |
$middleByte = Util::read($this->fileHandle, $baseOffset + 3, 1);
|
194 |
list(, $middle) = unpack('C', $middleByte);
|
195 |
-
if ($index
|
196 |
$middle = (0xF0 & $middle) >> 4;
|
197 |
} else {
|
198 |
$middle = 0x0F & $middle;
|
199 |
}
|
200 |
$bytes = Util::read($this->fileHandle, $baseOffset + $index * 4, 3);
|
201 |
list(, $node) = unpack('N', chr($middle) . $bytes);
|
|
|
202 |
return $node;
|
203 |
case 32:
|
204 |
$bytes = Util::read($this->fileHandle, $baseOffset + $index * 4, 4);
|
205 |
list(, $node) = unpack('N', $bytes);
|
|
|
206 |
return $node;
|
207 |
default:
|
208 |
throw new InvalidDatabaseException(
|
@@ -223,6 +230,7 @@ class Reader
|
|
223 |
}
|
224 |
|
225 |
list($data) = $this->decoder->decode($resolved);
|
|
|
226 |
return $data;
|
227 |
}
|
228 |
|
@@ -245,10 +253,11 @@ class Reader
|
|
245 |
for ($j = 0; $j < $markerLength; $j++) {
|
246 |
fseek($handle, $fileSize - $i - $j - 1);
|
247 |
$matchBit = fgetc($handle);
|
248 |
-
if ($matchBit
|
249 |
continue 2;
|
250 |
}
|
251 |
}
|
|
|
252 |
return $fileSize - $i;
|
253 |
}
|
254 |
throw new InvalidDatabaseException(
|
@@ -258,9 +267,10 @@ class Reader
|
|
258 |
}
|
259 |
|
260 |
/**
|
261 |
-
* @throws \InvalidArgumentException if arguments are passed to the method
|
262 |
-
* @throws \BadMethodCallException
|
263 |
-
*
|
|
|
264 |
*/
|
265 |
public function metadata()
|
266 |
{
|
@@ -285,7 +295,7 @@ class Reader
|
|
285 |
* Closes the MaxMind DB and returns resources to the system.
|
286 |
*
|
287 |
* @throws \Exception
|
288 |
-
*
|
289 |
*/
|
290 |
public function close()
|
291 |
{
|
29 |
* be a valid MaxMind DB file such as a GeoIp2 database file.
|
30 |
*
|
31 |
* @param string $database
|
32 |
+
* the MaxMind DB file to use
|
33 |
+
*
|
34 |
+
* @throws \InvalidArgumentException for invalid database path or unknown arguments
|
35 |
* @throws \MaxMind\Db\Reader\InvalidDatabaseException
|
36 |
+
* if the database is invalid or there is an error reading
|
37 |
+
* from it
|
38 |
*/
|
39 |
public function __construct($database)
|
40 |
{
|
41 |
+
if (func_num_args() !== 1) {
|
42 |
throw new \InvalidArgumentException(
|
43 |
'The constructor takes exactly one argument.'
|
44 |
);
|
76 |
* Looks up the <code>address</code> in the MaxMind DB.
|
77 |
*
|
78 |
* @param string $ipAddress
|
79 |
+
* the IP address to look up
|
80 |
+
*
|
81 |
+
* @throws \BadMethodCallException if this method is called on a closed database
|
82 |
+
* @throws \InvalidArgumentException if something other than a single IP address is passed to the method
|
83 |
* @throws InvalidDatabaseException
|
84 |
+
* if the database is invalid or there is an error reading
|
85 |
+
* from it
|
86 |
+
*
|
87 |
+
* @return array the record for the IP address
|
88 |
*/
|
89 |
public function get($ipAddress)
|
90 |
{
|
91 |
+
if (func_num_args() !== 1) {
|
92 |
throw new \InvalidArgumentException(
|
93 |
'Method takes exactly one argument.'
|
94 |
);
|
106 |
);
|
107 |
}
|
108 |
|
109 |
+
if ($this->metadata->ipVersion === 4 && strrpos($ipAddress, ':')) {
|
110 |
throw new \InvalidArgumentException(
|
111 |
"Error looking up $ipAddress. You attempted to look up an"
|
112 |
+
. ' IPv6 address in an IPv4-only database.'
|
113 |
);
|
114 |
}
|
115 |
$pointer = $this->findAddressInTree($ipAddress);
|
116 |
+
if ($pointer === 0) {
|
117 |
return null;
|
118 |
}
|
119 |
+
|
120 |
return $this->resolveDataPointer($pointer);
|
121 |
}
|
122 |
|
140 |
|
141 |
$node = $this->readNode($node, $bit);
|
142 |
}
|
143 |
+
if ($node === $this->metadata->nodeCount) {
|
144 |
// Record is empty
|
145 |
return 0;
|
146 |
} elseif ($node > $this->metadata->nodeCount) {
|
147 |
// Record is a data pointer
|
148 |
return $node;
|
149 |
}
|
150 |
+
throw new InvalidDatabaseException('Something bad happened');
|
151 |
}
|
152 |
|
|
|
153 |
private function startNode($length)
|
154 |
{
|
155 |
// Check if we are looking up an IPv4 address in an IPv6 tree. If this
|
156 |
// is the case, we can skip over the first 96 nodes.
|
157 |
+
if ($this->metadata->ipVersion === 6 && $length === 32) {
|
158 |
return $this->ipV4StartNode();
|
159 |
}
|
160 |
// The first node of the tree is always node 0, at the beginning of the
|
166 |
{
|
167 |
// This is a defensive check. There is no reason to call this when you
|
168 |
// have an IPv4 tree.
|
169 |
+
if ($this->metadata->ipVersion === 4) {
|
170 |
return 0;
|
171 |
}
|
172 |
|
173 |
+
if ($this->ipV4Start) {
|
174 |
return $this->ipV4Start;
|
175 |
}
|
176 |
$node = 0;
|
179 |
$node = $this->readNode($node, 0);
|
180 |
}
|
181 |
$this->ipV4Start = $node;
|
182 |
+
|
183 |
return $node;
|
184 |
}
|
185 |
|
192 |
case 24:
|
193 |
$bytes = Util::read($this->fileHandle, $baseOffset + $index * 3, 3);
|
194 |
list(, $node) = unpack('N', "\x00" . $bytes);
|
195 |
+
|
196 |
return $node;
|
197 |
case 28:
|
198 |
$middleByte = Util::read($this->fileHandle, $baseOffset + 3, 1);
|
199 |
list(, $middle) = unpack('C', $middleByte);
|
200 |
+
if ($index === 0) {
|
201 |
$middle = (0xF0 & $middle) >> 4;
|
202 |
} else {
|
203 |
$middle = 0x0F & $middle;
|
204 |
}
|
205 |
$bytes = Util::read($this->fileHandle, $baseOffset + $index * 4, 3);
|
206 |
list(, $node) = unpack('N', chr($middle) . $bytes);
|
207 |
+
|
208 |
return $node;
|
209 |
case 32:
|
210 |
$bytes = Util::read($this->fileHandle, $baseOffset + $index * 4, 4);
|
211 |
list(, $node) = unpack('N', $bytes);
|
212 |
+
|
213 |
return $node;
|
214 |
default:
|
215 |
throw new InvalidDatabaseException(
|
230 |
}
|
231 |
|
232 |
list($data) = $this->decoder->decode($resolved);
|
233 |
+
|
234 |
return $data;
|
235 |
}
|
236 |
|
253 |
for ($j = 0; $j < $markerLength; $j++) {
|
254 |
fseek($handle, $fileSize - $i - $j - 1);
|
255 |
$matchBit = fgetc($handle);
|
256 |
+
if ($matchBit !== $marker[$markerLength - $j - 1]) {
|
257 |
continue 2;
|
258 |
}
|
259 |
}
|
260 |
+
|
261 |
return $fileSize - $i;
|
262 |
}
|
263 |
throw new InvalidDatabaseException(
|
267 |
}
|
268 |
|
269 |
/**
|
270 |
+
* @throws \InvalidArgumentException if arguments are passed to the method
|
271 |
+
* @throws \BadMethodCallException if the database has been closed
|
272 |
+
*
|
273 |
+
* @return Metadata object for the database
|
274 |
*/
|
275 |
public function metadata()
|
276 |
{
|
295 |
* Closes the MaxMind DB and returns resources to the system.
|
296 |
*
|
297 |
* @throws \Exception
|
298 |
+
* if an I/O error occurs
|
299 |
*/
|
300 |
public function close()
|
301 |
{
|
vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Decoder.php
CHANGED
@@ -2,19 +2,15 @@
|
|
2 |
|
3 |
namespace MaxMind\Db\Reader;
|
4 |
|
5 |
-
use MaxMind\Db\Reader\InvalidDatabaseException;
|
6 |
-
use MaxMind\Db\Reader\Util;
|
7 |
-
|
8 |
class Decoder
|
9 |
{
|
10 |
-
|
11 |
private $fileStream;
|
12 |
private $pointerBase;
|
13 |
// This is only used for unit testing
|
14 |
private $pointerTestHack;
|
15 |
private $switchByteOrder;
|
16 |
|
17 |
-
private $types =
|
18 |
0 => 'extended',
|
19 |
1 => 'pointer',
|
20 |
2 => 'utf8_string',
|
@@ -31,7 +27,7 @@ class Decoder
|
|
31 |
13 => 'end_marker',
|
32 |
14 => 'boolean',
|
33 |
15 => 'float',
|
34 |
-
|
35 |
|
36 |
public function __construct(
|
37 |
$fileStream,
|
@@ -45,7 +41,6 @@ class Decoder
|
|
45 |
$this->switchByteOrder = $this->isPlatformLittleEndian();
|
46 |
}
|
47 |
|
48 |
-
|
49 |
public function decode($offset)
|
50 |
{
|
51 |
list(, $ctrlByte) = unpack(
|
@@ -59,20 +54,20 @@ class Decoder
|
|
59 |
// Pointers are a special case, we don't read the next $size bytes, we
|
60 |
// use the size to determine the length of the pointer and then follow
|
61 |
// it.
|
62 |
-
if ($type
|
63 |
list($pointer, $offset) = $this->decodePointer($ctrlByte, $offset);
|
64 |
|
65 |
// for unit testing
|
66 |
if ($this->pointerTestHack) {
|
67 |
-
return
|
68 |
}
|
69 |
|
70 |
list($result) = $this->decode($pointer);
|
71 |
|
72 |
-
return
|
73 |
}
|
74 |
|
75 |
-
if ($type
|
76 |
list(, $nextByte) = unpack(
|
77 |
'C',
|
78 |
Util::read($this->fileStream, $offset, 1)
|
@@ -82,10 +77,10 @@ class Decoder
|
|
82 |
|
83 |
if ($typeNum < 8) {
|
84 |
throw new InvalidDatabaseException(
|
85 |
-
|
86 |
-
.
|
87 |
. $this->types[$typeNum]
|
88 |
-
.
|
89 |
);
|
90 |
}
|
91 |
|
@@ -106,40 +101,42 @@ class Decoder
|
|
106 |
case 'array':
|
107 |
return $this->decodeArray($size, $offset);
|
108 |
case 'boolean':
|
109 |
-
return
|
110 |
}
|
111 |
|
112 |
$newOffset = $offset + $size;
|
113 |
$bytes = Util::read($this->fileStream, $offset, $size);
|
114 |
switch ($type) {
|
115 |
case 'utf8_string':
|
116 |
-
return
|
117 |
case 'double':
|
118 |
$this->verifySize(8, $size);
|
119 |
-
|
|
|
120 |
case 'float':
|
121 |
$this->verifySize(4, $size);
|
122 |
-
|
|
|
123 |
case 'bytes':
|
124 |
-
return
|
125 |
case 'uint16':
|
126 |
case 'uint32':
|
127 |
-
return
|
128 |
case 'int32':
|
129 |
-
return
|
130 |
case 'uint64':
|
131 |
case 'uint128':
|
132 |
-
return
|
133 |
default:
|
134 |
throw new InvalidDatabaseException(
|
135 |
-
|
136 |
);
|
137 |
}
|
138 |
}
|
139 |
|
140 |
private function verifySize($expected, $actual)
|
141 |
{
|
142 |
-
if ($expected
|
143 |
throw new InvalidDatabaseException(
|
144 |
"The MaxMind DB file's data section contains bad data (unknown data type or corrupt data)"
|
145 |
);
|
@@ -148,25 +145,26 @@ class Decoder
|
|
148 |
|
149 |
private function decodeArray($size, $offset)
|
150 |
{
|
151 |
-
$array =
|
152 |
|
153 |
for ($i = 0; $i < $size; $i++) {
|
154 |
list($value, $offset) = $this->decode($offset);
|
155 |
array_push($array, $value);
|
156 |
}
|
157 |
|
158 |
-
return
|
159 |
}
|
160 |
|
161 |
private function decodeBoolean($size)
|
162 |
{
|
163 |
-
return $size
|
164 |
}
|
165 |
|
166 |
private function decodeDouble($bits)
|
167 |
{
|
168 |
// XXX - Assumes IEEE 754 double on platform
|
169 |
list(, $double) = unpack('d', $this->maybeSwitchByteOrder($bits));
|
|
|
170 |
return $double;
|
171 |
}
|
172 |
|
@@ -174,6 +172,7 @@ class Decoder
|
|
174 |
{
|
175 |
// XXX - Assumes IEEE 754 floats on platform
|
176 |
list(, $float) = unpack('f', $this->maybeSwitchByteOrder($bits));
|
|
|
177 |
return $float;
|
178 |
}
|
179 |
|
@@ -181,13 +180,13 @@ class Decoder
|
|
181 |
{
|
182 |
$bytes = $this->zeroPadLeft($bytes, 4);
|
183 |
list(, $int) = unpack('l', $this->maybeSwitchByteOrder($bytes));
|
|
|
184 |
return $int;
|
185 |
}
|
186 |
|
187 |
private function decodeMap($size, $offset)
|
188 |
{
|
189 |
-
|
190 |
-
$map = array();
|
191 |
|
192 |
for ($i = 0; $i < $size; $i++) {
|
193 |
list($key, $offset) = $this->decode($offset);
|
@@ -195,15 +194,15 @@ class Decoder
|
|
195 |
$map[$key] = $value;
|
196 |
}
|
197 |
|
198 |
-
return
|
199 |
}
|
200 |
|
201 |
-
private $pointerValueOffset =
|
202 |
1 => 0,
|
203 |
2 => 2048,
|
204 |
3 => 526336,
|
205 |
4 => 0,
|
206 |
-
|
207 |
|
208 |
private function decodePointer($ctrlByte, $offset)
|
209 |
{
|
@@ -212,7 +211,7 @@ class Decoder
|
|
212 |
$buffer = Util::read($this->fileStream, $offset, $pointerSize);
|
213 |
$offset = $offset + $pointerSize;
|
214 |
|
215 |
-
$packed = $pointerSize
|
216 |
? $buffer
|
217 |
: (pack('C', $ctrlByte & 0x7)) . $buffer;
|
218 |
|
@@ -220,12 +219,13 @@ class Decoder
|
|
220 |
$pointer = $unpacked + $this->pointerBase
|
221 |
+ $this->pointerValueOffset[$pointerSize];
|
222 |
|
223 |
-
return
|
224 |
}
|
225 |
|
226 |
private function decodeUint($bytes)
|
227 |
{
|
228 |
list(, $int) = unpack('N', $this->zeroPadLeft($bytes, 4));
|
|
|
229 |
return $int;
|
230 |
}
|
231 |
|
@@ -233,7 +233,7 @@ class Decoder
|
|
233 |
{
|
234 |
$maxUintBytes = log(PHP_INT_MAX, 2) / 8;
|
235 |
|
236 |
-
if ($byteLength
|
237 |
return 0;
|
238 |
}
|
239 |
|
@@ -261,6 +261,7 @@ class Decoder
|
|
261 |
);
|
262 |
}
|
263 |
}
|
|
|
264 |
return $integer;
|
265 |
}
|
266 |
|
@@ -278,16 +279,16 @@ class Decoder
|
|
278 |
$bytes = Util::read($this->fileStream, $offset, $bytesToRead);
|
279 |
$decoded = $this->decodeUint($bytes);
|
280 |
|
281 |
-
if ($size
|
282 |
$size = 29 + $decoded;
|
283 |
-
} elseif ($size
|
284 |
$size = 285 + $decoded;
|
285 |
} elseif ($size > 30) {
|
286 |
$size = ($decoded & (0x0FFFFFFF >> (32 - (8 * $bytesToRead))))
|
287 |
+ 65821;
|
288 |
}
|
289 |
|
290 |
-
return
|
291 |
}
|
292 |
|
293 |
private function zeroPadLeft($content, $desiredLength)
|
@@ -304,6 +305,7 @@ class Decoder
|
|
304 |
{
|
305 |
$testint = 0x00FF;
|
306 |
$packed = pack('S', $testint);
|
|
|
307 |
return $testint === current(unpack('v', $packed));
|
308 |
}
|
309 |
}
|
2 |
|
3 |
namespace MaxMind\Db\Reader;
|
4 |
|
|
|
|
|
|
|
5 |
class Decoder
|
6 |
{
|
|
|
7 |
private $fileStream;
|
8 |
private $pointerBase;
|
9 |
// This is only used for unit testing
|
10 |
private $pointerTestHack;
|
11 |
private $switchByteOrder;
|
12 |
|
13 |
+
private $types = [
|
14 |
0 => 'extended',
|
15 |
1 => 'pointer',
|
16 |
2 => 'utf8_string',
|
27 |
13 => 'end_marker',
|
28 |
14 => 'boolean',
|
29 |
15 => 'float',
|
30 |
+
];
|
31 |
|
32 |
public function __construct(
|
33 |
$fileStream,
|
41 |
$this->switchByteOrder = $this->isPlatformLittleEndian();
|
42 |
}
|
43 |
|
|
|
44 |
public function decode($offset)
|
45 |
{
|
46 |
list(, $ctrlByte) = unpack(
|
54 |
// Pointers are a special case, we don't read the next $size bytes, we
|
55 |
// use the size to determine the length of the pointer and then follow
|
56 |
// it.
|
57 |
+
if ($type === 'pointer') {
|
58 |
list($pointer, $offset) = $this->decodePointer($ctrlByte, $offset);
|
59 |
|
60 |
// for unit testing
|
61 |
if ($this->pointerTestHack) {
|
62 |
+
return [$pointer];
|
63 |
}
|
64 |
|
65 |
list($result) = $this->decode($pointer);
|
66 |
|
67 |
+
return [$result, $offset];
|
68 |
}
|
69 |
|
70 |
+
if ($type === 'extended') {
|
71 |
list(, $nextByte) = unpack(
|
72 |
'C',
|
73 |
Util::read($this->fileStream, $offset, 1)
|
77 |
|
78 |
if ($typeNum < 8) {
|
79 |
throw new InvalidDatabaseException(
|
80 |
+
'Something went horribly wrong in the decoder. An extended type '
|
81 |
+
. 'resolved to a type number < 8 ('
|
82 |
. $this->types[$typeNum]
|
83 |
+
. ')'
|
84 |
);
|
85 |
}
|
86 |
|
101 |
case 'array':
|
102 |
return $this->decodeArray($size, $offset);
|
103 |
case 'boolean':
|
104 |
+
return [$this->decodeBoolean($size), $offset];
|
105 |
}
|
106 |
|
107 |
$newOffset = $offset + $size;
|
108 |
$bytes = Util::read($this->fileStream, $offset, $size);
|
109 |
switch ($type) {
|
110 |
case 'utf8_string':
|
111 |
+
return [$this->decodeString($bytes), $newOffset];
|
112 |
case 'double':
|
113 |
$this->verifySize(8, $size);
|
114 |
+
|
115 |
+
return [$this->decodeDouble($bytes), $newOffset];
|
116 |
case 'float':
|
117 |
$this->verifySize(4, $size);
|
118 |
+
|
119 |
+
return [$this->decodeFloat($bytes), $newOffset];
|
120 |
case 'bytes':
|
121 |
+
return [$bytes, $newOffset];
|
122 |
case 'uint16':
|
123 |
case 'uint32':
|
124 |
+
return [$this->decodeUint($bytes), $newOffset];
|
125 |
case 'int32':
|
126 |
+
return [$this->decodeInt32($bytes), $newOffset];
|
127 |
case 'uint64':
|
128 |
case 'uint128':
|
129 |
+
return [$this->decodeBigUint($bytes, $size), $newOffset];
|
130 |
default:
|
131 |
throw new InvalidDatabaseException(
|
132 |
+
'Unknown or unexpected type: ' . $type
|
133 |
);
|
134 |
}
|
135 |
}
|
136 |
|
137 |
private function verifySize($expected, $actual)
|
138 |
{
|
139 |
+
if ($expected !== $actual) {
|
140 |
throw new InvalidDatabaseException(
|
141 |
"The MaxMind DB file's data section contains bad data (unknown data type or corrupt data)"
|
142 |
);
|
145 |
|
146 |
private function decodeArray($size, $offset)
|
147 |
{
|
148 |
+
$array = [];
|
149 |
|
150 |
for ($i = 0; $i < $size; $i++) {
|
151 |
list($value, $offset) = $this->decode($offset);
|
152 |
array_push($array, $value);
|
153 |
}
|
154 |
|
155 |
+
return [$array, $offset];
|
156 |
}
|
157 |
|
158 |
private function decodeBoolean($size)
|
159 |
{
|
160 |
+
return $size === 0 ? false : true;
|
161 |
}
|
162 |
|
163 |
private function decodeDouble($bits)
|
164 |
{
|
165 |
// XXX - Assumes IEEE 754 double on platform
|
166 |
list(, $double) = unpack('d', $this->maybeSwitchByteOrder($bits));
|
167 |
+
|
168 |
return $double;
|
169 |
}
|
170 |
|
172 |
{
|
173 |
// XXX - Assumes IEEE 754 floats on platform
|
174 |
list(, $float) = unpack('f', $this->maybeSwitchByteOrder($bits));
|
175 |
+
|
176 |
return $float;
|
177 |
}
|
178 |
|
180 |
{
|
181 |
$bytes = $this->zeroPadLeft($bytes, 4);
|
182 |
list(, $int) = unpack('l', $this->maybeSwitchByteOrder($bytes));
|
183 |
+
|
184 |
return $int;
|
185 |
}
|
186 |
|
187 |
private function decodeMap($size, $offset)
|
188 |
{
|
189 |
+
$map = [];
|
|
|
190 |
|
191 |
for ($i = 0; $i < $size; $i++) {
|
192 |
list($key, $offset) = $this->decode($offset);
|
194 |
$map[$key] = $value;
|
195 |
}
|
196 |
|
197 |
+
return [$map, $offset];
|
198 |
}
|
199 |
|
200 |
+
private $pointerValueOffset = [
|
201 |
1 => 0,
|
202 |
2 => 2048,
|
203 |
3 => 526336,
|
204 |
4 => 0,
|
205 |
+
];
|
206 |
|
207 |
private function decodePointer($ctrlByte, $offset)
|
208 |
{
|
211 |
$buffer = Util::read($this->fileStream, $offset, $pointerSize);
|
212 |
$offset = $offset + $pointerSize;
|
213 |
|
214 |
+
$packed = $pointerSize === 4
|
215 |
? $buffer
|
216 |
: (pack('C', $ctrlByte & 0x7)) . $buffer;
|
217 |
|
219 |
$pointer = $unpacked + $this->pointerBase
|
220 |
+ $this->pointerValueOffset[$pointerSize];
|
221 |
|
222 |
+
return [$pointer, $offset];
|
223 |
}
|
224 |
|
225 |
private function decodeUint($bytes)
|
226 |
{
|
227 |
list(, $int) = unpack('N', $this->zeroPadLeft($bytes, 4));
|
228 |
+
|
229 |
return $int;
|
230 |
}
|
231 |
|
233 |
{
|
234 |
$maxUintBytes = log(PHP_INT_MAX, 2) / 8;
|
235 |
|
236 |
+
if ($byteLength === 0) {
|
237 |
return 0;
|
238 |
}
|
239 |
|
261 |
);
|
262 |
}
|
263 |
}
|
264 |
+
|
265 |
return $integer;
|
266 |
}
|
267 |
|
279 |
$bytes = Util::read($this->fileStream, $offset, $bytesToRead);
|
280 |
$decoded = $this->decodeUint($bytes);
|
281 |
|
282 |
+
if ($size === 29) {
|
283 |
$size = 29 + $decoded;
|
284 |
+
} elseif ($size === 30) {
|
285 |
$size = 285 + $decoded;
|
286 |
} elseif ($size > 30) {
|
287 |
$size = ($decoded & (0x0FFFFFFF >> (32 - (8 * $bytesToRead))))
|
288 |
+ 65821;
|
289 |
}
|
290 |
|
291 |
+
return [$size, $offset + $bytesToRead];
|
292 |
}
|
293 |
|
294 |
private function zeroPadLeft($content, $desiredLength)
|
305 |
{
|
306 |
$testint = 0x00FF;
|
307 |
$packed = pack('S', $testint);
|
308 |
+
|
309 |
return $testint === current(unpack('v', $packed));
|
310 |
}
|
311 |
}
|
vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php
CHANGED
@@ -5,35 +5,27 @@ namespace MaxMind\Db\Reader;
|
|
5 |
/**
|
6 |
* This class provides the metadata for the MaxMind DB file.
|
7 |
*
|
8 |
-
* @property
|
9 |
* the number of nodes in the search tree.
|
10 |
-
*
|
11 |
-
* @property integer recordSize This is an unsigned 16-bit integer. It
|
12 |
* indicates the number of bits in a record in the search tree. Note that each
|
13 |
* node consists of two records.
|
14 |
-
*
|
15 |
-
* @property integer ipVersion This is an unsigned 16-bit integer which is
|
16 |
* always 4 or 6. It indicates whether the database contains IPv4 or IPv6
|
17 |
* address data.
|
18 |
-
*
|
19 |
* @property string databaseType This is a string that indicates the structure
|
20 |
* of each data record associated with an IP address. The actual definition of
|
21 |
* these structures is left up to the database creator.
|
22 |
-
*
|
23 |
* @property array languages An array of strings, each of which is a language
|
24 |
* code. A given record may contain data items that have been localized to
|
25 |
* some or all of these languages. This may be undefined.
|
26 |
-
*
|
27 |
-
* @property integer binaryFormatMajorVersion This is an unsigned 16-bit
|
28 |
* integer indicating the major version number for the database's binary
|
29 |
* format.
|
30 |
-
*
|
31 |
-
* @property integer binaryFormatMinorVersion This is an unsigned 16-bit
|
32 |
* integer indicating the minor version number for the database's binary format.
|
33 |
-
*
|
34 |
-
* @property integer buildEpoch This is an unsigned 64-bit integer that
|
35 |
* contains the database build timestamp as a Unix epoch value.
|
36 |
-
*
|
37 |
* @property array description This key will always point to a map
|
38 |
* (associative array). The keys of that map will be language codes, and the
|
39 |
* values will be a description in that language as a UTF-8 string. May be
|
5 |
/**
|
6 |
* This class provides the metadata for the MaxMind DB file.
|
7 |
*
|
8 |
+
* @property int nodeCount This is an unsigned 32-bit integer indicating
|
9 |
* the number of nodes in the search tree.
|
10 |
+
* @property int recordSize This is an unsigned 16-bit integer. It
|
|
|
11 |
* indicates the number of bits in a record in the search tree. Note that each
|
12 |
* node consists of two records.
|
13 |
+
* @property int ipVersion This is an unsigned 16-bit integer which is
|
|
|
14 |
* always 4 or 6. It indicates whether the database contains IPv4 or IPv6
|
15 |
* address data.
|
|
|
16 |
* @property string databaseType This is a string that indicates the structure
|
17 |
* of each data record associated with an IP address. The actual definition of
|
18 |
* these structures is left up to the database creator.
|
|
|
19 |
* @property array languages An array of strings, each of which is a language
|
20 |
* code. A given record may contain data items that have been localized to
|
21 |
* some or all of these languages. This may be undefined.
|
22 |
+
* @property int binaryFormatMajorVersion This is an unsigned 16-bit
|
|
|
23 |
* integer indicating the major version number for the database's binary
|
24 |
* format.
|
25 |
+
* @property int binaryFormatMinorVersion This is an unsigned 16-bit
|
|
|
26 |
* integer indicating the minor version number for the database's binary format.
|
27 |
+
* @property int buildEpoch This is an unsigned 64-bit integer that
|
|
|
28 |
* contains the database build timestamp as a Unix epoch value.
|
|
|
29 |
* @property array description This key will always point to a map
|
30 |
* (associative array). The keys of that map will be language codes, and the
|
31 |
* values will be a description in that language as a UTF-8 string. May be
|
vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Util.php
CHANGED
@@ -2,16 +2,14 @@
|
|
2 |
|
3 |
namespace MaxMind\Db\Reader;
|
4 |
|
5 |
-
use MaxMind\Db\Reader\InvalidDatabaseException;
|
6 |
-
|
7 |
class Util
|
8 |
{
|
9 |
public static function read($stream, $offset, $numberOfBytes)
|
10 |
{
|
11 |
-
if ($numberOfBytes
|
12 |
return '';
|
13 |
}
|
14 |
-
if (fseek($stream, $offset)
|
15 |
$value = fread($stream, $numberOfBytes);
|
16 |
|
17 |
// We check that the number of bytes read is equal to the number
|
@@ -22,7 +20,7 @@ class Util
|
|
22 |
}
|
23 |
}
|
24 |
throw new InvalidDatabaseException(
|
25 |
-
|
26 |
);
|
27 |
}
|
28 |
}
|
2 |
|
3 |
namespace MaxMind\Db\Reader;
|
4 |
|
|
|
|
|
5 |
class Util
|
6 |
{
|
7 |
public static function read($stream, $offset, $numberOfBytes)
|
8 |
{
|
9 |
+
if ($numberOfBytes === 0) {
|
10 |
return '';
|
11 |
}
|
12 |
+
if (fseek($stream, $offset) === 0) {
|
13 |
$value = fread($stream, $numberOfBytes);
|
14 |
|
15 |
// We check that the number of bytes read is equal to the number
|
20 |
}
|
21 |
}
|
22 |
throw new InvalidDatabaseException(
|
23 |
+
'The MaxMind DB file contains bad data'
|
24 |
);
|
25 |
}
|
26 |
}
|
views/lookup.php
CHANGED
@@ -46,7 +46,8 @@ if ($shortcode_options) {
|
|
46 |
</form>
|
47 |
<?php if ($ip_lookup_result !== false) :
|
48 |
if (is_object($ip_lookup_result)) :
|
49 |
-
|
|
|
50 |
?>
|
51 |
<h3><?php _e('Lookup Result', 'geoip-detect'); ?></h3>
|
52 |
<p>
|
46 |
</form>
|
47 |
<?php if ($ip_lookup_result !== false) :
|
48 |
if (is_object($ip_lookup_result)) :
|
49 |
+
$record = $ip_lookup_result;
|
50 |
+
|
51 |
?>
|
52 |
<h3><?php _e('Lookup Result', 'geoip-detect'); ?></h3>
|
53 |
<p>
|