Skip to content

Commit df62c53

Browse files
Merge pull request #6 from ARCANEDEV/develop
Refactoring/Fixing the package
2 parents d0dd0d0 + 672ea02 commit df62c53

File tree

10 files changed

+418
-118
lines changed

10 files changed

+418
-118
lines changed

config/geoip.php

Lines changed: 262 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,15 @@
1616
'freegeoip' => [
1717
'driver' => Arcanedev\GeoIP\Drivers\FreeGeoIpDriver::class,
1818
'options' => [
19-
'continents-path' => storage_path('app/geo-ip/continents.json'),
19+
//
2020
],
2121
],
2222

2323
'ip-api' => [
2424
'driver' => Arcanedev\GeoIP\Drivers\IpApiDriver::class,
2525
'options' => [
26-
'secure' => true,
27-
'key' => env('IPAPI_KEY'),
28-
'continents-path' => storage_path('app/geo-ip/continents.json'),
26+
'secure' => true,
27+
'key' => env('IPAPI_KEY'),
2928
],
3029
],
3130

@@ -91,6 +90,265 @@
9190
],
9291
],
9392

93+
/* ------------------------------------------------------------------------------------------------
94+
| Continents
95+
| ------------------------------------------------------------------------------------------------
96+
*/
97+
'continents' => [
98+
'A1' => '--',
99+
'A2' => '--',
100+
'AD' => 'EU',
101+
'AE' => 'AS',
102+
'AF' => 'AS',
103+
'AG' => 'NA',
104+
'AI' => 'NA',
105+
'AL' => 'EU',
106+
'AM' => 'AS',
107+
'AN' => 'NA',
108+
'AO' => 'AF',
109+
'AP' => 'AS',
110+
'AQ' => 'AN',
111+
'AR' => 'SA',
112+
'AS' => 'OC',
113+
'AT' => 'EU',
114+
'AU' => 'OC',
115+
'AW' => 'NA',
116+
'AX' => 'EU',
117+
'AZ' => 'AS',
118+
'BA' => 'EU',
119+
'BB' => 'NA',
120+
'BD' => 'AS',
121+
'BE' => 'EU',
122+
'BF' => 'AF',
123+
'BG' => 'EU',
124+
'BH' => 'AS',
125+
'BI' => 'AF',
126+
'BJ' => 'AF',
127+
'BL' => 'NA',
128+
'BM' => 'NA',
129+
'BN' => 'AS',
130+
'BO' => 'SA',
131+
'BR' => 'SA',
132+
'BS' => 'NA',
133+
'BT' => 'AS',
134+
'BV' => 'AN',
135+
'BW' => 'AF',
136+
'BY' => 'EU',
137+
'BZ' => 'NA',
138+
'CA' => 'NA',
139+
'CC' => 'AS',
140+
'CD' => 'AF',
141+
'CF' => 'AF',
142+
'CG' => 'AF',
143+
'CH' => 'EU',
144+
'CI' => 'AF',
145+
'CK' => 'OC',
146+
'CL' => 'SA',
147+
'CM' => 'AF',
148+
'CN' => 'AS',
149+
'CO' => 'SA',
150+
'CR' => 'NA',
151+
'CU' => 'NA',
152+
'CV' => 'AF',
153+
'CX' => 'AS',
154+
'CY' => 'AS',
155+
'CZ' => 'EU',
156+
'DE' => 'EU',
157+
'DJ' => 'AF',
158+
'DK' => 'EU',
159+
'DM' => 'NA',
160+
'DO' => 'NA',
161+
'DZ' => 'AF',
162+
'EC' => 'SA',
163+
'EE' => 'EU',
164+
'EG' => 'AF',
165+
'EH' => 'AF',
166+
'ER' => 'AF',
167+
'ES' => 'EU',
168+
'ET' => 'AF',
169+
'EU' => 'EU',
170+
'FI' => 'EU',
171+
'FJ' => 'OC',
172+
'FK' => 'SA',
173+
'FM' => 'OC',
174+
'FO' => 'EU',
175+
'FR' => 'EU',
176+
'FX' => 'EU',
177+
'GA' => 'AF',
178+
'GB' => 'EU',
179+
'GD' => 'NA',
180+
'GE' => 'AS',
181+
'GF' => 'SA',
182+
'GG' => 'EU',
183+
'GH' => 'AF',
184+
'GI' => 'EU',
185+
'GL' => 'NA',
186+
'GM' => 'AF',
187+
'GN' => 'AF',
188+
'GP' => 'NA',
189+
'GQ' => 'AF',
190+
'GR' => 'EU',
191+
'GS' => 'AN',
192+
'GT' => 'NA',
193+
'GU' => 'OC',
194+
'GW' => 'AF',
195+
'GY' => 'SA',
196+
'HK' => 'AS',
197+
'HM' => 'AN',
198+
'HN' => 'NA',
199+
'HR' => 'EU',
200+
'HT' => 'NA',
201+
'HU' => 'EU',
202+
'ID' => 'AS',
203+
'IE' => 'EU',
204+
'IL' => 'AS',
205+
'IM' => 'EU',
206+
'IN' => 'AS',
207+
'IO' => 'AS',
208+
'IQ' => 'AS',
209+
'IR' => 'AS',
210+
'IS' => 'EU',
211+
'IT' => 'EU',
212+
'JE' => 'EU',
213+
'JM' => 'NA',
214+
'JO' => 'AS',
215+
'JP' => 'AS',
216+
'KE' => 'AF',
217+
'KG' => 'AS',
218+
'KH' => 'AS',
219+
'KI' => 'OC',
220+
'KM' => 'AF',
221+
'KN' => 'NA',
222+
'KP' => 'AS',
223+
'KR' => 'AS',
224+
'KW' => 'AS',
225+
'KY' => 'NA',
226+
'KZ' => 'AS',
227+
'LA' => 'AS',
228+
'LB' => 'AS',
229+
'LC' => 'NA',
230+
'LI' => 'EU',
231+
'LK' => 'AS',
232+
'LR' => 'AF',
233+
'LS' => 'AF',
234+
'LT' => 'EU',
235+
'LU' => 'EU',
236+
'LV' => 'EU',
237+
'LY' => 'AF',
238+
'MA' => 'AF',
239+
'MC' => 'EU',
240+
'MD' => 'EU',
241+
'ME' => 'EU',
242+
'MF' => 'NA',
243+
'MG' => 'AF',
244+
'MH' => 'OC',
245+
'MK' => 'EU',
246+
'ML' => 'AF',
247+
'MM' => 'AS',
248+
'MN' => 'AS',
249+
'MO' => 'AS',
250+
'MP' => 'OC',
251+
'MQ' => 'NA',
252+
'MR' => 'AF',
253+
'MS' => 'NA',
254+
'MT' => 'EU',
255+
'MU' => 'AF',
256+
'MV' => 'AS',
257+
'MW' => 'AF',
258+
'MX' => 'NA',
259+
'MY' => 'AS',
260+
'MZ' => 'AF',
261+
'NA' => 'AF',
262+
'NC' => 'OC',
263+
'NE' => 'AF',
264+
'NF' => 'OC',
265+
'NG' => 'AF',
266+
'NI' => 'NA',
267+
'NL' => 'EU',
268+
'NO' => 'EU',
269+
'NP' => 'AS',
270+
'NR' => 'OC',
271+
'NU' => 'OC',
272+
'NZ' => 'OC',
273+
'O1' => '--',
274+
'OM' => 'AS',
275+
'PA' => 'NA',
276+
'PE' => 'SA',
277+
'PF' => 'OC',
278+
'PG' => 'OC',
279+
'PH' => 'AS',
280+
'PK' => 'AS',
281+
'PL' => 'EU',
282+
'PM' => 'NA',
283+
'PN' => 'OC',
284+
'PR' => 'NA',
285+
'PS' => 'AS',
286+
'PT' => 'EU',
287+
'PW' => 'OC',
288+
'PY' => 'SA',
289+
'QA' => 'AS',
290+
'RE' => 'AF',
291+
'RO' => 'EU',
292+
'RS' => 'EU',
293+
'RU' => 'EU',
294+
'RW' => 'AF',
295+
'SA' => 'AS',
296+
'SB' => 'OC',
297+
'SC' => 'AF',
298+
'SD' => 'AF',
299+
'SE' => 'EU',
300+
'SG' => 'AS',
301+
'SH' => 'AF',
302+
'SI' => 'EU',
303+
'SJ' => 'EU',
304+
'SK' => 'EU',
305+
'SL' => 'AF',
306+
'SM' => 'EU',
307+
'SN' => 'AF',
308+
'SO' => 'AF',
309+
'SR' => 'SA',
310+
'ST' => 'AF',
311+
'SV' => 'NA',
312+
'SY' => 'AS',
313+
'SZ' => 'AF',
314+
'TC' => 'NA',
315+
'TD' => 'AF',
316+
'TF' => 'AN',
317+
'TG' => 'AF',
318+
'TH' => 'AS',
319+
'TJ' => 'AS',
320+
'TK' => 'OC',
321+
'TL' => 'AS',
322+
'TM' => 'AS',
323+
'TN' => 'AF',
324+
'TO' => 'OC',
325+
'TR' => 'EU',
326+
'TT' => 'NA',
327+
'TV' => 'OC',
328+
'TW' => 'AS',
329+
'TZ' => 'AF',
330+
'UA' => 'EU',
331+
'UG' => 'AF',
332+
'UM' => 'OC',
333+
'US' => 'NA',
334+
'UY' => 'SA',
335+
'UZ' => 'AS',
336+
'VA' => 'EU',
337+
'VC' => 'NA',
338+
'VE' => 'SA',
339+
'VG' => 'NA',
340+
'VI' => 'NA',
341+
'VN' => 'AS',
342+
'VU' => 'OC',
343+
'WF' => 'OC',
344+
'WS' => 'OC',
345+
'YE' => 'AS',
346+
'YT' => 'AF',
347+
'ZA' => 'AF',
348+
'ZM' => 'AF',
349+
'ZW' => 'AF',
350+
],
351+
94352
/* ------------------------------------------------------------------------------------------------
95353
| Currencies
96354
| ------------------------------------------------------------------------------------------------

src/Drivers/FreeGeoIpDriver.php

Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<?php namespace Arcanedev\GeoIP\Drivers;
22

3-
use Arcanedev\GeoIP\Tasks\DownloadContinentsFileTask;
3+
use Arcanedev\GeoIP\Entities\Continents;
44
use GuzzleHttp\Client;
5-
use Illuminate\Support\Arr;
65

76
/**
87
* Class FreeGeoIpDriver
@@ -24,11 +23,11 @@ class FreeGeoIpDriver extends AbstractDriver
2423
protected $client;
2524

2625
/**
27-
* An array of continents.
26+
* A collection of continents.
2827
*
29-
* @var array
28+
* @var \Arcanedev\GeoIP\Entities\Continents
3029
*/
31-
protected $continents = [];
30+
protected $continents;
3231

3332
/* ------------------------------------------------------------------------------------------------
3433
| Main Functions
@@ -46,10 +45,7 @@ protected function init()
4645
]
4746
]);
4847

49-
// Set continents
50-
if (file_exists($path = $this->getOption('continents-path'))) {
51-
$this->continents = json_decode(file_get_contents($path), true);
52-
}
48+
$this->continents = Continents::make();
5349
}
5450

5551
/**
@@ -76,7 +72,7 @@ public function locate($ipAddress)
7672
'latitude' => $data->latitude,
7773
'longitude' => $data->longitude,
7874
'timezone' => $data->time_zone,
79-
'continent' => $this->getContinent($data->country_code),
75+
'continent' => $this->continents->get($data->country_code, 'Unknown'),
8076
]);
8177
}
8278

@@ -89,21 +85,8 @@ public function locate($ipAddress)
8985
*/
9086
public function update()
9187
{
92-
return DownloadContinentsFileTask::run(
93-
'http://dev.maxmind.com/static/csv/codes/country_continent.csv',
94-
$this->getOption('continents-path')
95-
);
96-
}
88+
// Do nothing
9789

98-
/**
99-
* Get continent based on country code.
100-
*
101-
* @param string $code
102-
*
103-
* @return string
104-
*/
105-
private function getContinent($code)
106-
{
107-
return Arr::get($this->continents, $code, 'Unknown');
90+
return true;
10891
}
10992
}

0 commit comments

Comments
 (0)