class City in Smart IP 7.2
Same name in this branch
- 7.2 includes/vendor/geoip2/geoip2/src/Model/City.php \GeoIp2\Model\City
- 7.2 includes/vendor/geoip2/geoip2/src/Record/City.php \GeoIp2\Record\City
Same name and namespace in other branches
- 6.2 includes/vendor/geoip2/geoip2/src/Model/City.php \GeoIp2\Model\City
Model class for the data returned by GeoIP2 City web service and database.
The only difference between the City and Insights model classes is which fields in each record may be populated. See http://dev.maxmind.com/geoip/geoip2/web-services more details.
@property \GeoIp2\Record\City $city City data for the requested IP address.
@property \GeoIp2\Record\Continent $continent Continent data for the requested IP address.
@property \GeoIp2\Record\Country $country Country data for the requested IP address. This object represents the country where MaxMind believes the end user is located.
@property \GeoIp2\Record\Location $location Location data for the requested IP address.
@property \GeoIp2\Record\Postal $postal Postal data for the requested IP address.
@property \GeoIp2\Record\MaxMind $maxmind Data related to your MaxMind account.
@property \GeoIp2\Record\Country $registeredCountry Registered country data for the requested IP address. This record represents the country where the ISP has registered a given IP block and may differ from the user's country.
@property \GeoIp2\Record\RepresentedCountry $representedCountry Represented country data for the requested IP address. The represented country is used for things like military bases. It is only present when the represented country differs from the country.
@property array $subdivisions An array of {@link \GeoIp2\Record\Subdivision} objects representing the country subdivisions for the requested IP address. The number and type of subdivisions varies by country, but a subdivision is typically a state, province, county, etc. Subdivisions are ordered from most general (largest) to most specific (smallest). If the response did not contain any subdivisions, this method returns an empty array.
@property \GeoIp2\Record\Subdivision $mostSpecificSubdivision An object representing the most specific subdivision returned. If the response did not contain any subdivisions, this method returns an empty {@link \GeoIp2\Record\Subdivision} object.
@property \GeoIp2\Record\Traits $traits Data for the traits of the requested IP address.
Hierarchy
- class \GeoIp2\Model\AbstractModel implements \GeoIp2\Compat\JsonSerializable
Expanded class hierarchy of City
7 string references to 'City'
- Client::city in includes/
vendor/ geoip2/ geoip2/ src/ WebService/ Client.php - This method calls the GeoIP2 Precision: City service.
- Reader::city in includes/
vendor/ geoip2/ geoip2/ src/ Database/ Reader.php - This method returns a GeoIP2 City model.
- SmartIPViewsBridgeTestHelper::setUp in modules/
smart_ip_views_bridge/ tests/ smart_ip_views_bridge.test - Sets up a Drupal site for running functional and integration tests.
- smart_ip_admin_settings in includes/
smart_ip.admin.inc - Smart IP administration settings.
- smart_ip_get_bin_source_filename in ./
smart_ip.module - Helper function for grabbing MaxMind GeoIP Legacy's binary archive filename.
File
- includes/
vendor/ geoip2/ geoip2/ src/ Model/ City.php, line 57
Namespace
GeoIp2\ModelView source
class City extends Country {
/**
* @ignore
*/
protected $city;
/**
* @ignore
*/
protected $location;
/**
* @ignore
*/
protected $postal;
/**
* @ignore
*/
protected $subdivisions = array();
/**
* @ignore
*/
public function __construct($raw, $locales = array(
'en',
)) {
parent::__construct($raw, $locales);
$this->city = new \GeoIp2\Record\City($this
->get('city'), $locales);
$this->location = new \GeoIp2\Record\Location($this
->get('location'));
$this->postal = new \GeoIp2\Record\Postal($this
->get('postal'));
$this
->createSubdivisions($raw, $locales);
}
private function createSubdivisions($raw, $locales) {
if (!isset($raw['subdivisions'])) {
return;
}
foreach ($raw['subdivisions'] as $sub) {
array_push($this->subdivisions, new \GeoIp2\Record\Subdivision($sub, $locales));
}
}
/**
* @ignore
*/
public function __get($attr) {
if ($attr == 'mostSpecificSubdivision') {
return $this
->{$attr}();
}
else {
return parent::__get($attr);
}
}
private function mostSpecificSubdivision() {
return empty($this->subdivisions) ? new \GeoIp2\Record\Subdivision(array(), $this->locales) : end($this->subdivisions);
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AbstractModel:: |
protected | property | ||
AbstractModel:: |
protected | function | @ignore | |
AbstractModel:: |
public | function | ||
AbstractModel:: |
public | function | @ignore | |
City:: |
protected | property | @ignore | |
City:: |
protected | property | @ignore | |
City:: |
protected | property | @ignore | |
City:: |
protected | property | @ignore | |
City:: |
private | function | ||
City:: |
private | function | ||
City:: |
public | function |
@ignore Overrides Country:: |
|
City:: |
public | function |
@ignore Overrides AbstractModel:: |
|
Country:: |
protected | property | ||
Country:: |
protected | property | ||
Country:: |
protected | property | ||
Country:: |
protected | property | ||
Country:: |
protected | property | ||
Country:: |
protected | property | ||
Country:: |
protected | property |