PluginProbe ʕ •ᴥ•ʔ
Hostinger Tools / 3.0.69
Hostinger Tools v3.0.69
3.0.70 3.0.69 3.0.68 3.0.67 3.0.66 1.8.1 1.8.2 1.8.3 1.9.1 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.4 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 3.0.0 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.26 3.0.27 3.0.28 3.0.29 3.0.3 3.0.30 3.0.31 3.0.32 3.0.33 3.0.34 3.0.35 3.0.36 3.0.37 3.0.38 3.0.39 3.0.4 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.0.46 3.0.47 3.0.48 3.0.49 3.0.5 3.0.50 3.0.51 3.0.52 3.0.53 3.0.54 3.0.55 3.0.56 3.0.57 3.0.58 3.0.59 3.0.6 3.0.60 3.0.61 3.0.62 3.0.65 3.0.7 3.0.8 3.0.9 trunk 1.8.0
hostinger / includes / Admin / Proxy.php
hostinger / includes / Admin Last commit date
Jobs 10 months ago Options 9 months ago Views 1 year ago Ajax.php 1 year ago Assets.php 2 months ago Hooks.php 9 months ago Menu.php 1 year ago PluginSettings.php 9 months ago Proxy.php 11 months ago Redirects.php 1 year ago
Proxy.php
57 lines
1 <?php
2
3 namespace Hostinger\Admin;
4
5 use Hostinger\Mcp\EventHandlerFactory;
6 use Hostinger\WpHelper\Requests\Client;
7 use Hostinger\WpHelper\Utils;
8 use WP_Error;
9
10 defined( 'ABSPATH' ) || exit;
11
12 class Proxy {
13
14 public const HOSTINGER_FREE_SUBDOMAIN_URL = 'hostingersite.com';
15 public const HOSTINGER_DEV_FREE_SUBDOMAIN_URL = 'hostingersite.dev';
16
17
18 private Client $client;
19 private Utils $utils;
20 private string $rest_base;
21
22 public function __construct( Client $client, Utils $utils ) {
23 $this->client = $client;
24 $this->utils = $utils;
25 $this->rest_base = '/api/v1/events/trigger';
26 }
27
28 public function trigger_event( string $event, array $params = array() ): array|WP_Error {
29 if ( $this->is_free_subdomain() || ! $_SERVER['H_PLATFORM'] ) {
30 return new WP_Error( 'domain-not_allowed', 'This domain is not eligible for triggering Hostinger events' );
31 }
32
33 $args = array(
34 'domain' => $this->remove_www( $this->utils->getHostInfo() ),
35 'event' => array(
36 'name' => $event,
37 'params' => $params,
38 ),
39 );
40
41 return $this->client->post( $this->rest_base, $args );
42 }
43
44 private function is_free_subdomain(): bool {
45 return str_contains( $this->utils->getHostInfo(), self::HOSTINGER_FREE_SUBDOMAIN_URL ) ||
46 str_contains( $this->utils->getHostInfo(), self::HOSTINGER_DEV_FREE_SUBDOMAIN_URL );
47 }
48
49 private function remove_www( string $url ): string {
50 if ( str_starts_with( $url, 'www.' ) ) {
51 return substr( $url, 4 );
52 }
53
54 return $url;
55 }
56 }
57