PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.17.1
Independent Analytics – WordPress Analytics Plugin v1.17.1
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / utils / url.php
independent-analytics / IAWP / utils Last commit date
array_to_csv.php 3 years ago date_format.php 3 years ago exact_range.php 3 years ago number_formatter.php 3 years ago relative_range.php 3 years ago request.php 3 years ago salt.php 3 years ago security.php 3 years ago singleton.php 3 years ago string.php 3 years ago timezone.php 3 years ago url.php 3 years ago wp-async-request.php 3 years ago
url.php
86 lines
1 <?php
2
3 namespace IAWP;
4
5 use IAWP\League\Uri\Contracts\UriException;
6 use IAWP\League\Uri\Uri;
7
8 //use IAWP\Pdp\Domain;
9 //use IAWP\Pdp\Rules;
10
11 class URL
12 {
13 private $url;
14 private static $public_suffix_list;
15
16 public function __construct(string $url)
17 {
18 $this->url = $url;
19 // self::initialize_public_suffix_list();
20 }
21
22 // private static function initialize_public_suffix_list()
23 // {
24 // if (is_null(self::$public_suffix_list)) {
25 // self::$public_suffix_list = Rules::fromPath(path_to('public_suffix_list.dat'));
26 // }
27 // }
28
29 public function is_valid_url(): bool
30 {
31 $valid_url = filter_var($this->url, FILTER_VALIDATE_URL);
32
33 if (!$valid_url) {
34 return false;
35 }
36
37 try {
38 // Recommend approach for uri validation: https://uri.thephpleague.com/uri/6.0/rfc3986/#uri-validation
39 $components = Uri::createFromString($this->url);
40
41 if (is_null($components->getHost())) {
42 return false;
43 }
44
45 return true;
46 } catch (UriException $e) {
47 return false;
48 }
49 }
50
51 public function get_domain(): ?string
52 {
53 if ($this->is_valid_url()) {
54 $components = Uri::createFromString($this->url);
55 $host = $components->getHost();
56
57 if (!is_null($host)) {
58 return $host;
59 // $domain = Domain::fromIDNA2008($host);
60 // $result = self::$public_suffix_list->resolve($domain);
61 //
62 // return $result->domain()->toString();
63 }
64 }
65
66 return null;
67 }
68
69 // public function get_registrable_domain(): ?string
70 // {
71 // if ($this->is_valid_url()) {
72 // $components = Uri::createFromString($this->url);
73 // $host = $components->getHost();
74 //
75 // if (!is_null($host)) {
76 // $domain = Domain::fromIDNA2008($host);
77 // $result = self::$public_suffix_list->resolve($domain);
78 //
79 // return $result->registrableDomain()->toString();
80 // }
81 // }
82 //
83 // return null;
84 // }
85 }
86