PluginProbe
Hostinger Tools / 3.0.79
Hostinger Tools v3.0.79
3.0.79 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 All 110 releases
hostinger / hostinger.php

hostinger.php in Hostinger Tools 3.0.79, at hostinger.php

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