PluginProbe
Hostinger Tools / 2.0.4
Hostinger Tools v2.0.4
3.0.78 3.0.77 3.0.76 3.0.75 3.0.74 3.0.73 3.0.72 3.0.71 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 All 109 releases
← All changes | includes/class-hostinger-helper.php +75 -6 1.9.82.0.4 View file →
@@ -1,13 +1,25 @@
1 1 <?php
2 2
3 3 class Hostinger_Helper {
4 4 public const HOSTINGER_FREE_SUBDOMAIN_URL = 'hostingersite.com';
5 - public const HOSTINGER_PAGE = [
6 - '/wp-admin/admin.php?page=hostinger',
7 - '/wp-admin/admin.php?page=hostinger&'
8 - ];
5 + public const HOSTINGER_PAGE = '/wp-admin/admin.php?page=hostinger';
6 + public const CLIENT_WOO_COMPLETED_ACTIONS = 'woocommerce_task_list_tracked_completed_tasks';
7 + private const PROMOTIONAL_LINKS = array(
8 + 'fr_FR' => 'https://www.hostinger.fr/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
9 + 'es_ES' => 'https://www.hostinger.es/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
10 + 'ar' => 'https://www.hostinger.ae/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
11 + 'zh_CN' => 'https://www.hostinger.com.hk/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
12 + 'id_ID' => 'https://www.hostinger.co.id/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
13 + 'lt_LT' => 'https://www.hostinger.lt/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
14 + 'pt_PT' => 'https://www.hostinger.pt/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
15 + 'uk' => 'https://www.hostinger.com.ua/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
16 + 'tr_TR' => 'https://www.hostinger.com.tr/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
17 + 'en_US' => 'https://www.hostinger.com/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
18 + );
9 19
20 + private const HPANEL_DOMAIN_URL = 'https://hpanel.hostinger.com/websites/';
21 +
10 22 /**
11 23 *
12 24 * Check if plugin is active
13 25 *
@@ -78,8 +90,13 @@
78 90 return ! empty( $site_url ) && strpos( $site_url, self::HOSTINGER_FREE_SUBDOMAIN_URL ) !== false;
79 91 }
80 92
81 93 public function is_hostinger_admin_page(): bool {
94 +
95 + if ( ! isset( $_SERVER['REQUEST_URI'] ) ) {
96 + return false;
97 + }
98 +
82 99 $current_uri = sanitize_text_field( $_SERVER['REQUEST_URI'] );
83 100
84 101 if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
85 102 return false;
@@ -88,14 +105,13 @@
88 105 if ( isset( $current_uri ) && strpos( $current_uri, '/wp-json/' ) !== false ) {
89 106 return false;
90 107 }
91 108
92 - if ( in_array( $current_uri, self::HOSTINGER_PAGE ) ) {
109 + if ( strpos( $current_uri, self::HOSTINGER_PAGE ) !== false ) {
93 110 return true;
94 111 }
95 112
96 113 return false;
97 -
98 114 }
99 115
100 116 /**
101 117 *
@@ -107,8 +123,61 @@
107 123 public function error_log( string $message ): void {
108 124 if ( defined( 'WP_DEBUG' ) && WP_DEBUG === true ) {
109 125 error_log( print_r( $message, true ) );
110 126 }
127 + }
128 +
129 + public function default_woocommerce_survey_steps_completed( array $steps ): bool {
130 + $completed_actions = get_option( self::CLIENT_WOO_COMPLETED_ACTIONS, array() );
131 +
132 + return empty( array_diff( $steps, $completed_actions ) );
133 + }
134 +
135 + public function is_this_page( string $page ): bool {
136 +
137 + if ( ! isset( $_SERVER['REQUEST_URI'] ) ) {
138 + return false;
139 + }
140 +
141 + $current_uri = sanitize_text_field( $_SERVER['REQUEST_URI'] );
142 +
143 + if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
144 + return false;
145 + }
146 +
147 + if ( isset( $current_uri ) && strpos( $current_uri, '/wp-json/' ) !== false ) {
148 + return false;
149 + }
150 +
151 + if ( strpos( $current_uri, $page ) !== false ) {
152 + return true;
153 + }
154 +
155 + return false;
156 + }
157 +
158 + public function get_promotional_link_url( string $locale ): string {
159 + if ( isset( self::PROMOTIONAL_LINKS[ $locale ] ) ) {
160 + return self::PROMOTIONAL_LINKS[ $locale ];
161 + }
162 +
163 + return self::PROMOTIONAL_LINKS['en_US'];
164 + }
165 +
166 + public function get_domain_from_url(): string {
167 + $host = parse_url( get_site_url(), PHP_URL_HOST );
168 +
169 + return $host === false ? self::HPANEL_DOMAIN_URL : $host;
170 + }
171 +
172 + public function get_hpanel_domain_url(): string {
173 + $domain_url = $this->get_domain_from_url();
174 +
175 + if( $domain_url === self::HPANEL_DOMAIN_URL ) {
176 + return $domain_url;
177 + }
178 +
179 + return self::HPANEL_DOMAIN_URL . $domain_url;
111 180 }
112 181 }
113 182
114 183 $hostinger_helper = new Hostinger_Helper();