PluginProbe ʕ •ᴥ•ʔ
Hostinger Tools / 3.0.69
Hostinger Tools v3.0.69
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 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 3.0.0 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.26 3.0.27 3.0.28 3.0.29 3.0.3 3.0.30 3.0.31 3.0.32 3.0.33 3.0.34 3.0.35 3.0.36 3.0.37 3.0.38 3.0.39 3.0.4 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.0.46 3.0.47 3.0.48 3.0.49 3.0.5 3.0.50 3.0.51 3.0.52 3.0.53 3.0.54 3.0.55 3.0.56 3.0.57 3.0.58 3.0.59 3.0.6 3.0.60 3.0.61 3.0.62 3.0.65 3.0.7 3.0.8 3.0.9 trunk 1.8.0
hostinger / includes / Bootstrap.php
hostinger / includes Last commit date
Admin 2 months ago Cli 2 weeks ago LlmsTxtGenerator 2 weeks ago Mcp 11 months ago Preview 1 year ago Rest 10 months ago Views 1 year ago Activator.php 1 year ago Bootstrap.php 9 months ago Cli.php 9 months ago ComingSoon.php 2 months ago Deactivator.php 1 year ago DefaultOptions.php 2 months ago Errors.php 1 year ago Helper.php 9 months ago Hooks.php 2 months ago Hostinger.php 2 months ago I18n.php 1 year ago LlmsTxtGenerator.php 1 year ago Loader.php 1 year ago Settings.php 1 year ago
Bootstrap.php
96 lines
1 <?php
2
3 namespace Hostinger;
4
5
6 use Hostinger\Admin\PluginSettings;
7 use Hostinger\Admin\Jobs\JobInitializer;
8 use Hostinger\Admin\Proxy;
9 use Hostinger\LlmsTxtGenerator\LlmsTxtFileHelper;
10 use Hostinger\LlmsTxtGenerator\LlmsTxtParser;
11 use Hostinger\Rest\Routes;
12 use Hostinger\Rest\SettingsRoutes;
13 use Hostinger\Admin\Assets as AdminAssets;
14 use Hostinger\Admin\Hooks as AdminHooks;
15 use Hostinger\Admin\Menu as AdminMenu;
16 use Hostinger\Admin\Redirects as AdminRedirects;
17 use Hostinger\WpHelper\Config;
18 use Hostinger\WpHelper\Requests\Client;
19 use Hostinger\WpHelper\Utils;
20 use Hostinger\LlmsTxtGenerator\LlmsTxtGenerator;
21
22 defined( 'ABSPATH' ) || exit;
23
24 class Bootstrap {
25
26 protected Loader $loader;
27 protected Utils $utils;
28 protected Config $config;
29
30 public function __construct() {
31 $this->loader = new Loader();
32 $this->utils = new Utils();
33 $this->config = new Config();
34 }
35
36 public function run(): void {
37 $this->load_dependencies();
38 $this->set_locale();
39 $this->loader->run();
40 }
41
42 private function load_dependencies(): void {
43 $this->load_public_dependencies();
44
45 if ( is_admin() ) {
46 $this->load_admin_dependencies();
47 }
48
49 if ( defined( 'WP_CLI' ) && WP_CLI ) {
50 new Cli();
51 }
52
53 $plugin_settings = new PluginSettings();
54 $plugin_options = $plugin_settings->get_plugin_settings();
55
56 if ( $plugin_options->get_maintenance_mode() ) {
57 require_once HOSTINGER_ABSPATH . 'includes/ComingSoon.php';
58 }
59 }
60
61 private function set_locale() {
62 $plugin_i18n = new I18n();
63 $this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' );
64 }
65
66 private function load_admin_dependencies(): void {
67 new AdminAssets();
68 new AdminHooks( $this->utils );
69 new AdminMenu();
70 new AdminRedirects();
71 new AdminRedirects();
72 }
73
74 private function load_public_dependencies(): void {
75
76 $client = new Client(
77 'https://wh-wordpress-proxy-api.hostinger.io',
78 array(
79 Config::TOKEN_HEADER => $this->utils->getApiToken(),
80 Config::DOMAIN_HEADER => $this->utils->getHostInfo(),
81 )
82 );
83
84 new JobInitializer( new Proxy( $client, $this->utils ) );
85 new Hooks();
86
87 $plugin_settings = new PluginSettings();
88
89 new LlmsTxtGenerator( $plugin_settings, new LlmsTxtFileHelper(), new LlmsTxtParser() );
90
91 $settings_routes = new SettingsRoutes( $plugin_settings );
92 $routes = new Routes( $settings_routes );
93 $routes->init();
94 }
95 }
96