PluginProbe
Hostinger Tools / 3.0.9
Hostinger Tools v3.0.9
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 2.0.4 All 108 releases
← All changes | includes/Helper.php +67 -154 3.0.773.0.9 View file →
@@ -4,177 +4,90 @@
4 4
5 5 defined( 'ABSPATH' ) || exit;
6 6
7 7 class Helper {
8 - const HOSTINGER_LOCALES = array(
9 - 'lt_LT' => 'hostinger.lt',
10 - 'uk_UA' => 'hostinger.com.ua',
11 - 'id_ID' => 'hostinger.co.id',
12 - 'en_US' => 'hostinger.com',
13 - 'es_ES' => 'hostinger.es',
14 - 'es_AR' => 'hostinger.com.ar',
15 - 'es_MX' => 'hostinger.mx',
16 - 'es_CO' => 'hostinger.co',
17 - 'pt_BR' => 'hostinger.com.br',
18 - 'ro_RO' => 'hostinger.ro',
19 - 'fr_FR' => 'hostinger.fr',
20 - 'it_IT' => 'hostinger.it',
21 - 'pl_PL' => 'hostinger.pl',
22 - 'en_PH' => 'hostinger.ph',
23 - 'ar_AE' => 'hostinger.ae',
24 - 'ms_MY' => 'hostinger.my',
25 - 'ko_KR' => 'hostinger.kr',
26 - 'vi_VN' => 'hostinger.vn',
27 - 'th_TH' => 'hostinger.in.th',
28 - 'tr_TR' => 'hostinger.web.tr',
29 - 'pt_PT' => 'hostinger.pt',
30 - 'de_DE' => 'hostinger.de',
31 - 'en_IN' => 'hostinger.in',
32 - 'ja_JP' => 'hostinger.jp',
33 - 'nl_NL' => 'hostinger.nl',
34 - 'en_GB' => 'hostinger.co.uk',
35 - 'el_GR' => 'hostinger.gr',
36 - 'cs_CZ' => 'hostinger.cz',
37 - 'hu_HU' => 'hostinger.hu',
38 - 'sv_SE' => 'hostinger.se',
39 - 'da_DK' => 'hostinger.dk',
40 - 'fi_FI' => 'hostinger.fi',
41 - 'sk_SK' => 'hostinger.sk',
42 - 'no_NO' => 'hostinger.no',
43 - 'hr_HR' => 'hostinger.hr',
44 - 'zh_HK' => 'hostinger.com.hk',
45 - 'he_IL' => 'hostinger.co.il',
46 - 'lv_LV' => 'hostinger.lv',
47 - 'et_EE' => 'hostinger.ee',
48 - 'ur_PK' => 'hostinger.pk',
49 - );
8 + public const HOSTINGER_FREE_SUBDOMAIN_URL = 'hostingersite.com';
9 + public const HOSTINGER_PAGE = '/wp-admin/admin.php?page=hostinger';
10 + public const CLIENT_WOO_COMPLETED_ACTIONS = 'woocommerce_task_list_tracked_completed_tasks';
11 + private const PROMOTIONAL_LINKS = array(
12 + 'fr_FR' => 'https://www.hostinger.fr/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
13 + 'es_ES' => 'https://www.hostinger.es/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
14 + 'ar' => 'https://www.hostinger.ae/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
15 + 'zh_CN' => 'https://www.hostinger.com.hk/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
16 + 'id_ID' => 'https://www.hostinger.co.id/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
17 + 'lt_LT' => 'https://www.hostinger.lt/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
18 + 'pt_PT' => 'https://www.hostinger.pt/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
19 + 'uk' => 'https://www.hostinger.com.ua/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
20 + 'tr_TR' => 'https://www.hostinger.com.tr/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
21 + 'en_US' => 'https://www.hostinger.com/cpanel-login?r=%2Fjump-to%2Fnew-panel%2Fsection%2Freferrals&utm_source=Banner&utm_medium=HostingerWPplugin',
22 + );
50 23
51 - public const HOMEPAGE_DISPLAY = 'page';
24 + private const HPANEL_DOMAIN_URL = 'https://hpanel.hostinger.com/websites/';
52 25
53 - /**
54 - *
55 - * Check if plugin is active
56 - *
57 - * @since 1.0.0
58 - * @access public
59 - */
60 - public static function is_plugin_active( $plugin_slug ): bool {
61 - $active_plugins = (array) get_option( 'active_plugins', array() );
62 - foreach ( $active_plugins as $active_plugin ) {
63 - if ( strpos( $active_plugin, $plugin_slug . '.php' ) !== false ) {
64 - return true;
65 - }
66 - }
26 + /**
27 + *
28 + * Check if plugin is active
29 + *
30 + * @since 1.0.0
31 + * @access public
32 + */
33 + public static function is_plugin_active( $plugin_slug ): bool {
34 + $active_plugins = (array) get_option( 'active_plugins', array() );
35 + foreach ( $active_plugins as $active_plugin ) {
36 + if ( strpos( $active_plugin, $plugin_slug . '.php' ) !== false ) {
37 + return true;
38 + }
39 + }
67 40
68 - return false;
69 - }
41 + return false;
42 + }
70 43
71 - public function is_preview_domain( $headers = null ): bool {
72 - // @codeCoverageIgnoreStart
73 - if ( $headers === null && function_exists( 'getallheaders' ) ) {
74 - $headers = getallheaders();
75 - }
76 - // @codeCoverageIgnoreEnd
77 - if ( isset( $headers['X-Preview-Indicator'] ) && $headers['X-Preview-Indicator'] ) {
78 - return true;
79 - }
44 + public function is_preview_domain( $headers = null ): bool {
45 + // @codeCoverageIgnoreStart
46 + if ( $headers === null && function_exists( 'getallheaders' ) ) {
47 + $headers = getallheaders();
48 + }
49 + // @codeCoverageIgnoreEnd
50 + if ( isset( $headers['X-Preview-Indicator'] ) && $headers['X-Preview-Indicator'] ) {
51 + return true;
52 + }
80 53
81 - return false;
82 - }
54 + return false;
55 + }
83 56
84 - public static function woocommerce_onboarding_choice(): bool {
85 - return (bool) get_option( 'hostinger_woo_onboarding_choice', false );
86 - }
57 + public static function woocommerce_onboarding_choice(): bool {
58 + return (bool) get_option( 'hostinger_woo_onboarding_choice', false );
59 + }
87 60
88 - public static function generate_bypass_code( $length ) {
89 - $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
90 - $code = '';
91 - $max_index = strlen( $characters ) - 1;
61 + public static function generate_bypass_code( $length ) {
62 + $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
63 + $code = '';
64 + $max_index = strlen( $characters ) - 1;
92 65
93 - for ( $i = 0; $i < $length; $i++ ) {
94 - $random_index = wp_rand( 0, $max_index );
95 - $code .= $characters[ $random_index ];
96 - }
66 + for ( $i = 0; $i < $length; $i++ ) {
67 + $random_index = wp_rand( 0, $max_index );
68 + $code .= $characters[ $random_index ];
69 + }
97 70
98 - return $code;
99 - }
71 + return $code;
72 + }
100 73
74 + public function should_plugin_split_notice_shown() {
75 + $plugin_split_notice_hidden = get_transient( 'hts_plugin_split_notice_hidden' );
101 76
102 -
103 - public function get_hostinger_plugin_url(): string {
104 - $website_locale = get_locale() ?? 'en_US';
105 - $reseller_locale = get_option( 'hostinger_reseller', null );
106 - $base_domain = $reseller_locale ?? ( self::HOSTINGER_LOCALES[ $website_locale ] ?? 'hostinger.com' );
107 -
108 - $plugin_url = rtrim( $base_domain, '/' ) . '/';
109 - $plugin_url .= str_replace( ABSPATH, '', HOSTINGER_ABSPATH );
110 -
111 - return $plugin_url;
112 - }
113 -
114 - public function get_recommended_php_version(): string {
115 - $wp_version = get_bloginfo( 'version' );
116 -
117 - if ( empty( $wp_version ) ) {
118 - return '8.2';
77 + if ( $plugin_split_notice_hidden !== false ) {
78 + return false;
119 79 }
120 80
121 - // Remove any additional version info (like -RC1, -beta1, etc.).
122 - $wp_version = preg_replace( '/[-+].*$/', '', $wp_version );
123 -
124 - if ( version_compare( $wp_version, '6.6', '>=' ) ) {
125 - return '8.2';
81 + if ( ! version_compare( HOSTINGER_VERSION, '3.0.0', '>=' ) ) {
82 + return false;
126 83 }
127 84
128 - if ( version_compare( $wp_version, '6.3', '>=' ) ) {
129 - return '8.1';
85 + if ( is_plugin_active( 'hostinger-easy-onboarding/hostinger-easy-onboarding.php' ) ) {
86 + return false;
130 87 }
131 88
132 - if ( version_compare( $wp_version, '5.3', '>=' ) ) {
133 - return '7.4';
134 - }
135 -
136 - if ( version_compare( $wp_version, '5.0', '>=' ) ) {
137 - return '7.3';
138 - }
139 -
140 - if ( version_compare( $wp_version, '4.9', '=' ) ) {
141 - return '7.2';
142 - }
143 -
144 - if ( version_compare( $wp_version, '4.7', '>=' ) ) {
145 - return '7.1';
146 - }
147 -
148 - if ( version_compare( $wp_version, '4.4', '>=' ) ) {
149 - return '7.0';
150 - }
151 -
152 - return '5.6';
89 + return true;
153 90 }
91 +}
154 92
155 - public function get_edit_site_url(): string {
156 - if ( wp_is_block_theme() ) {
157 - return add_query_arg(
158 - array(
159 - 'canvas' => 'edit',
160 - ),
161 - admin_url( 'site-editor.php' )
162 - );
163 - }
164 -
165 - $show_on_front = get_option( 'show_on_front' );
166 - $front_page_id = get_option( 'page_on_front' );
167 -
168 - if ( $show_on_front === self::HOMEPAGE_DISPLAY && $front_page_id ) {
169 - return add_query_arg(
170 - array(
171 - 'post' => $front_page_id,
172 - 'action' => 'edit',
173 - ),
174 - admin_url( 'post.php' )
175 - );
176 - }
177 -
178 - return '';
179 - }
180 -}
93 +$hostinger_helper = new Helper();