PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Application / Services / Location / CurrentLocation.php
ameliabooking / src / Application / Services / Location Last commit date
AbstractCurrentLocation.php 2 years ago AbstractLocationApplicationService.php 2 years ago BasicLocationApplicationService.php 2 years ago CurrentLocation.php 2 years ago LiteCurrentLocation.php 2 years ago
CurrentLocation.php
48 lines
1 <?php
2 /**
3 * @copyright © TMS-Plugins. All rights reserved.
4 * @licence See LICENCE.md for license details.
5 */
6
7 namespace AmeliaBooking\Application\Services\Location;
8
9 /**
10 * Class CurrentLocation
11 *
12 * @package AmeliaBooking\Application\Services\Location
13 */
14 class CurrentLocation extends AbstractCurrentLocation
15 {
16 /**
17 * Get country ISO code by public IP address
18 *
19 * @param string $ipLocateApyKey
20 *
21 * @return string
22 *
23 * @SuppressWarnings(PHPMD.Superglobals)
24 */
25 public function getCurrentLocationCountryIso($ipLocateApyKey)
26 {
27 try {
28 $curlHandle = curl_init();
29
30 curl_setopt(
31 $curlHandle,
32 CURLOPT_URL,
33 'https://www.iplocate.io/api/lookup/' . $_SERVER['REMOTE_ADDR'] . ($ipLocateApyKey ? ('?apikey=' . $ipLocateApyKey): '')
34 );
35
36 curl_setopt($curlHandle, CURLOPT_CONNECTTIMEOUT, 2);
37 curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
38 curl_setopt($curlHandle, CURLOPT_USERAGENT, 'Amelia');
39 $result = json_decode(curl_exec($curlHandle));
40 curl_close($curlHandle);
41
42 return !isset($result->country_code) ? '' : strtolower($result->country_code);
43 } catch (\Exception $e) {
44 return '';
45 }
46 }
47 }
48