Comparer les révisions

...

17 Révisions

48 fichiers modifiés avec 702339 ajouts et 365998 suppressions

Voir le fichier

@ -3,7 +3,12 @@
This product includes GeoLite2 data created by MaxMind, available from
<a href="http://www.maxmind.com">http://www.maxmind.com</a>.
GeoIp-Data based on GeoLite2 Country by Maxmind (January 2018).
These database will be published under GPL3 by Maxmind. Please see www.maxmind.com for updates.
GeoIp-Data based on GeoLite2 Country by Maxmind (May 2022).
Database and Contents Copyright (c) 2022 MaxMind, Inc.
Use of this MaxMind product is governed by MaxMind's GeoLite2 End User License Agreement, which can be viewed at https://www.maxmind.com/en/geolite2/eula.
This database incorporates GeoNames [https://www.geonames.org] geographical data, which is made available under the Creative Commons Attribution 4.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/by/4.0/.
Maxmind offers more accuracy data for cash. More informations about this you'll find on www.maxmind.com.

Voir le fichier

@ -1,5 +1,35 @@
# Changelog
- 4.1.2.0
- verwendet Assertions für Bedingungsprüfung
- fehlerhaften Methodenaufruf korrigiert
- 4.1.1.0
- Support für OXID 6.5.2
- Logging erweitert
- 4.1.0.0
- Support für OXID 6.4 und 6.5
- Support für OXID < 6.3 entfernt
---
- 4.0.4.2
- updated geo ip data (May 2022)
---
- 4.0.4.1
- Support für OXID 6.3.1
---
- 4.0.4.0
- Modul erfordert keine Lizenzschlüssel mehr - Weiterentwicklung erfolgt ausschließlich durch Individualbeauftragung
---
- 4.0.3.0
- behält die Umleitungsverhinderung während der aktuellen Session auch ohne weitere Parameter bei

Voir le fichier

@ -28,6 +28,33 @@ Führen Sie den folgenden Befehl in Ihrer Shopinstallation aus:
composer remove d3/geoip --no-dev
```
## Changelog
Siehe [CHANGELOG](CHANGELOG.md) für weitere Informationen.
## Beitragen
Wenn Sie eine Verbesserungsvorschlag haben, legen Sie einen Fork des Repositories an und erstellen Sie einen Pull Request. Alternativ können Sie einfach ein Issue erstellen. Fügen Sie das Projekt zu Ihren Favoriten hinzu. Vielen Dank.
- Erstellen Sie einen Fork des Projekts
- Erstellen Sie einen Feature Branch (git checkout -b feature/AmazingFeature)
- Fügen Sie Ihre Änderungen hinzu (git commit -m 'Add some AmazingFeature')
- Übertragen Sie den Branch (git push origin feature/AmazingFeature)
- Öffnen Sie einen Pull Request
## Lizenz
(Stand: 06.05.2021)
Vertrieben unter der GPLv3 Lizenz.
```
Copyright (c) D3 Data Development (Inh. Thomas Dartsch)
Diese Software wird unter der GNU GENERAL PUBLIC LICENSE Version 3 vertrieben.
```
Die vollständigen Copyright- und Lizenzinformationen entnehmen Sie bitte der [LICENSE](LICENSE.md)-Datei, die mit diesem Quellcode verteilt wurde.
## Support
- D3 Data Development (Inh. Thomas Dartsch)

Voir le fichier

@ -36,8 +36,9 @@
}
},
"require": {
"oxid-esales/oxideshop-ce": "6.3 - 6.8",
"d3/modcfg": "^5.3.6.000 || ^6"
"oxid-esales/oxideshop-ce": "6.8 - 6.14",
"d3/modcfg": "^6",
"beberlei/assert": "^3.3"
},
"autoload": {
"psr-4": {

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Voir le fichier

@ -1,28 +0,0 @@
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('103.230.141.0/24', '103.230.141.0', '103.230.141.255', 0x30303030303031373433313632363234, 0x30303030303031373433313632383739, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('178.17.162.168/29', '178.17.162.168', '178.17.162.175', 0x30303030303032393837353030323030, 0x30303030303032393837353030323037, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('185.121.177.0/24', '185.121.177.0', '185.121.177.255', 0x30303030303033313131373630313238, 0x30303030303033313131373630333833, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('202.144.196.0/24', '202.144.196.0', '202.144.196.255', 0x30303030303033333938343834393932, 0x30303030303033333938343835323437, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('202.144.199.0/24', '202.144.199.0', '202.144.199.255', 0x30303030303033333938343835373630, 0x30303030303033333938343836303135, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('204.120.204.0/24', '204.120.204.0', '204.120.204.255', 0x30303030303033343330343638363038, 0x30303030303033343330343638383633, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('31.220.29.192/27', '31.220.29.192', '31.220.29.223', 0x30303030303030353334353139323332, 0x30303030303030353334353139323633, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('2a05:dfc7:5353::/48', '2a05:dfc7:5353::', '2a05:dfc7:5353:ffff:ffff:ffff:ffff:ffff', 0x2A05DFC7535300000000000000000000, 0x2A05DFC75353FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('2a05:dfc7:5::/48', '2a05:dfc7:5::', '2a05:dfc7:5:ffff:ffff:ffff:ffff:ffff', 0x2A05DFC7000500000000000000000000, 0x2A05DFC70005FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('2a05:dfc7:beef::/48', '2a05:dfc7:beef::', '2a05:dfc7:beef:ffff:ffff:ffff:ffff:ffff', 0x2A05DFC7BEEF00000000000000000000, 0x2A05DFC7BEEFFFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('103.55.47.27/32', '103.55.47.27', '103.55.47.27', 0x30303030303031373331363639373837, 0x30303030303031373331363639373837, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('104.224.44.0/24', '104.224.44.0', '104.224.44.255', 0x30303030303031373539353231373932, 0x30303030303031373539353232303437, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('154.65.48.0/24', '154.65.48.0', '154.65.48.255', 0x30303030303032353837393633333932, 0x30303030303032353837393633363437, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('172.111.161.47/32', '172.111.161.47', '172.111.161.47', 0x30303030303032383932393936393131, 0x30303030303032383932393936393131, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.201.246/31', '46.36.201.246', '46.36.201.247', 0x30303030303030373734313632393334, 0x30303030303030373734313632393335, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.201.248/31', '46.36.201.248', '46.36.201.249', 0x30303030303030373734313632393336, 0x30303030303030373734313632393337, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.201.250/32', '46.36.201.250', '46.36.201.250', 0x30303030303030373734313632393338, 0x30303030303030373734313632393338, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('45.59.160.0/24', '45.59.160.0', '45.59.160.255', 0x30303030303030373538383832333034, 0x30303030303030373538383832353539, 'HM', 'Heard Island and McDonald Islands', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('104.224.58.0/24', '104.224.58.0', '104.224.58.255', 0x30303030303031373539353235333736, 0x30303030303031373539353235363331, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('108.61.208.232/32', '108.61.208.232', '108.61.208.232', 0x30303030303031383135393930353034, 0x30303030303031383135393930353034, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('45.32.150.252/32', '45.32.150.252', '45.32.150.252', 0x30303030303030373537313130353234, 0x30303030303030373537313130353234, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('45.59.175.0/24', '45.59.175.0', '45.59.175.255', 0x30303030303030373538383836313434, 0x30303030303030373538383836333939, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('45.76.44.196/32', '45.76.44.196', '45.76.44.196', 0x30303030303030373539393636393136, 0x30303030303030373539393636393136, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.200.101/32', '46.36.200.101', '46.36.200.101', 0x30303030303030373734313632353333, 0x30303030303030373734313632353333, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.200.102/31', '46.36.200.102', '46.36.200.103', 0x30303030303030373734313632353334, 0x30303030303030373734313632353335, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.200.104/30', '46.36.200.104', '46.36.200.107', 0x30303030303030373734313632353336, 0x30303030303030373734313632353339, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.200.108/31', '46.36.200.108', '46.36.200.109', 0x30303030303030373734313632353430, 0x30303030303030373734313632353431, 'TF', 'French Southern Territories', 'AN');
INSERT INTO `d3geoip` (`D3IP`, `D3STARTIP`, `D3ENDIP`, `D3STARTIPBIN`, `D3ENDIPBIN`, `D3ISO`, `D3COUNTRYNAME`, `D3CONTINENTCODE`) VALUES ('46.36.200.110/32', '46.36.200.110', '46.36.200.110', 0x30303030303030373734313632353432, 0x30303030303030373734313632353432, 'TF', 'French Southern Territories', 'AN');

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Voir le fichier

@ -0,0 +1,150 @@
insert into d3geoip (D3IP, D3STARTIP, D3ENDIP, D3STARTIPBIN, D3ENDIPBIN, D3ISO, D3COUNTRYNAME, D3CONTINENTCODE)
values ('104.28.123.20/32', '104.28.123.20', '104.28.123.20', 0x30303030303031373436363936393830, 0x30303030303031373436363936393830, 'AQ', 'Antarctica', 'AN'),
('104.28.212.152/31', '104.28.212.152', '104.28.212.153', 0x30303030303031373436373139383936, 0x30303030303031373436373139383937, 'AQ', 'Antarctica', 'AN'),
('104.28.22.115/32', '104.28.22.115', '104.28.22.115', 0x30303030303031373436363731323139, 0x30303030303031373436363731323139, 'AQ', 'Antarctica', 'AN'),
('104.28.22.116/32', '104.28.22.116', '104.28.22.116', 0x30303030303031373436363731323230, 0x30303030303031373436363731323230, 'AQ', 'Antarctica', 'AN'),
('104.28.22.117/32', '104.28.22.117', '104.28.22.117', 0x30303030303031373436363731323231, 0x30303030303031373436363731323231, 'BV', 'Bouvet Island', 'AN'),
('104.28.22.118/32', '104.28.22.118', '104.28.22.118', 0x30303030303031373436363731323232, 0x30303030303031373436363731323232, 'BV', 'Bouvet Island', 'AN'),
('104.28.22.119/32', '104.28.22.119', '104.28.22.119', 0x30303030303031373436363731323233, 0x30303030303031373436363731323233, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('104.28.22.120/32', '104.28.22.120', '104.28.22.120', 0x30303030303031373436363731323234, 0x30303030303031373436363731323234, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('104.28.22.121/32', '104.28.22.121', '104.28.22.121', 0x30303030303031373436363731323235, 0x30303030303031373436363731323235, 'TF', 'French Southern Territories', 'AN'),
('104.28.22.122/32', '104.28.22.122', '104.28.22.122', 0x30303030303031373436363731323236, 0x30303030303031373436363731323236, 'TF', 'French Southern Territories', 'AN'),
('104.28.22.123/32', '104.28.22.123', '104.28.22.123', 0x30303030303031373436363731323237, 0x30303030303031373436363731323237, 'HM', 'Heard and McDonald Islands', 'AN'),
('104.28.22.124/32', '104.28.22.124', '104.28.22.124', 0x30303030303031373436363731323238, 0x30303030303031373436363731323238, 'HM', 'Heard and McDonald Islands', 'AN'),
('104.28.244.152/31', '104.28.244.152', '104.28.244.153', 0x30303030303031373436373238303838, 0x30303030303031373436373238303839, 'AQ', 'Antarctica', 'AN'),
('104.28.92.69/32', '104.28.92.69', '104.28.92.69', 0x30303030303031373436363839303933, 0x30303030303031373436363839303933, 'AQ', 'Antarctica', 'AN'),
('108.61.208.232/32', '108.61.208.232', '108.61.208.232', 0x30303030303031383135393930353034, 0x30303030303031383135393930353034, 'TF', 'French Southern Territories', 'AN'),
('128.90.30.0/32', '128.90.30.0', '128.90.30.0', 0x30303030303032313533333839353638, 0x30303030303032313533333839353638, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('136.23.1.142/32', '136.23.1.142', '136.23.1.142', 0x30303030303032323833323039313032, 0x30303030303032323833323039313032, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('136.23.1.174/32', '136.23.1.174', '136.23.1.174', 0x30303030303032323833323039313334, 0x30303030303032323833323039313334, 'TF', 'French Southern Territories', 'AN'),
('136.23.1.240/32', '136.23.1.240', '136.23.1.240', 0x30303030303032323833323039323030, 0x30303030303032323833323039323030, 'BV', 'Bouvet Island', 'AN'),
('136.23.10.200/32', '136.23.10.200', '136.23.10.200', 0x30303030303032323833323131343634, 0x30303030303032323833323131343634, 'HM', 'Heard and McDonald Islands', 'AN'),
('136.23.11.195/32', '136.23.11.195', '136.23.11.195', 0x30303030303032323833323131373135, 0x30303030303032323833323131373135, 'AQ', 'Antarctica', 'AN'),
('136.23.20.49/32', '136.23.20.49', '136.23.20.49', 0x30303030303032323833323133383733, 0x30303030303032323833323133383733, 'TF', 'French Southern Territories', 'AN'),
('136.23.20.50/32', '136.23.20.50', '136.23.20.50', 0x30303030303032323833323133383734, 0x30303030303032323833323133383734, 'BV', 'Bouvet Island', 'AN'),
('136.23.21.42/32', '136.23.21.42', '136.23.21.42', 0x30303030303032323833323134313232, 0x30303030303032323833323134313232, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('136.23.21.44/32', '136.23.21.44', '136.23.21.44', 0x30303030303032323833323134313234, 0x30303030303032323833323134313234, 'HM', 'Heard and McDonald Islands', 'AN'),
('136.23.3.227/32', '136.23.3.227', '136.23.3.227', 0x30303030303032323833323039363939, 0x30303030303032323833323039363939, 'AQ', 'Antarctica', 'AN'),
('136.23.32.1/32', '136.23.32.1', '136.23.32.1', 0x30303030303032323833323136383937, 0x30303030303032323833323136383937, 'TF', 'French Southern Territories', 'AN'),
('136.23.32.3/32', '136.23.32.3', '136.23.32.3', 0x30303030303032323833323136383939, 0x30303030303032323833323136383939, 'BV', 'Bouvet Island', 'AN'),
('136.23.6.121/32', '136.23.6.121', '136.23.6.121', 0x30303030303032323833323130333631, 0x30303030303032323833323130333631, 'TF', 'French Southern Territories', 'AN'),
('136.23.6.122/32', '136.23.6.122', '136.23.6.122', 0x30303030303032323833323130333632, 0x30303030303032323833323130333632, 'BV', 'Bouvet Island', 'AN'),
('140.248.0.2/31', '140.248.0.2', '140.248.0.3', 0x30303030303032333635303633313730, 0x30303030303032333635303633313731, 'AQ', 'Antarctica', 'AN'),
('140.248.24.0/31', '140.248.24.0', '140.248.24.1', 0x30303030303032333635303639333132, 0x30303030303032333635303639333133, 'AQ', 'Antarctica', 'AN'),
('146.19.102.0/24', '146.19.102.0', '146.19.102.255', 0x30303030303032343530373434383332, 0x30303030303032343530373435303837, 'AQ', 'Antarctica', 'AN'),
('146.75.164.2/31', '146.75.164.2', '146.75.164.3', 0x30303030303032343534343330373232, 0x30303030303032343534343330373233, 'AQ', 'Antarctica', 'AN'),
('146.75.179.0/31', '146.75.179.0', '146.75.179.1', 0x30303030303032343534343334353630, 0x30303030303032343534343334353631, 'AQ', 'Antarctica', 'AN'),
('146.75.181.2/31', '146.75.181.2', '146.75.181.3', 0x30303030303032343534343335303734, 0x30303030303032343534343335303735, 'AQ', 'Antarctica', 'AN'),
('147.66.1.0/24', '147.66.1.0', '147.66.1.255', 0x30303030303032343730353736333834, 0x30303030303032343730353736363339, 'AQ', 'Antarctica', 'AN'),
('147.66.3.0/24', '147.66.3.0', '147.66.3.255', 0x30303030303032343730353736383936, 0x30303030303032343730353737313531, 'AQ', 'Antarctica', 'AN'),
('147.66.4.0/23', '147.66.4.0', '147.66.5.255', 0x30303030303032343730353737313532, 0x30303030303032343730353737363633, 'HM', 'Heard and McDonald Islands', 'AN'),
('147.66.6.0/24', '147.66.6.0', '147.66.6.255', 0x30303030303032343730353737363634, 0x30303030303032343730353737393139, 'HM', 'Heard and McDonald Islands', 'AN'),
('149.202.66.93/32', '149.202.66.93', '149.202.66.93', 0x30303030303032353133303630343435, 0x30303030303032353133303630343435, 'AQ', 'Antarctica', 'AN'),
('154.120.133.184/29', '154.120.133.184', '154.120.133.191', 0x30303030303032353931353839383136, 0x30303030303032353931353839383233, 'TF', 'French Southern Territories', 'AN'),
('154.120.133.192/29', '154.120.133.192', '154.120.133.199', 0x30303030303032353931353839383234, 0x30303030303032353931353839383331, 'TF', 'French Southern Territories', 'AN'),
('154.30.31.0/26', '154.30.31.0', '154.30.31.63', 0x30303030303032353835363635323830, 0x30303030303032353835363635333433, 'AQ', 'Antarctica', 'AN'),
('154.65.48.0/24', '154.65.48.0', '154.65.48.255', 0x30303030303032353837393633333932, 0x30303030303032353837393633363437, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('172.111.161.47/32', '172.111.161.47', '172.111.161.47', 0x30303030303032383932393936393131, 0x30303030303032383932393936393131, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('172.225.106.0/28', '172.225.106.0', '172.225.106.15', 0x30303030303032393030343533383838, 0x30303030303032393030343533393033, 'AQ', 'Antarctica', 'AN'),
('172.225.222.0/28', '172.225.222.0', '172.225.222.15', 0x30303030303032393030343833353834, 0x30303030303032393030343833353939, 'AQ', 'Antarctica', 'AN'),
('172.225.84.0/28', '172.225.84.0', '172.225.84.15', 0x30303030303032393030343438323536, 0x30303030303032393030343438323731, 'AQ', 'Antarctica', 'AN'),
('172.94.114.26/32', '172.94.114.26', '172.94.114.26', 0x30303030303032383931383730373436, 0x30303030303032383931383730373436, 'BV', 'Bouvet Island', 'AN'),
('172.94.114.71/32', '172.94.114.71', '172.94.114.71', 0x30303030303032383931383730373931, 0x30303030303032383931383730373931, 'BV', 'Bouvet Island', 'AN'),
('178.17.162.168/29', '178.17.162.168', '178.17.162.175', 0x30303030303032393837353030323030, 0x30303030303032393837353030323037, 'AQ', 'Antarctica', 'AN'),
('185.121.177.0/24', '185.121.177.0', '185.121.177.255', 0x30303030303033313131373630313238, 0x30303030303033313131373630333833, 'AQ', 'Antarctica', 'AN'),
('185.192.58.0/24', '185.192.58.0', '185.192.58.255', 0x30303030303033313136333832373230, 0x30303030303033313136333832393735, 'AQ', 'Antarctica', 'AN'),
('185.193.124.0/24', '185.193.124.0', '185.193.124.255', 0x30303030303033313136343635313532, 0x30303030303033313136343635343037, 'BV', 'Bouvet Island', 'AN'),
('185.242.226.88/30', '185.242.226.88', '185.242.226.91', 0x30303030303033313139373032363136, 0x30303030303033313139373032363139, 'AQ', 'Antarctica', 'AN'),
('193.163.85.0/24', '193.163.85.0', '193.163.85.255', 0x30303030303033323438373036383136, 0x30303030303033323438373037303731, 'AQ', 'Antarctica', 'AN'),
('194.50.111.217/32', '194.50.111.217', '194.50.111.217', 0x30303030303033323538303835333337, 0x30303030303033323538303835333337, 'TF', 'French Southern Territories', 'AN'),
('194.50.111.34/32', '194.50.111.34', '194.50.111.34', 0x30303030303033323538303835313534, 0x30303030303033323538303835313534, 'BV', 'Bouvet Island', 'AN'),
('194.50.111.9/32', '194.50.111.9', '194.50.111.9', 0x30303030303033323538303835313239, 0x30303030303033323538303835313239, 'AQ', 'Antarctica', 'AN'),
('194.50.111.91/32', '194.50.111.91', '194.50.111.91', 0x30303030303033323538303835323131, 0x30303030303033323538303835323131, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('194.50.111.97/32', '194.50.111.97', '194.50.111.97', 0x30303030303033323538303835323137, 0x30303030303033323538303835323137, 'HM', 'Heard and McDonald Islands', 'AN'),
('194.50.99.217/32', '194.50.99.217', '194.50.99.217', 0x30303030303033323538303832323635, 0x30303030303033323538303832323635, 'TF', 'French Southern Territories', 'AN'),
('194.50.99.251/32', '194.50.99.251', '194.50.99.251', 0x30303030303033323538303832323939, 0x30303030303033323538303832323939, 'AQ', 'Antarctica', 'AN'),
('194.50.99.252/32', '194.50.99.252', '194.50.99.252', 0x30303030303033323538303832333030, 0x30303030303033323538303832333030, 'AQ', 'Antarctica', 'AN'),
('194.50.99.34/32', '194.50.99.34', '194.50.99.34', 0x30303030303033323538303832303832, 0x30303030303033323538303832303832, 'BV', 'Bouvet Island', 'AN'),
('194.50.99.9/32', '194.50.99.9', '194.50.99.9', 0x30303030303033323538303832303537, 0x30303030303033323538303832303537, 'AQ', 'Antarctica', 'AN'),
('194.50.99.91/32', '194.50.99.91', '194.50.99.91', 0x30303030303033323538303832313339, 0x30303030303033323538303832313339, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('194.50.99.97/32', '194.50.99.97', '194.50.99.97', 0x30303030303033323538303832313435, 0x30303030303033323538303832313435, 'HM', 'Heard and McDonald Islands', 'AN'),
('195.181.215.206/32', '195.181.215.206', '195.181.215.206', 0x30303030303033323833343734333832, 0x30303030303033323833343734333832, 'BV', 'Bouvet Island', 'AN'),
('2001:41d0:d:265d::/64', '2001:41d0:d:265d::', '2001:41d0:d:265d:ffff:ffff:ffff:ffff', 0x200141D0000D265D0000000000000000, 0x200141D0000D265DFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('202.144.198.0/24', '202.144.198.0', '202.144.198.255', 0x30303030303033333938343835353034, 0x30303030303033333938343835373539, 'AQ', 'Antarctica', 'AN'),
('209.242.220.0/24', '209.242.220.0', '209.242.220.255', 0x30303030303033353232333534313736, 0x30303030303033353232333534343331, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('2405:b500:600::/64', '2405:b500:600::', '2405:b500:600::ffff:ffff:ffff:ffff', 0x2405B500060000000000000000000000, 0x2405B50006000000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2405:b500:620::/64', '2405:b500:620::', '2405:b500:620::ffff:ffff:ffff:ffff', 0x2405B500062000000000000000000000, 0x2405B50006200000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2405:b500:640::/64', '2405:b500:640::', '2405:b500:640::ffff:ffff:ffff:ffff', 0x2405B500064000000000000000000000, 0x2405B50006400000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2405:b500:660::/64', '2405:b500:660::', '2405:b500:660::ffff:ffff:ffff:ffff', 0x2405B500066000000000000000000000, 0x2405B50006600000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2606:40:1020::/44', '2606:40:1020::', '2606:40:102f:ffff:ffff:ffff:ffff:ffff', 0x26060040102000000000000000000000, 0x26060040102FFFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2606:40:1260::/43', '2606:40:1260::', '2606:40:127f:ffff:ffff:ffff:ffff:ffff', 0x26060040126000000000000000000000, 0x26060040127FFFFFFFFFFFFFFFFFFFFF, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('2606:40:1730::/44', '2606:40:1730::', '2606:40:173f:ffff:ffff:ffff:ffff:ffff', 0x26060040173000000000000000000000, 0x26060040173FFFFFFFFFFFFFFFFFFFFF, 'TF', 'French Southern Territories', 'AN'),
('2606:40:1740::/44', '2606:40:1740::', '2606:40:174f:ffff:ffff:ffff:ffff:ffff', 0x26060040174000000000000000000000, 0x26060040174FFFFFFFFFFFFFFFFFFFFF, 'TF', 'French Southern Territories', 'AN'),
('2606:40:1750::/44', '2606:40:1750::', '2606:40:175f:ffff:ffff:ffff:ffff:ffff', 0x26060040175000000000000000000000, 0x26060040175FFFFFFFFFFFFFFFFFFFFF, 'HM', 'Heard and McDonald Islands', 'AN'),
('2606:40:1760::/44', '2606:40:1760::', '2606:40:176f:ffff:ffff:ffff:ffff:ffff', 0x26060040176000000000000000000000, 0x26060040176FFFFFFFFFFFFFFFFFFFFF, 'HM', 'Heard and McDonald Islands', 'AN'),
('2606:40:17d0::/44', '2606:40:17d0::', '2606:40:17df:ffff:ffff:ffff:ffff:ffff', 0x2606004017D000000000000000000000, 0x2606004017DFFFFFFFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2606:40:17e0::/44', '2606:40:17e0::', '2606:40:17ef:ffff:ffff:ffff:ffff:ffff', 0x2606004017E000000000000000000000, 0x2606004017EFFFFFFFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2606:40:1ad0::/44', '2606:40:1ad0::', '2606:40:1adf:ffff:ffff:ffff:ffff:ffff', 0x260600401AD000000000000000000000, 0x260600401ADFFFFFFFFFFFFFFFFFFFFF, 'TF', 'French Southern Territories', 'AN'),
('2606:40:1ae0::/44', '2606:40:1ae0::', '2606:40:1aef:ffff:ffff:ffff:ffff:ffff', 0x260600401AE000000000000000000000, 0x260600401AEFFFFFFFFFFFFFFFFFFFFF, 'TF', 'French Southern Territories', 'AN'),
('2606:40:1af0::/44', '2606:40:1af0::', '2606:40:1aff:ffff:ffff:ffff:ffff:ffff', 0x260600401AF000000000000000000000, 0x260600401AFFFFFFFFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2606:40:1b00::/44', '2606:40:1b00::', '2606:40:1b0f:ffff:ffff:ffff:ffff:ffff', 0x260600401B0000000000000000000000, 0x260600401B0FFFFFFFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2606:40:6bc::/46', '2606:40:6bc::', '2606:40:6bf:ffff:ffff:ffff:ffff:ffff', 0x2606004006BC00000000000000000000, 0x2606004006BFFFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2606:40:6c8::/46', '2606:40:6c8::', '2606:40:6cb:ffff:ffff:ffff:ffff:ffff', 0x2606004006C800000000000000000000, 0x2606004006CBFFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2606:54c0:600::/64', '2606:54c0:600::', '2606:54c0:600::ffff:ffff:ffff:ffff', 0x260654C0060000000000000000000000, 0x260654C006000000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2606:54c0:620::/64', '2606:54c0:620::', '2606:54c0:620::ffff:ffff:ffff:ffff', 0x260654C0062000000000000000000000, 0x260654C006200000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2606:54c0:640::/64', '2606:54c0:640::', '2606:54c0:640::ffff:ffff:ffff:ffff', 0x260654C0064000000000000000000000, 0x260654C006400000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2606:54c0:660::/64', '2606:54c0:660::', '2606:54c0:660::ffff:ffff:ffff:ffff', 0x260654C0066000000000000000000000, 0x260654C006600000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a01:4f8:151:227::/64', '2a01:4f8:151:227::', '2a01:4f8:151:227:ffff:ffff:ffff:ffff', 0x2A0104F8015102270000000000000000, 0x2A0104F801510227FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a01:4f8:1c0c:405a::/64', '2a01:4f8:1c0c:405a::', '2a01:4f8:1c0c:405a:ffff:ffff:ffff:ffff', 0x2A0104F81C0C405A0000000000000000, 0x2A0104F81C0C405AFFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2a02:26f7:d9c0::/42', '2a02:26f7:d9c0::', '2a02:26f7:d9ff:ffff:ffff:ffff:ffff:ffff', 0x2A0226F7D9C000000000000000000000, 0x2A0226F7D9FFFFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a04:4e41:11:1::/64', '2a04:4e41:11:1::', '2a04:4e41:11:1:ffff:ffff:ffff:ffff', 0x2A044E41001100010000000000000000, 0x2A044E4100110001FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a04:4e41:1f::/64', '2a04:4e41:1f::', '2a04:4e41:1f::ffff:ffff:ffff:ffff', 0x2A044E41001F00000000000000000000, 0x2A044E41001F0000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a04:4e41:21:1::/64', '2a04:4e41:21:1::', '2a04:4e41:21:1:ffff:ffff:ffff:ffff', 0x2A044E41002100010000000000000000, 0x2A044E4100210001FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a04:4e41:50:1::/64', '2a04:4e41:50:1::', '2a04:4e41:50:1:ffff:ffff:ffff:ffff', 0x2A044E41005000010000000000000000, 0x2A044E4100500001FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a04:4e41:5d::/64', '2a04:4e41:5d::', '2a04:4e41:5d::ffff:ffff:ffff:ffff', 0x2A044E41005D00000000000000000000, 0x2A044E41005D0000FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a05:dfc7:5353::/48', '2a05:dfc7:5353::', '2a05:dfc7:5353:ffff:ffff:ffff:ffff:ffff', 0x2A05DFC7535300000000000000000000, 0x2A05DFC75353FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a05:dfc7:5::/48', '2a05:dfc7:5::', '2a05:dfc7:5:ffff:ffff:ffff:ffff:ffff', 0x2A05DFC7000500000000000000000000, 0x2A05DFC70005FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a05:dfc7:beef::/48', '2a05:dfc7:beef::', '2a05:dfc7:beef:ffff:ffff:ffff:ffff:ffff', 0x2A05DFC7BEEF00000000000000000000, 0x2A05DFC7BEEFFFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a09:4c0:0:22::/64', '2a09:4c0:0:22::', '2a09:4c0::22:ffff:ffff:ffff:ffff', 0x2A0904C0000000220000000000000000, 0x2A0904C000000022FFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2a09:4c0:0:5b::/64', '2a09:4c0:0:5b::', '2a09:4c0::5b:ffff:ffff:ffff:ffff', 0x2A0904C00000005B0000000000000000, 0x2A0904C00000005BFFFFFFFFFFFFFFFF, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('2a09:4c0:0:61::/64', '2a09:4c0:0:61::', '2a09:4c0::61:ffff:ffff:ffff:ffff', 0x2A0904C0000000610000000000000000, 0x2A0904C000000061FFFFFFFFFFFFFFFF, 'HM', 'Heard and McDonald Islands', 'AN'),
('2a09:4c0:0:9::/64', '2a09:4c0:0:9::', '2a09:4c0::9:ffff:ffff:ffff:ffff', 0x2A0904C0000000090000000000000000, 0x2A0904C000000009FFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a09:4c0:0:d9::/64', '2a09:4c0:0:d9::', '2a09:4c0::d9:ffff:ffff:ffff:ffff', 0x2A0904C0000000D90000000000000000, 0x2A0904C0000000D9FFFFFFFFFFFFFFFF, 'TF', 'French Southern Territories', 'AN'),
('2a0c:3b80:4151::/48', '2a0c:3b80:4151::', '2a0c:3b80:4151:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80415100000000000000000000, 0x2A0C3B804151FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a0c:3b80:4256::/48', '2a0c:3b80:4256::', '2a0c:3b80:4256:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80425600000000000000000000, 0x2A0C3B804256FFFFFFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2a0c:3b80:4753::/48', '2a0c:3b80:4753::', '2a0c:3b80:4753:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80475300000000000000000000, 0x2A0C3B804753FFFFFFFFFFFFFFFFFFFF, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('2a0c:3b80:484d::/48', '2a0c:3b80:484d::', '2a0c:3b80:484d:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80484D00000000000000000000, 0x2A0C3B80484DFFFFFFFFFFFFFFFFFFFF, 'HM', 'Heard and McDonald Islands', 'AN'),
('2a0c:3b80:5446::/48', '2a0c:3b80:5446::', '2a0c:3b80:5446:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80544600000000000000000000, 0x2A0C3B805446FFFFFFFFFFFFFFFFFFFF, 'TF', 'French Southern Territories', 'AN'),
('2a0c:3b80:6171::/48', '2a0c:3b80:6171::', '2a0c:3b80:6171:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80617100000000000000000000, 0x2A0C3B806171FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a0c:3b80:6276::/48', '2a0c:3b80:6276::', '2a0c:3b80:6276:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80627600000000000000000000, 0x2A0C3B806276FFFFFFFFFFFFFFFFFFFF, 'BV', 'Bouvet Island', 'AN'),
('2a0c:3b80:6773::/48', '2a0c:3b80:6773::', '2a0c:3b80:6773:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80677300000000000000000000, 0x2A0C3B806773FFFFFFFFFFFFFFFFFFFF, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('2a0c:3b80:686d::/48', '2a0c:3b80:686d::', '2a0c:3b80:686d:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80686D00000000000000000000, 0x2A0C3B80686DFFFFFFFFFFFFFFFFFFFF, 'HM', 'Heard and McDonald Islands', 'AN'),
('2a0c:3b80:7466::/48', '2a0c:3b80:7466::', '2a0c:3b80:7466:ffff:ffff:ffff:ffff:ffff', 0x2A0C3B80746600000000000000000000, 0x2A0C3B807466FFFFFFFFFFFFFFFFFFFF, 'TF', 'French Southern Territories', 'AN'),
('2a0d:1a47:672::/48', '2a0d:1a47:672::', '2a0d:1a47:672:ffff:ffff:ffff:ffff:ffff', 0x2A0D1A47067200000000000000000000, 0x2A0D1A470672FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a0d:2406:e1e::/48', '2a0d:2406:e1e::', '2a0d:2406:e1e:ffff:ffff:ffff:ffff:ffff', 0x2A0D24060E1E00000000000000000000, 0x2A0D24060E1EFFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('2a0e:b107:198::/48', '2a0e:b107:198::', '2a0e:b107:198:ffff:ffff:ffff:ffff:ffff', 0x2A0EB107019800000000000000000000, 0x2A0EB1070198FFFFFFFFFFFFFFFFFFFF, 'AQ', 'Antarctica', 'AN'),
('31.28.161.170/32', '31.28.161.170', '31.28.161.170', 0x30303030303030353231393730303930, 0x30303030303030353231393730303930, 'BV', 'Bouvet Island', 'AN'),
('45.12.70.217/32', '45.12.70.217', '45.12.70.217', 0x30303030303030373535373739323839, 0x30303030303030373535373739323839, 'TF', 'French Southern Territories', 'AN'),
('45.12.70.34/32', '45.12.70.34', '45.12.70.34', 0x30303030303030373535373739313036, 0x30303030303030373535373739313036, 'BV', 'Bouvet Island', 'AN'),
('45.12.70.9/32', '45.12.70.9', '45.12.70.9', 0x30303030303030373535373739303831, 0x30303030303030373535373739303831, 'AQ', 'Antarctica', 'AN'),
('45.12.70.91/32', '45.12.70.91', '45.12.70.91', 0x30303030303030373535373739313633, 0x30303030303030373535373739313633, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('45.12.70.97/32', '45.12.70.97', '45.12.70.97', 0x30303030303030373535373739313639, 0x30303030303030373535373739313639, 'HM', 'Heard and McDonald Islands', 'AN'),
('45.12.71.217/32', '45.12.71.217', '45.12.71.217', 0x30303030303030373535373739353435, 0x30303030303030373535373739353435, 'TF', 'French Southern Territories', 'AN'),
('45.12.71.34/32', '45.12.71.34', '45.12.71.34', 0x30303030303030373535373739333632, 0x30303030303030373535373739333632, 'BV', 'Bouvet Island', 'AN'),
('45.12.71.9/32', '45.12.71.9', '45.12.71.9', 0x30303030303030373535373739333337, 0x30303030303030373535373739333337, 'AQ', 'Antarctica', 'AN'),
('45.12.71.91/32', '45.12.71.91', '45.12.71.91', 0x30303030303030373535373739343139, 0x30303030303030373535373739343139, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('45.12.71.97/32', '45.12.71.97', '45.12.71.97', 0x30303030303030373535373739343235, 0x30303030303030373535373739343235, 'HM', 'Heard and McDonald Islands', 'AN'),
('45.32.150.252/32', '45.32.150.252', '45.32.150.252', 0x30303030303030373537313130353234, 0x30303030303030373537313130353234, 'TF', 'French Southern Territories', 'AN'),
('45.76.44.196/32', '45.76.44.196', '45.76.44.196', 0x30303030303030373539393636393136, 0x30303030303030373539393636393136, 'TF', 'French Southern Territories', 'AN'),
('46.243.208.15/32', '46.243.208.15', '46.243.208.15', 0x30303030303030373837373330343437, 0x30303030303030373837373330343437, 'TF', 'French Southern Territories', 'AN'),
('46.36.200.101/32', '46.36.200.101', '46.36.200.101', 0x30303030303030373734313632353333, 0x30303030303030373734313632353333, 'TF', 'French Southern Territories', 'AN'),
('46.36.200.102/31', '46.36.200.102', '46.36.200.103', 0x30303030303030373734313632353334, 0x30303030303030373734313632353335, 'TF', 'French Southern Territories', 'AN'),
('46.36.200.104/30', '46.36.200.104', '46.36.200.107', 0x30303030303030373734313632353336, 0x30303030303030373734313632353339, 'TF', 'French Southern Territories', 'AN'),
('46.36.200.108/31', '46.36.200.108', '46.36.200.109', 0x30303030303030373734313632353430, 0x30303030303030373734313632353431, 'TF', 'French Southern Territories', 'AN'),
('46.36.200.110/32', '46.36.200.110', '46.36.200.110', 0x30303030303030373734313632353432, 0x30303030303030373734313632353432, 'TF', 'French Southern Territories', 'AN'),
('46.36.201.246/31', '46.36.201.246', '46.36.201.247', 0x30303030303030373734313632393334, 0x30303030303030373734313632393335, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('46.36.201.248/31', '46.36.201.248', '46.36.201.249', 0x30303030303030373734313632393336, 0x30303030303030373734313632393337, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('46.36.201.250/32', '46.36.201.250', '46.36.201.250', 0x30303030303030373734313632393338, 0x30303030303030373734313632393338, 'GS', 'South Georgia and the South Sandwich Islands', 'AN'),
('79.110.169.137/32', '79.110.169.137', '79.110.169.137', 0x30303030303031333332363532343235, 0x30303030303031333332363532343235, 'AQ', 'Antarctica', 'AN'),
('89.46.222.152/32', '89.46.222.152', '89.46.222.152', 0x30303030303031343936323433383634, 0x30303030303031343936323433383634, 'TF', 'French Southern Territories', 'AN'),
('94.130.180.93/32', '94.130.180.93', '94.130.180.93', 0x30303030303031353835363234313537, 0x30303030303031353835363234313537, 'GS', 'South Georgia and the South Sandwich Islands', 'AN');

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Fichier diff supprimé car celui-ci est trop grand Voir la Diff

Voir le fichier

@ -38,7 +38,7 @@ ENGINE=InnoDB
/* import all IPv4 address from CSV file */
LOAD DATA LOW_PRIORITY LOCAL INFILE 'GeoLite2-Country-Blocks-IPv6.csv' INTO TABLE `IPv4` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (`network`, `geoname_id`, `registered_country_geoname_id`, `represented_country_geoname_id`, `is_anonymous_proxy`, `is_satellite_provider`);
LOAD DATA LOW_PRIORITY LOCAL INFILE 'GeoLite2-Country-Blocks-IPv6.csv' INTO TABLE `IPv6` FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (`network`, `geoname_id`, `registered_country_geoname_id`, `represented_country_geoname_id`, `is_anonymous_proxy`, `is_satellite_provider`);
/* create a tmp table for imported county data */
@ -56,7 +56,7 @@ ENGINE=InnoDB
/* import all countries from CSV file */
LOAD DATA LOW_PRIORITY LOCAL INFILE 'GeoLite2-Country-Locations-en.csv' INTO TABLE `GeoIP`.`Countries` CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (`geoname_id`, `locale_code`, `continent_code`, `continent_name`, `country_iso_code`, `country_name`);
LOAD DATA LOW_PRIORITY LOCAL INFILE 'GeoLite2-Country-Locations-en.csv' INTO TABLE `Countries` CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (`geoname_id`, `locale_code`, `continent_code`, `continent_name`, `country_iso_code`, `country_name`);
/* copy all IPv4 data + calculated start and end IP to d3geoip table */
@ -84,7 +84,7 @@ INSERT INTO d3geoip (D3IP, D3STARTIP, D3ENDIP, D3STARTIPBIN, D3ENDIPBIN, D3ISO,
Countries
ON
IPv4.geoname_id = Countries.geoname_id
) as src
) as src;
/* copy all IPv6 data to d3geoip table */
@ -110,7 +110,7 @@ INSERT INTO d3geoip (D3IP, D3STARTIP, D3ENDIP, D3STARTIPBIN, D3ENDIPBIN, D3ISO,
Countries
ON
IPv6.geoname_id = Countries.geoname_id
) as src
) as src;
/* create a getFirstIp from IPv6 CIDR method */

Voir le fichier

@ -23,7 +23,6 @@ use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Application\Component\CurrencyComponent;
use OxidEsales\Eshop\Application\Controller\FrontendController;
use OxidEsales\Eshop\Core\Controller\BaseController;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
@ -61,17 +60,16 @@ class GeoIpComponent extends BaseController
/** @var $oLocation d3geoip */
$oLocation = oxNew(d3geoip::class);
$oLocation->setCountryCurrency();
// moved to oxcmp_lang extension because here it's to late
// moved to oxcmp_lang extension because here it's too late
// $oLocation->setCountryLanguage();
if (!isset($oBasket)) {
$oBasket = $this->getSession()->getBasket();
$oBasket = Registry::getSession()->getBasket();
}
// call component again, if curr is registered before we changed it
// reason: own component can added after default components only
if ($oLocation->hasNotSetCurrency($oBasket->getBasketCurrency())) {
/** @var FrontendController $oActView */
$oActView = Registry::getConfig()->getActiveView();
$aComponents = $oActView->getComponents();

Voir le fichier

@ -41,6 +41,9 @@ class d3_country_geoip extends AdminDetailsController
/**
* @return string
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
*/
public function render()
{
@ -245,7 +248,7 @@ class d3_country_geoip extends AdminDetailsController
if (is_array($aConfLanguages)) {
$i = 0;
reset($aConfLanguages);
while ((list($key, $val) = each($aConfLanguages))) {
foreach ($aConfLanguages as $key => $val) {
if (is_array($aLangParams)) {
//skipping non active languages
if (false == $aLangParams[$key]['active']) {

Voir le fichier

@ -1,4 +1,5 @@
<?php
/**
* This Software is the property of Data Development and is protected
* by copyright law - it is NOT Freeware.
@ -16,6 +17,8 @@
namespace D3\GeoIp\Application\Model;
use Assert\Assert;
use Assert\InvalidArgumentException;
use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
use D3\ModCfg\Application\Model\d3str;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
@ -53,7 +56,7 @@ class d3geoip extends BaseModel
/**
* get oxcountry object by given IP address (optional)
*
* @param string $sIP optional
* @param string|null $sIP optional
*
* @return Country
* @throws d3ShopCompatibilityAdapterException
@ -63,7 +66,7 @@ class d3geoip extends BaseModel
* @throws DatabaseErrorException
* @throws StandardException
*/
public function getUserLocationCountryObject($sIP = null)
public function getUserLocationCountryObject(string $sIP = null)
{
if (!$this->oCountry) {
startProfile(__METHOD__);
@ -123,25 +126,15 @@ class d3geoip extends BaseModel
) {
$sIP = $this->_getModConfig()->getValue('sTestCountryIp');
} else {
if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {
$sIP = $_SERVER['HTTP_CF_CONNECTING_IP'];
} else if (isset($_SERVER['HTTP_X_REAL_IP'])) {
$sIP = $_SERVER['HTTP_X_REAL_IP'];
} else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$sIP = $_SERVER['HTTP_CLIENT_IP'];
} else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$sIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if(isset($_SERVER['HTTP_X_FORWARDED'])) {
$sIP = $_SERVER['HTTP_X_FORWARDED'];
} else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) {
$sIP = $_SERVER['HTTP_FORWARDED_FOR'];
} else if(isset($_SERVER['HTTP_FORWARDED'])) {
$sIP = $_SERVER['HTTP_FORWARDED'];
} else if(isset($_SERVER['REMOTE_ADDR'])) {
$sIP = $_SERVER['REMOTE_ADDR'];
} else {
$sIP = 'UNKNOWN';
}
$sIP = $_SERVER['HTTP_CF_CONNECTING_IP']
?? $_SERVER['HTTP_X_REAL_IP']
?? $_SERVER['HTTP_CLIENT_IP']
?? $_SERVER['HTTP_X_FORWARDED_FOR']
?? $_SERVER['HTTP_X_FORWARDED']
?? $_SERVER['HTTP_FORWARDED_FOR']
?? $_SERVER['HTTP_FORWARDED']
?? $_SERVER['REMOTE_ADDR']
?? 'UNKNOWN';
}
$sIP = str_replace(' ', '', $sIP);
@ -153,12 +146,12 @@ class d3geoip extends BaseModel
/**
* get ISO alpha 2 ID by IP address
*
* @param int $sIP IP address
* @param string $sIP IP address
*
* @return string
* @throws DatabaseConnectionException
*/
public function loadByIP($sIP)
public function loadByIP(string $sIP)
{
startProfile(__METHOD__);
@ -196,7 +189,7 @@ class d3geoip extends BaseModel
* @return Country
* @throws DatabaseConnectionException
*/
public function getCountryObject($sISOAlpha)
public function getCountryObject(string $sISOAlpha)
{
startProfile(__METHOD__);
@ -252,34 +245,38 @@ class d3geoip extends BaseModel
{
startProfile(__METHOD__);
$this->_getModConfig()->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'start shop or url switch');
$this->performURLSwitch();
$this->performShopSwitch();
$this->_getModConfig()->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'end shop or url switch');
if (!$this->_getModConfig()->isActive()
|| false == $this->_getModConfig()->getValue('blChangeLang')) {
|| false == $this->_getModConfig()->getValue('blChangeLang')
) {
$this->_getModConfig()->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'language change option or module is disabled');
stopProfile(__METHOD__);
return;
}
$oCountry = $this->getUserLocationCountryObject();
if (!$this->isAdmin()
&& Registry::getUtils()->isSearchEngine() === false
&& Registry::getSession()->getId()
&& Registry::getSession()->getVariable('d3isSetLang') === null
&& $oCountry->getId() && $oCountry->getFieldData('d3geoiplang') > -1
) {
$this->_getLog()->log(
d3log::INFO,
try {
$this->canChangeLanguage( $oCountry );
$language = (int) $oCountry->getFieldData('d3geoiplang');
$this->_getModConfig()->d3getLog()->info(
__CLASS__,
__FUNCTION__,
__LINE__,
'set language',
$this->getIP().' => '.$oCountry->getFieldData('d3geoiplang')
$this->getIP().' => '.$language
);
Registry::getLang()->setTplLanguage((int) $oCountry->getFieldData('d3geoiplang'));
Registry::getLang()->setBaseLanguage((int) $oCountry->getFieldData('d3geoiplang'));
Registry::getLang()->setTplLanguage($language);
Registry::getLang()->setBaseLanguage($language);
Registry::getSession()->setVariable('d3isSetLang', true);
Registry::getLogger()->debug('language set', [$language]);
} catch (InvalidArgumentException $e) {
Registry::getLogger()->debug($e->getMessage(), [$oCountry]);
}
stopProfile(__METHOD__);
@ -307,12 +304,9 @@ class d3geoip extends BaseModel
$oCountry = $this->getUserLocationCountryObject();
if (!$this->isAdmin()
&& Registry::getUtils()->isSearchEngine() === false
&& !Registry::getSession()->getVariable('d3isSetCurr')
&& $oCountry->getId()
&& $oCountry->getFieldData('d3geoipcur') > -1
) {
try {
$this->canChangeCurrency( $oCountry );
$this->_getLog()->log(
d3log::INFO,
__CLASS__,
@ -323,6 +317,8 @@ class d3geoip extends BaseModel
);
Registry::getConfig()->setActShopCurrency((int) $oCountry->getFieldData('d3geoipcur'));
Registry::getSession()->setVariable('d3isSetCurr', true);
} catch (InvalidArgumentException $e) {
Registry::getLogger()->debug($e->getMessage(), [$oCountry]);
}
stopProfile(__METHOD__);
@ -364,6 +360,7 @@ class d3geoip extends BaseModel
public function performShopSwitch()
{
if (!$this->_getModConfig()->isActive() || !$this->_getModConfig()->getValue('blChangeShop')) {
$this->_getModConfig()->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'shop change option or module is disabled');
return;
}
@ -372,22 +369,17 @@ class d3geoip extends BaseModel
$oCountry = $this->getUserLocationCountryObject();
$iNewShop = $oCountry->getFieldData('d3geoipshop');
if (Registry::getRequest()->getRequestEscapedParameter('d3redirect') != 1
&& false == $this->isAdmin()
&& Registry::getUtils()->isSearchEngine() === false
&& $oCountry->getId()
&& $this->getConfig()->isMall()
&& $iNewShop > -1 &&
(
$iNewShop != $this->getConfig()->getShopId()
|| strtolower($this->getConfig()->getActiveView()->getClassKey()) == 'mallstart'
)
) {
$this->_getModConfig()->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'check allowed shop change');
try {
$this->canChangeShop( $oCountry, $iNewShop );
$this->_getModConfig()->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'prepare shop change to '.$iNewShop);
$oNewConf = new Config();
$oNewConf->setShopId($iNewShop);
$oNewConf->init();
$this->getConfig()->onShopChange();
Registry::getConfig()->onShopChange();
if (!Registry::getSession()->getVariable('d3isSetLang')
&& $this->_getModConfig()->getValue('blChangeLang')
@ -420,8 +412,12 @@ class d3geoip extends BaseModel
$this->getIP().' => '.$sUrl
);
$this->_getModConfig()->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'change to shop url', $sUrl);
header("Location: ".$sUrl);
exit();
} catch (InvalidArgumentException $e) {
Registry::getLogger()->debug($e->getMessage(), [$oCountry]);
}
stopProfile(__METHOD__);
@ -452,13 +448,9 @@ class d3geoip extends BaseModel
$oCountry = $this->getUserLocationCountryObject();
if ($this->dontSkipUrlRedirect()
&& false == $this->isAdmin()
&& Registry::getUtils()->isSearchEngine() === false
&& $oCountry->getId()
&& $oCountry->getFieldData('d3geoipurl')
&& strlen(trim($oCountry->getFieldData('d3geoipurl'))) > 0
) {
try {
$this->canRedirect( $oCountry );
$sNewUrl = $oCountry->getFieldData('d3geoipurl');
$this->_getLog()->log(
@ -472,6 +464,8 @@ class d3geoip extends BaseModel
header("Location: ".$sNewUrl);
exit();
} catch (InvalidArgumentException $e) {
Registry::getLogger()->debug($e->getMessage(), [$oCountry]);
}
stopProfile(__METHOD__);
@ -502,7 +496,7 @@ class d3geoip extends BaseModel
$aShopUrls = array();
foreach ($oShoplist->arrayKeys() as $sId) {
$aShopUrls[$sId] = $this->getConfig()->getShopConfVar('sMallShopURL', $sId);
$aShopUrls[$sId] = Registry::getConfig()->getShopConfVar('sMallShopURL', $sId);
}
stopProfile(__METHOD__);
@ -539,5 +533,77 @@ class d3geoip extends BaseModel
return $this->oD3Log;
}
/**
* @param Country $oCountry
*
* @throws InvalidArgumentException
*/
protected function canRedirect( Country $oCountry )
{
Assert::that($this->dontSkipUrlRedirect())->true('redirect skip is not provided');
$this->isUserInFrontend();
Assert::that($oCountry->getId())->notBlank('no country loaded');
Assert::that($oCountry->getFieldData( 'd3geoipurl' ))->notBlank('no redirect url set');
}
/**
* @param Country $oCountry
*
* @return bool
*/
/**
* @param Country $oCountry
*
* @throws InvalidArgumentException
*/
protected function canChangeLanguage( Country $oCountry )
{
$this->isUserInFrontend();
Assert::that(Registry::getSession()->getVariable( 'd3isSetLang' ))->null('language already set');
Assert::that($oCountry->getId())->notBlank('no country loaded');
Assert::that($oCountry->getFieldData( 'd3geoiplang' ))->greaterThan(-1, 'no target language set');
}
/**
* @param Country $oCountry
*
* @throws InvalidArgumentException
*/
protected function canChangeCurrency( Country $oCountry )
{
$this->isUserInFrontend();
Assert::that(Registry::getSession()->getVariable( 'd3isSetCurr' ))->null('currency already set');
Assert::that($oCountry->getId())->notBlank('no country loaded');
Assert::that($oCountry->getFieldData( 'd3geoipcur' ))->greaterThan(-1, 'no target currency set');
}
/**
* @param Country $oCountry
* @param $iNewShop
*
* @throws InvalidArgumentException
*/
protected function canChangeShop( Country $oCountry, $iNewShop )
{
Assert::that(Registry::getRequest()->getRequestEscapedParameter( 'd3redirect' ))->notSame('1', 'redirect already performed');
$this->isUserInFrontend();
Assert::that($oCountry->getId())->notBlank('no country loaded');
Assert::that(Registry::getConfig()->isMall())->true('no mall installation');
Assert::that($iNewShop)->greaterThan(-1, 'no target shop id set');
Assert::that(
$iNewShop != Registry::getConfig()->getShopId() ||
strtolower( Registry::getConfig()->getActiveView()->getClassKey() ) == 'mallstart'
)->true('no different shop and no mallstart');
}
/**
* @throws InvalidArgumentException
*/
protected function isUserInFrontend()
{
Assert::that($this->isAdmin())->false('User is in admin');
Assert::that(Registry::getUtils()->isSearchEngine())->false('User is search engine');
}
}

Voir le fichier

@ -68,7 +68,7 @@ $aLang = [
'D3_GEOIP_UPDATE_ITEMINSTALL' => 'Die umfangreiche IP-Liste kann leider nicht über die '.
'automatische Installation eingebunden werden. Bitte installieren Sie diese manuell. '.PHP_EOL.PHP_EOL.
'Laden Sie bitte die aktuellen CSV-Daten des Anbieters Maxmind. In "setup+doku/importCSVtoMySQL" des Modulpaketes finden Sie weitere Informationen und die erforderlichen Datenbank-Befehle, um die nötigen Daten zu generieren.'.PHP_EOL.PHP_EOL.
'Alternativ finden Sie die erforderlichen Daten im Installationspaket des Moduls unter "setup+doku/geoip-data_*". '.PHP_EOL.PHP_EOL.
'Laden Sie bitte die aktuellen CSV-Daten des Anbieters Maxmind. In "docs/importCSVtoMySQL" des Modulpaketes finden Sie weitere Informationen und die erforderlichen Datenbank-Befehle, um die nötigen Daten zu generieren.'.PHP_EOL.PHP_EOL.
'Alternativ finden Sie die erforderlichen Daten im Installationspaket des Moduls unter "docs/geoip-data_*". '.PHP_EOL.PHP_EOL.
'Führen Sie die SQL-Datei(en) bitte in Ihrer Datenbank aus.',
];

Voir le fichier

@ -30,7 +30,7 @@ function EditThis( sID)
function _groupExp(el) {
var _cur = el.parentNode;
if (_cur.className == "exp") _cur.className = "";
if (_cur.className === "exp") _cur.className = "";
else _cur.className = "exp";
}
@ -47,7 +47,7 @@ function showFormatSettings(sElemId, visible, blUseOldElem)
sOldSettingElem = sElemId;
}
if (visible == true) {
if (visible === true) {
document.getElementById(sElemId).style.display = 'block';
} else {
document.getElementById(sElemId).style.display = 'none';
@ -57,7 +57,7 @@ function showFormatSettings(sElemId, visible, blUseOldElem)
-->
</script>
<style type="text/css">
<style>
<!--
fieldset{
border: 1px inset black;
@ -104,9 +104,9 @@ td.edittext {
<input type="hidden" name="oxid" value="[{$oxid}]">
<input type="hidden" name="editval[d3_cfg_mod__oxid]" value="[{$oxid}]">
<table border="0" width="98%">
<table style="border: 0; width: 98%">
<tr>
<td valign="top" class="edittext">
<td style="vertical-align: top" class="edittext">
[{include file="d3_cfg_mod_active.tpl"}]
@ -224,9 +224,9 @@ td.edittext {
</div>
</div>
<table width="100%">
<table style="width: 100%">
<tr>
<td class="edittext ext_edittext" align="left">
<td class="edittext ext_edittext" style="text-align: left">
<span class="d3modcfg_btn icon status_ok">
<input type="submit" name="save" value="[{oxmultilang ident="D3_GENERAL_GEOIP_SAVE"}]">
<span></span>

Voir le fichier

@ -43,7 +43,9 @@ class d3_oxcmp_lang_geoip extends d3_oxcmp_lang_geoip_parent
if (d3_cfg_mod::get($this->_sModId)->isActive()) {
/** @var $oLocation d3geoip */
$oLocation = oxNew(d3geoip::class);
d3_cfg_mod::get($this->_sModId)->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'start perform language switch');
$oLocation->setCountryLanguage();
d3_cfg_mod::get($this->_sModId)->d3getLog()->info(__CLASS__, __FUNCTION__, __LINE__, 'end perform language switch');
}
parent::init();

Voir le fichier

@ -22,16 +22,16 @@ use OxidEsales\Eshop\Core\Registry;
class d3_oxshopcontrol_geoip extends d3_oxshopcontrol_geoip_parent
{
/**
* @param null $sClass
* @param null $sFunction
* @param null $aParams
* @param null $aViewsChain
* @param null $controllerKey
* @param null $function
* @param null $parameters
* @param null $viewsChain
*/
public function start ($sClass = null, $sFunction = null, $aParams = null, $aViewsChain = null)
public function start ($controllerKey = null, $function = null, $parameters = null, $viewsChain = null)
{
$this->_d3AddGeoIpComponent();
parent::start($sClass, $sFunction, $aParams, $aViewsChain);
parent::start( $controllerKey, $function, $parameters, $viewsChain);
}
/**

Voir le fichier

@ -16,30 +16,37 @@
namespace D3\GeoIp\Setup;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use D3\ModCfg\Application\Model\Exception\d3ParameterNotFoundException;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Install\d3install_updatebase;
use D3\ModCfg\Application\Model\Installwizzard\d3installdbfield;
use D3\ModCfg\Application\Model\Installwizzard\d3installdbtable;
use Doctrine\DBAL\DBALException;
use Exception;
use OxidEsales\Eshop\Application\Model\Shop;
use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Exception\ConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException as DatabaseErrorException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Facts\Facts;
use ReflectionException;
class d3geoip_update extends d3install_updatebase
{
public $sModKey = 'd3_geoip';
public $sModName = 'GeoIP';
public $sModVersion = '4.0.3.0';
public $sModRevision = '4030';
public $sModVersion = '4.1.2.0';
public $sModRevision = '4120';
public $sBaseConf = '--------------------------------------------------------------------------------
IcVv2==WXpWc0RKWEJENXNFcURUa1JKeXF6bnZFbVgzWm9FaDJ5OTBLdytmbitEMWFBRXBhbXpyVkw3V
0MrSlRyWU5JaDczWFN0OVpzTXhqN2hpZHl0S3ByeHArT0hmbmtpaW1RVDM5cU94SjJtcnNaTG9sMkVWe
G1SZWpqRlhHUC9OSDRZWTFNdG9LNEJDUHBKMkp5UU9ZS3k2NkRxTXFsOWlUSll1dDhKNHFxelJqWStmS
ktRMkExb2x2SkRSVm50TE93M2lBZ0tvemFscGpNZ1NrN0FST0t4d3B0R21UQmJIMlp5ZnFkeE1WQzlDN
2Y0clFQWVFTUVdiaGhGb1JjbVR2RXdzNWxGSDYrZFlvTmRwdENzMkk0aExXbDVXN0dwNXRieE10U05hT
UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
4I6v2==YXpDb3ovcGlNbStFUXg1UXBUR0h6aXRiS2hZMHorN3d3Q2ZjTmVWcE8yNy9COFRidHFqL0VhW
WZVS2hvY2JlQ29EcTRoaEJJQjJoVXc5M1B3TmFseXEyUHQrUHEveUtGUFdhVW5wWFc3d2xTNGcyeDE3a
DBHbFBicHR1TWxWMkxZQURFMFNnV05ubllTcGRWdkw1SlJNNmk0OVBBT3Y5N0dRb1drWXJSUStsc1Q5Z
Gh0L09EMnhVYW9FUGNGSG5jcktXSXpVeE10Tm9IT2VmQW1VSFZQWmxaMG0ycHNKeks1cUNCWnI4c1Q3M
1F2U3RMY1FsWHRRTGRRL2kzN1pTaWpKWXBlaXBFYVFTN3lOWnpnZVl5blVhWkxNMnBqT1JQT3M2cnJYT
S9kMERSZUFscmR6VW9iZlZVZjhoYzNUdWo=
--------------------------------------------------------------------------------';
public $sRequirements = '';
public $sBaseValue = '';
@ -238,6 +245,9 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
/**
* @return bool
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
*/
public function checkGeoIpTableExist()
{
@ -246,12 +256,16 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
/**
* @return bool
* @throws ConnectionException
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
*/
public function updateGeoIpTableExist()
{
$blRet = false;
if ($this->checkGeoIpTableExist()) {
$blRet = $this->_addTable2('d3geoip', $this->aFields, $this->aIndizes, 'GeoIP', 'InnoDB');
$blRet = $this->_addTable2('d3geoip', $this->aFields, $this->aIndizes, 'GeoIP');
}
return $blRet;
@ -315,12 +329,13 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
{
/** @var d3installdbtable $oDbTable */
$oDbTable = oxNew(d3installdbtable::class, $this);
$blRet = $oDbTable->changeTableEngine('d3geoip', 'InnoDB');
return $blRet;
return $oDbTable->changeTableEngine('d3geoip', 'InnoDB');
}
/**
* @return bool
* @throws DBALException
* @throws DatabaseConnectionException
*/
public function checkGeoIpItems()
{
@ -328,9 +343,7 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
'D3ISO' => 'DE',
);
$blRet = $this->_checkTableItemNotExist('d3geoip', $aWhere);
return $blRet;
return $this->_checkTableItemNotExist('d3geoip', $aWhere);
}
/**
@ -369,6 +382,11 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
/**
* @return bool
* @throws ConnectionException
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
* @throws Exception
*/
public function updateModCfgItemExist()
{
@ -453,7 +471,7 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
),
array (
'fieldname' => 'OXSHOPVERSION',
'content' => Registry::getConfig()->getEdition(),
'content' => oxNew(Facts::class)->getEdition(),
'force_update' => true,
'use_quote' => true,
'use_multilang' => false,
@ -493,7 +511,12 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
/**
* change default value for shop id in EE
*
* @return bool
* @throws ConnectionException
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
*/
public function checkGeoIpFields()
{
@ -506,7 +529,12 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
/**
* change default value for shop id in EE
*
* @return bool
* @throws ConnectionException
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
*/
public function fixGeoIpFields()
{
@ -519,6 +547,14 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
/**
* @return bool
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
* @throws d3ParameterNotFoundException
* @throws d3ShopCompatibilityAdapterException
* @throws d3_cfg_mod_exception
* @throws StandardException
* @throws ReflectionException
*/
public function hasUnregisteredFiles()
{
@ -527,6 +563,13 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
/**
* @return bool
* @throws DBALException
* @throws DatabaseConnectionException
* @throws DatabaseErrorException
* @throws ReflectionException
* @throws StandardException
* @throws d3ShopCompatibilityAdapterException
* @throws d3_cfg_mod_exception
*/
public function showUnregisteredFiles()
{
@ -602,10 +645,8 @@ UE2RXRrdEU2aTJ3eXZaUkFoQVVSa1dRWE0=
" AND oxmodule = ".$oDb->quote($sModuleId);
$aResult = $oDb->getAll($sSelect);
$aUserComponents = is_array($aResult) && count($aResult)
return is_array($aResult) && count($aResult)
? Registry::getConfig()->decodeValue($aResult[0]['type'], $aResult[0]['value'])
: null;
return $aUserComponents;
}
}

Voir le fichier

@ -30,10 +30,10 @@ $aModule = [
'en' => '',
],
'thumbnail' => 'picture.png',
'version' => '4.0.3.0',
'version' => '4.1.2.0',
'author' => 'D&sup3; Data Development (Inh.: Thomas Dartsch)',
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',
'url' => 'https://www.oxidmodule.com/',
'extend' => [
LanguageComponent::class => d3_oxcmp_lang_geoip::class,
ShopControl::class => d3_oxshopcontrol_geoip::class