MDL-65763 lib: Upgrade GeoIP2 lib to 2.9.0
authorMihail Geshoski <mihail@moodle.com>
Fri, 14 Jun 2019 02:56:22 +0000 (10:56 +0800)
committerMihail Geshoski <mihail@moodle.com>
Fri, 12 Jul 2019 00:17:46 +0000 (08:17 +0800)
lib/maxmind/GeoIp2/Record/Country.php
lib/maxmind/GeoIp2/Record/RepresentedCountry.php
lib/maxmind/GeoIp2/Record/Traits.php
lib/maxmind/GeoIp2/WebService/Client.php

index 5b3b0d2..477bc1d 100644 (file)
@@ -11,7 +11,10 @@ namespace GeoIp2\Record;
  * confidence that the country is correct. This attribute is only available
  * from the Insights service and the GeoIP2 Enterprise database.
  * @property-read int|null $geonameId The GeoName ID for the country. This
- * attribute is returned by location services and databases.
+ * attribute is returned by all location services and databases.
+ * @property-read bool $isInEuropeanUnion This is true if the country is a
+ * member state of the European Union. This attribute is returned by all
+ * location services and databases.
  * @property-read string|null $isoCode The
  * {@link * http://en.wikipedia.org/wiki/ISO_3166-1 two-character ISO 3166-1 alpha
  * code} for the country. This attribute is returned by all location services
@@ -31,6 +34,7 @@ class Country extends AbstractPlaceRecord
     protected $validAttributes = [
         'confidence',
         'geonameId',
+        'isInEuropeanUnion',
         'isoCode',
         'names',
     ];
index c37102e..13082dd 100644 (file)
@@ -13,6 +13,9 @@ namespace GeoIp2\Record;
  * confidence that the country is correct. This attribute is only available
  * from the Insights service and the GeoIP2 Enterprise database.
  * @property-read int|null $geonameId The GeoName ID for the country.
+ * @property-read bool $isInEuropeanUnion This is true if the country is a
+ * member state of the European Union. This attribute is returned by all
+ * location services and databases.
  * @property-read string|null $isoCode The {@link http://en.wikipedia.org/wiki/ISO_3166-1
  * two-character ISO 3166-1 alpha code} for the country.
  * @property-read string|null $name The name of the country based on the locales list
@@ -28,6 +31,7 @@ class RepresentedCountry extends Country
     protected $validAttributes = [
         'confidence',
         'geonameId',
+        'isInEuropeanUnion',
         'isoCode',
         'names',
         'type',
index 582eea6..bc5f07d 100644 (file)
@@ -32,18 +32,32 @@ namespace GeoIp2\Record;
  * running on. If the system is behind a NAT, this may differ from the IP
  * address locally assigned to it. This attribute is returned by all end
  * points.
+ * @property-read bool $isAnonymous This is true if the IP address belongs to
+ * any sort of anonymous network. This property is only available from GeoIP2
+ * Precision Insights.
  * @property-read bool $isAnonymousProxy *Deprecated.* Please see our
  * {@link * https://www.maxmind.com/en/geoip2-anonymous-ip-database GeoIP2
  * Anonymous IP database} to determine whether the IP address is used by an
  * anonymizing service.
+ * @property-read bool $isAnonymousVpn This is true if the IP address belongs to
+ * an anonymous VPN system. This property is only available from GeoIP2
+ * Precision Insights.
+ * @property-read bool $isHostingProvider This is true if the IP address belongs
+ * to a hosting provider. This property is only available from GeoIP2
+ * Precision Insights.
  * @property-read bool $isLegitimateProxy This attribute is true if MaxMind
  * believes this IP address to be a legitimate proxy, such as an internal
  * VPN used by a corporation. This attribute is only available in the GeoIP2
  * Enterprise database.
+ * @property-read bool $isPublicProxy This is true if the IP address belongs to
+ * a public proxy. This property is only available from GeoIP2 Precision
+ * Insights.
  * @property-read bool $isSatelliteProvider *Deprecated.* Due to the
  * increased coverage by mobile carriers, very few satellite providers now
  * serve multiple countries. As a result, the output does not provide
  * sufficiently relevant data for us to maintain it.
+ * @property-read bool $isTorExitNode This is true if the IP address is a Tor
+ * exit node. This property is only available from GeoIP2 Precision Insights.
  * @property-read string|null $isp The name of the ISP associated with the IP
  * address. This attribute is only available from the City and Insights web
  * services and the GeoIP2 Enterprise database.
@@ -84,11 +98,16 @@ class Traits extends AbstractRecord
         'autonomousSystemOrganization',
         'connectionType',
         'domain',
+        'ipAddress',
+        'isAnonymous',
         'isAnonymousProxy',
+        'isAnonymousVpn',
+        'isHostingProvider',
         'isLegitimateProxy',
-        'isSatelliteProvider',
         'isp',
-        'ipAddress',
+        'isPublicProxy',
+        'isSatelliteProvider',
+        'isTorExitNode',
         'organization',
         'userType',
     ];
index fbc9a5f..1a1ccf1 100644 (file)
@@ -30,7 +30,7 @@ use MaxMind\WebService\Client as WsClient;
  * ## Usage ##
  *
  * The basic API for this class is the same for all of the web service end
- * points. First you create a web service object with your MaxMind `$userId`
+ * points. First you create a web service object with your MaxMind `$accountId`
  * and `$licenseKey`, then you call the method corresponding to a specific end
  * point, passing it the IP address you want to look up.
  *
@@ -47,12 +47,12 @@ class Client implements ProviderInterface
     private $client;
     private static $basePath = '/geoip/v2.1';
 
-    const VERSION = 'v2.6.0';
+    const VERSION = 'v2.9.0';
 
     /**
      * Constructor.
      *
-     * @param int    $userId     your MaxMind user ID
+     * @param int    $accountId  your MaxMind account ID
      * @param string $licenseKey your MaxMind license key
      * @param array  $locales    list of locale codes to use in name property
      *                           from most preferred to least preferred
@@ -65,7 +65,7 @@ class Client implements ProviderInterface
      *                           `http://username:password@127.0.0.1:10`.
      */
     public function __construct(
-        $userId,
+        $accountId,
         $licenseKey,
         $locales = ['en'],
         $options = []
@@ -84,7 +84,7 @@ class Client implements ProviderInterface
 
         $options['userAgent'] = $this->userAgent();
 
-        $this->client = new WsClient($userId, $licenseKey, $options);
+        $this->client = new WsClient($accountId, $licenseKey, $options);
     }
 
     private function userAgent()
@@ -102,7 +102,7 @@ class Client implements ProviderInterface
      * @throws \GeoIp2\Exception\AddressNotFoundException if the address you
      *                                                    provided is not in our database (e.g., a private address).
      * @throws \GeoIp2\Exception\AuthenticationException  if there is a problem
-     *                                                    with the user ID or license key that you provided
+     *                                                    with the account ID or license key that you provided
      * @throws \GeoIp2\Exception\OutOfQueriesException    if your account is out
      *                                                    of queries
      * @throws \GeoIp2\Exception\InvalidRequestException} if your request was received by the web service but is
@@ -133,7 +133,7 @@ class Client implements ProviderInterface
      * @throws \GeoIp2\Exception\AddressNotFoundException if the address you provided is not in our database (e.g.,
      *                                                    a private address).
      * @throws \GeoIp2\Exception\AuthenticationException  if there is a problem
-     *                                                    with the user ID or license key that you provided
+     *                                                    with the account ID or license key that you provided
      * @throws \GeoIp2\Exception\OutOfQueriesException    if your account is out of queries
      * @throws \GeoIp2\Exception\InvalidRequestException} if your request was received by the web service but is
      *                                                    invalid for some other reason.  This may indicate an
@@ -164,7 +164,7 @@ class Client implements ProviderInterface
      * @throws \GeoIp2\Exception\AddressNotFoundException if the address you
      *                                                    provided is not in our database (e.g., a private address).
      * @throws \GeoIp2\Exception\AuthenticationException  if there is a problem
-     *                                                    with the user ID or license key that you provided
+     *                                                    with the account ID or license key that you provided
      * @throws \GeoIp2\Exception\OutOfQueriesException    if your account is out
      *                                                    of queries
      * @throws \GeoIp2\Exception\InvalidRequestException} if your request was received by the web service but is