static $cli_opts = array();
var $id_mapping = array();
-
- var $mask_lenght = array(
- '100' => 268435456,
- '101' => 134217728,
- '102' => 67108864,
- '103' => 33554432,
- '104' => 16777216,
- '105' => 8388608,
- '106' => 4194304,
- '107' => 2097152,
- '108' => 1048576,
- '109' => 524288,
- '110' => 262144,
- '111' => 131072,
- '112' => 65536,
- '113' => 131072,
- '114' => 131072,
- '115' => 131072,
- '116' => 131072,
- '117' => 131072,
- '118' => 131072,
- '119' => 131072,
- '120' => 131072,
-
-
- );
-
+
function getAuth()
{
$ff = HTML_FlexyFramework::get();
$this->jerr('GeoLite2-City-Locations.csv OR GeoLite2-City-Blocks.csv does not exists?!');
}
-// $this->insertLocation($location);
+ $this->insertLocation($location);
$this->insertBlock($block);
}
$start_ip = array_pop(explode(":", $row['NETWORK_START_IP']));
$network_mapping->setFrom(array(
-
+ 'start_ip' => $start_ip,
+ 'mask_length' => pow(2, (128 - $row['NETWORK_MASK_LENGTH'])),
+ 'city_id' => $this->id_mapping[$row['GEONAME_ID']]
));
+ if(!$network_mapping->find(true)){
+ $network_mapping->insert();
+ }
+
+ $location = DB_DataObject::factory('core_geoip_location');
+ if(!$location->get('city_id', $network_mapping->city_id)){
+ $location->setFrom(array(
+ 'latitude' => $row['LATITUDE'],
+ 'longitude' => $row['LONGITUDE'],
+ 'city_id' => $network_mapping->city_id
+ ));
+ }
+
+
+ if(!empty($row['POSTAL_CODE'])){
+ $city = DB_DataObject::factory('core_geoip_city');
+ if($city->get($network_mapping->city_id)){
+ return;
+ }
+
+ $oc = clone($city);
+ $city->postal_code = $row['POSTAL_CODE'];
+
+ $city->update($oc);
+ }
+
}
-
-
function log($str)
{
echo "$str \n";