PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.32
Booking for Appointments and Events Calendar – Amelia v1.2.32
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 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 1 year ago AbstractLocationApplicationService.php 1 year ago BasicLocationApplicationService.php 2 years ago CurrentLocation.php 1 year ago LiteCurrentLocation.php 1 year ago
CurrentLocation.php
49 lines
1 <?php
2
3 /**
4 * @copyright © TMS-Plugins. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Application\Services\Location;
9
10 /**
11 * Class CurrentLocation
12 *
13 * @package AmeliaBooking\Application\Services\Location
14 */
15 class CurrentLocation extends AbstractCurrentLocation
16 {
17 /**
18 * Get country ISO code by public IP address
19 *
20 * @param string $ipLocateApyKey
21 *
22 * @return string
23 *
24 * @SuppressWarnings(PHPMD.Superglobals)
25 */
26 public function getCurrentLocationCountryIso($ipLocateApyKey)
27 {
28 try {
29 $curlHandle = curl_init();
30
31 curl_setopt(
32 $curlHandle,
33 CURLOPT_URL,
34 'https://www.iplocate.io/api/lookup/' . $_SERVER['REMOTE_ADDR'] . ($ipLocateApyKey ? ('?apikey=' . $ipLocateApyKey) : '')
35 );
36
37 curl_setopt($curlHandle, CURLOPT_CONNECTTIMEOUT, 2);
38 curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
39 curl_setopt($curlHandle, CURLOPT_USERAGENT, 'Amelia');
40 $result = json_decode(curl_exec($curlHandle));
41 curl_close($curlHandle);
42
43 return !isset($result->country_code) ? '' : strtolower($result->country_code);
44 } catch (\Exception $e) {
45 return '';
46 }
47 }
48 }
49