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 / LiteCurrentLocation.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
LiteCurrentLocation.php
44 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 LiteCurrentLocation
11 *
12 * @package AmeliaBooking\Application\Services\Location
13 */
14 class LiteCurrentLocation 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 $response = wp_remote_get(
29 'https://www.iplocate.io/api/lookup/' . $_SERVER['REMOTE_ADDR'] . ($ipLocateApyKey ? ('?apikey=' . $ipLocateApyKey): ''),
30 []);
31
32 if (is_array($response) && isset($response['body'])) {
33 $result = json_decode($response['body']);
34
35 return !property_exists($result, 'country_code') ? '' : strtolower($result->country_code ?: '');
36 } else {
37 return '';
38 }
39 } catch (\Exception $e) {
40 return '';
41 }
42 }
43 }
44