PluginProbe
Hostinger Tools / 2.1.1
Hostinger Tools v2.1.1
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/class-hostinger-bootstrap.php +65 -6 1.8.22.1.1 View file →
@@ -12,11 +12,18 @@
12 12
13 13 public function run(): void {
14 14 $this->load_dependencies();
15 15 $this->set_locale();
16 + $this->session_actions();
16 17 $this->loader->run();
17 18 }
18 19
20 + public function session_actions() {
21 + $helper = new Hostinger_Helper();
22 + $this->loader->add_action( 'init', $helper, 'register_session' );
23 + $this->loader->add_action( 'wp_logout', $helper, 'destroy_session' );
24 + }
25 +
19 26 private function load_dependencies(): void {
20 27 require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-config.php';
21 28 require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-helper.php';
22 29 require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-errors.php';
@@ -21,16 +28,25 @@
21 28 require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-helper.php';
22 29 require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-errors.php';
23 30 require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-settings.php';
24 31 require_once HOSTINGER_ABSPATH . 'includes/requests/class-hostinger-requests-client.php';
25 - require_once HOSTINGER_ABSPATH . 'includes/amplitude/class-hostinger-amplitude-actions.php';
26 - require_once HOSTINGER_ABSPATH . 'includes/amplitude/class-hostinger-amplitude.php';
27 - require_once HOSTINGER_ABSPATH . 'includes/surveys/class-hostinger-surveys-questions.php';
28 - require_once HOSTINGER_ABSPATH . 'includes/surveys/class-hostinger-surveys.php';
32 +
33 + if ( ! empty( Hostinger_Helper::get_api_token() ) ) {
34 + require_once HOSTINGER_ABSPATH . 'includes/amplitude/class-hostinger-amplitude-actions.php';
35 + require_once HOSTINGER_ABSPATH . 'includes/amplitude/class-hostinger-amplitude.php';
36 + require_once HOSTINGER_ABSPATH . 'includes/surveys/class-hostinger-surveys-questions.php';
37 + require_once HOSTINGER_ABSPATH . 'includes/surveys/Rest/class-hostinger-surveys-rest.php';
38 + require_once HOSTINGER_ABSPATH . 'includes/surveys/class-hostinger-surveys.php';
39 + }
40 +
29 41 $this->load_onboarding_dependencies();
42 + $this->load_public_dependencies();
30 43
31 44 if ( is_admin() ) {
32 45 $this->load_admin_dependencies();
46 + if ( ! empty( Hostinger_Helper::get_api_token() ) ) {
47 + $this->define_admin_surveys();
48 + }
33 49 }
34 50
35 51 if ( defined( 'WP_CLI' ) && WP_CLI ) {
36 52 require_once HOSTINGER_ABSPATH . 'includes/class-hostinger-cli.php';
@@ -46,23 +62,66 @@
46 62 private function set_locale() {
47 63
48 64 $plugin_i18n = new Hostinger_i18n();
49 65 $this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' );
50 -
51 66 }
52 67
53 68 private function load_admin_dependencies(): void {
54 69 require_once HOSTINGER_ABSPATH . 'includes/admin/class-hostinger-admin-assets.php';
70 + require_once HOSTINGER_ABSPATH . 'includes/admin/class-hostinger-admin-hooks.php';
55 71 require_once HOSTINGER_ABSPATH . 'includes/admin/class-hostinger-admin-menu.php';
56 72 require_once HOSTINGER_ABSPATH . 'includes/admin/class-hostinger-admin-ajax.php';
57 73 require_once HOSTINGER_ABSPATH . 'includes/admin/class-hostinger-admin-redirect.php';
58 74 }
59 75
76 + private function define_admin_surveys(): void {
77 + $settings = new Hostinger_Settings();
78 + $helper = new Hostinger_Helper();
79 + $config_handler = new Hostinger_Config();
80 + $survey_questions = new Hostinger_Surveys_Questions();
81 + $client = new Hostinger_Requests_Client(
82 + $config_handler->get_config_value( 'base_rest_uri', HOSTINGER_REST_URI ),
83 + array(
84 + Hostinger_Config::TOKEN_HEADER => $helper::get_api_token(),
85 + Hostinger_Config::DOMAIN_HEADER => $helper->get_host_info(),
86 + )
87 + );
88 + $rest = new Hostinger_Surveys_Rest( $client );
89 + $surveys = new Hostinger_Surveys( $settings, $helper, $config_handler, $survey_questions, $rest );
90 +
91 + switch ( true ) {
92 + case $surveys->is_woocommerce_survey_enabled():
93 + $survey_function = 'customer_csat_survey';
94 + break;
95 +
96 + case $surveys->is_ai_onboarding_survey_enabled():
97 + $survey_function = 'customer_ai_csat_survey';
98 + break;
99 +
100 + case $surveys->is_content_generation_survey_enabled():
101 + $survey_function = 'ai_plugin_survey';
102 + break;
103 +
104 + case $surveys->is_affiliate_survey_enabled():
105 + $survey_function = 'affiliate_plugin_survey';
106 + break;
107 +
108 + default:
109 + return; // No survey enabled
110 + }
111 +
112 + $this->loader->add_action( 'admin_footer', $surveys, $survey_function, 10 );
113 + }
114 +
115 + private function load_public_dependencies(): void {
116 + require_once HOSTINGER_ABSPATH . 'includes/public/class-hostinger-public-assets.php';
117 + }
118 +
60 119 private function load_onboarding_dependencies(): void {
61 120 require_once HOSTINGER_ABSPATH . 'includes/admin/class-hostinger-admin-actions.php';
62 121 require_once HOSTINGER_ABSPATH . 'includes/admin/onboarding/class-hostinger-onboarding-settings.php';
63 122
64 - if( ! Hostinger_Onboarding_Settings::all_steps_completed() ) {
123 + if ( ! Hostinger_Onboarding_Settings::all_steps_completed() ) {
65 124 require_once HOSTINGER_ABSPATH . 'includes/admin/onboarding/class-hostinger-autocomplete-steps.php';
66 125 }
67 126 }
68 127 }