PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 6 months ago AbstractLocationApplicationService.php 1 year ago BasicLocationApplicationService.php 2 years ago CurrentLocation.php 3 months ago LiteCurrentLocation.php 6 months ago
LiteCurrentLocation.php
44 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Application\Services\Location;
9
10 /**
11 * Class LiteCurrentLocation
12 *
13 * @package AmeliaBooking\Application\Services\Location
14 */
15 class LiteCurrentLocation extends AbstractCurrentLocation
16 {
17 /**
18 * Get country ISO code by public IP address
19 *
20 * @param string $ipLocateApyKey
21 *
22 * @return string
23 */
24 public function getCurrentLocationCountryIso($ipLocateApyKey)
25 {
26 try {
27 $response = wp_remote_get(
28 'https://www.iplocate.io/api/lookup/' . $_SERVER['REMOTE_ADDR'] . ($ipLocateApyKey ? ('?apikey=' . $ipLocateApyKey) : ''),
29 []
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