PluginProbe
Hostinger Tools / 3.0.78
Hostinger Tools v3.0.78
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 | hostinger.php +107 -28 1.9.53.0.78 View file →
@@ -1,13 +1,13 @@
1 1 <?php
2 -
3 2 /**
4 - * Plugin Name: Hostinger
3 + * Plugin Name: Hostinger Tools
5 4 * Plugin URI: https://hostinger.com
6 5 * Description: Hostinger WordPress plugin.
7 - * Version: 1.9.5
8 - * Requires at least: 5.6
9 - * Requires PHP: 7.4
6 + * Version: 3.0.78
7 + * Requires at least: 5.5
8 + * Tested up to: 7.1
9 + * Requires PHP: 8.1
10 10 * Author: Hostinger
11 11 * License: GPL v3
12 12 * License URI: https://www.gnu.org/licenses/gpl-3.0.html
13 13 * Author URI: https://www.hostinger.com
@@ -13,58 +13,137 @@
13 13 * Author URI: https://www.hostinger.com
14 14 * Text Domain: hostinger
15 15 * Domain Path: /languages
16 16 *
17 + * @package Hostinger
17 18 */
18 19
20 +use Hostinger\Hostinger;
21 +use Hostinger\Activator;
22 +use Hostinger\Deactivator;
23 +use Hostinger\WpMenuManager\Manager;
24 +
19 25 defined( 'ABSPATH' ) || exit;
20 26
21 -if ( ! defined( 'HOSTINGER_VERSION' ) ) {
22 - define( 'HOSTINGER_VERSION', '1.9.5' );
23 -}
27 +define( 'HOSTINGER_WORDPRESS_PLUGIN_VERSION', '3.0.78' );
24 28
25 29 if ( ! defined( 'HOSTINGER_ABSPATH' ) ) {
26 - define( 'HOSTINGER_ABSPATH', plugin_dir_path( __FILE__ ) );
30 + define( 'HOSTINGER_ABSPATH', plugin_dir_path( __FILE__ ) );
27 31 }
28 32
29 33 if ( ! defined( 'HOSTINGER_PLUGIN_FILE' ) ) {
30 - define( 'HOSTINGER_PLUGIN_FILE', __FILE__ );
34 + define( 'HOSTINGER_PLUGIN_FILE', __FILE__ );
31 35 }
32 36
33 37 if ( ! defined( 'HOSTINGER_PLUGIN_URL' ) ) {
34 - define( 'HOSTINGER_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
38 + define( 'HOSTINGER_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
35 39 }
36 40
37 41 if ( ! defined( 'HOSTINGER_ASSETS_URL' ) ) {
38 - define( 'HOSTINGER_ASSETS_URL', plugin_dir_url( __FILE__ ) . 'assets' );
42 + define( 'HOSTINGER_ASSETS_URL', plugin_dir_url( __FILE__ ) . 'assets/' );
39 43 }
40 44
45 +if ( ! defined( 'HOSTINGER_VUE_ASSETS_URL' ) ) {
46 + define( 'HOSTINGER_VUE_ASSETS_URL', plugin_dir_url( __FILE__ ) . 'vue-frontend/dist' );
47 +}
48 +
41 49 if ( ! defined( 'HOSTINGER_WP_CONFIG_PATH' ) ) {
42 - define( 'HOSTINGER_WP_CONFIG_PATH', ABSPATH . '/.private/config.json' );
50 + define( 'HOSTINGER_WP_CONFIG_PATH', ABSPATH . '.private/config.json' );
43 51 }
44 52
45 53 if ( ! defined( 'HOSTINGER_WP_TOKEN' ) ) {
46 - $path = explode('/', __DIR__);
47 - $serverRootPath = '/' . $path[1] . '/' . $path[2];
48 - define( 'HOSTINGER_WP_TOKEN', $serverRootPath . '/.api_token' );
54 + $hostinger_dir_parts = explode( '/', __DIR__ );
55 + $hostinger_server_root_path = '/' . $hostinger_dir_parts[1] . '/' . $hostinger_dir_parts[2];
56 + define( 'HOSTINGER_WP_TOKEN', $hostinger_server_root_path . '/.api_token' );
49 57 }
50 58
51 59 if ( ! defined( 'HOSTINGER_REST_URI' ) ) {
52 - define( 'HOSTINGER_REST_URI', 'https://rest-hosting.hostinger.com' );
60 + define( 'HOSTINGER_REST_URI', 'https://rest-hosting.hostinger.com' );
53 61 }
54 62
55 -function activate_hostinger(): void {
56 - require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-activator.php';
57 - Hostinger_Activator::activate();
63 +if ( ! defined( 'HOSTINGER_PLUGIN_SETTINGS_OPTION' ) ) {
64 + define( 'HOSTINGER_PLUGIN_SETTINGS_OPTION', 'hostinger_tools' );
58 65 }
59 66
60 -function deactivate_hostinger(): void {
61 - require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-deactivator.php';
62 - Hostinger_Deactivator::deactivate();
67 +if ( ! defined( 'HOSTINGER_PLUGIN_REST_API_BASE' ) ) {
68 + define( 'HOSTINGER_PLUGIN_REST_API_BASE', 'hostinger-tools-plugin/v1' );
63 69 }
64 70
65 -register_activation_hook( __FILE__, 'activate_hostinger' );
66 -register_deactivation_hook( __FILE__, 'deactivate_hostinger' );
67 -require_once HOSTINGER_ABSPATH . 'includes/class-hostinger.php';
71 +if ( ! defined( 'HOSTINGER_PLUGIN_MINIMUM_PHP_VERSION' ) ) {
72 + define( 'HOSTINGER_PLUGIN_MINIMUM_PHP_VERSION', '8.1' );
73 +}
68 74
69 -$plugin = new Hostinger();
70 -$plugin->run();
75 +if ( ! version_compare( phpversion(), HOSTINGER_PLUGIN_MINIMUM_PHP_VERSION, '>=' ) ) {
76 + add_action(
77 + 'admin_notices',
78 + function () {
79 + ?>
80 + <div class="notice notice-error is-dismissible hts-theme-settings">
81 + <p>
82 + <?php /* translators: %s: PHP version */ ?>
83 + <strong><?php echo esc_html__( 'Attention:', 'hostinger' ); ?></strong> <?php printf( wp_kses( 'The Hostinger plugin requires minimum PHP version of <b>%s</b>.', 'hostinger' ), esc_html( HOSTINGER_PLUGIN_MINIMUM_PHP_VERSION ) ); ?>
84 + </p>
85 + <p>
86 + <?php /* translators: %s: PHP version */ ?>
87 + <?php printf( wp_kses( 'You are running <b>%s</b> PHP version.', 'hostinger' ), esc_html( phpversion() ) ); ?>
88 + </p>
89 + </div>
90 + <?php
91 + }
92 + );
93 +
94 + return;
95 +}
96 +
97 +$vendor_file = __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload_packages.php';
98 +
99 +if ( file_exists( $vendor_file ) ) {
100 + require_once $vendor_file;
101 +} else {
102 + return;
103 +}
104 +
105 +// Action Scheduler should be loaded before plugins_loaded hook.
106 +$action_scheduler = __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'woocommerce' . DIRECTORY_SEPARATOR . 'action-scheduler' . DIRECTORY_SEPARATOR . 'action-scheduler.php';
107 +if ( file_exists( $action_scheduler ) ) {
108 + require_once $action_scheduler;
109 +}
110 +
111 +/**
112 + * Plugin activation hook.
113 + */
114 +function hostinger_activate(): void {
115 + Activator::activate();
116 +}
117 +
118 +/**
119 + * Plugin deactivation hook.
120 + */
121 +function hostinger_deactivate(): void {
122 + Deactivator::deactivate();
123 +}
124 +
125 +register_activation_hook( __FILE__, 'hostinger_activate' );
126 +register_deactivation_hook( __FILE__, 'hostinger_deactivate' );
127 +
128 +if ( ! function_exists( 'hostinger_load_menus' ) ) {
129 + function hostinger_load_menus(): void {
130 + $manager = Manager::getInstance();
131 + $manager->boot();
132 + }
133 +}
134 +
135 +if ( ! has_action( 'plugins_loaded', 'hostinger_load_menus' ) ) {
136 + add_action( 'plugins_loaded', 'hostinger_load_menus' );
137 +}
138 +
139 +
140 +function load_plugin() {
141 + if ( class_exists( 'Hostinger\Hostinger' ) ) {
142 + $hostinger = new Hostinger();
143 + $hostinger->run();
144 + }
145 +}
146 +add_action( 'plugins_loaded', 'load_plugin' );
147 +
148 +
149 +