View source
<?php
namespace Drupal\smart_ip_ip2location_bin_db;
class Ip2locationBinDb {
const LINCENSED_VERSION = 'licensed';
const LITE_VERSION = 'lite';
const DEFAULT_EDITION = 'DB11';
const IPV4_VERSION = 4;
const IPV6_VERSION = 6;
const LINCENSED_DL_URL = 'https://www.ip2location.com/download';
const LITE_DL_URL = 'https://lite.ip2location.com/download';
const NO_CACHE = 'no_cache';
const MEMORY_CACHE = 'memory_cache';
const SHARED_MEMORY = 'shared_memory';
const DB_NO_ERROR = 0;
const DB_NOT_EXIST_ERROR = 1;
const DB_READ_ERROR = 2;
const DB_LOAD_ERROR = 3;
public static function products($version = self::LITE_VERSION, $edition = '') {
if ($version == self::LINCENSED_VERSION) {
$products = [
'DB1' => 'Country',
'DB2' => 'Country-ISP',
'DB3' => 'Country-Region-City',
'DB4' => 'Country-Region-City-ISP',
'DB5' => 'Country-Region-City-Latitude-Longitude',
'DB6' => 'Country-Region-City-Latitude-Longitude-ISP',
'DB7' => 'Country-Region-City-ISP-Domain',
'DB8' => 'Country-Region-City-Latitude-Longitude-ISP-Domain',
'DB9' => 'Country-Region-City-Latitude-Longitude-ZIPCode',
'DB10' => 'Country-Region-City-Latitude-Longitude-ZIPCode-ISP-Domain',
'DB11' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone',
'DB12' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-ISP-Domain',
'DB13' => 'Country-Region-City-Latitude-Longitude-TimeZone-NetSpeed',
'DB14' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-ISP-Domain-NetSpeed',
'DB15' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-AreaCode',
'DB16' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-ISP-Domain-NetSpeed-AreaCode',
'DB17' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-NetSpeed-Weather',
'DB18' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-ISP-Domain-NetSpeed-AreaCode-Weather',
'DB19' => 'Country-Region-City-Latitude-Longitude-ISP-Domain-Mobile',
'DB20' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-ISP-Domain-NetSpeed-AreaCode-Weather-Mobile',
'DB21' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-AreaCode-Elevation',
'DB22' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-ISP-Domain-NetSpeed-AreaCode-Weather-Mobile-Elevation',
'DB23' => 'Country-Region-City-Latitude-Longitude-ISP-Domain-Mobile-UsageType',
'DB24' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone-ISP-Domain-NetSpeed-AreaCode-Weather-Mobile-Elevation-UsageType',
];
}
else {
$products = [
'DB1' => 'Country',
'DB3' => 'Country-Region-City',
'DB5' => 'Country-Region-City-Latitude-Longitude',
'DB9' => 'Country-Region-City-Latitude-Longitude-ZIPCode',
'DB11' => 'Country-Region-City-Latitude-Longitude-ZIPCode-TimeZone',
];
}
if (!empty($edition)) {
return $products[$edition];
}
else {
return $products;
}
}
}