PluginProbe
Hostinger Tools / 3.0.5
Hostinger Tools v3.0.5
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 +58 -163 3.0.663.0.5 View file →
@@ -4,177 +4,72 @@
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 + }
73 +}
100 74
101 -
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';
119 - }
120 -
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';
126 - }
127 -
128 - if ( version_compare( $wp_version, '6.3', '>=' ) ) {
129 - return '8.1';
130 - }
131 -
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';
153 - }
154 -
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 -}
75 +$hostinger_helper = new Helper();