PluginProbe
Hostinger Tools / 2.2.2
Hostinger Tools v2.2.2
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/ComingSoon.php +13 -85 3.0.722.2.2 View file →
@@ -1,97 +1,25 @@
1 1 <?php
2 2
3 3 namespace Hostinger;
4 4
5 -use Hostinger\Admin\Options\PluginOptions;
6 -use Hostinger\Admin\PluginSettings;
7 -
8 5 defined( 'ABSPATH' ) || exit;
9 6
10 7 class ComingSoon {
11 - /**
12 - * @var PluginOptions
13 - */
14 - private PluginOptions $plugin_options;
8 + public function __construct() {
9 + add_action( 'wp_footer', array( $this, 'register_styles' ) );
10 + add_action( 'template_redirect', array( $this, 'coming_soon' ) );
11 + }
15 12
16 - public function __construct() {
17 - $plugin_settings = new PluginSettings();
18 - $this->plugin_options = $plugin_settings->get_plugin_settings();
13 + public function coming_soon(): void {
14 + if ( ! is_user_logged_in() && ! is_admin() && ! current_user_can( 'update_plugins' ) ) {
15 + include_once HOSTINGER_ABSPATH . 'includes/Views/ComingSoon.php';
16 + die;
17 + }
18 + }
19 19
20 - add_action( 'wp_footer', array( $this, 'register_styles' ) );
21 - add_action( 'template_redirect', array( $this, 'coming_soon' ) );
22 - add_filter( 'wp_headers', array( $this, 'modify_headers' ) );
23 -
24 - // Fix deprecated warning.
25 - if ( has_action( 'wp_footer', 'the_block_template_skip_link' ) ) {
26 - remove_action( 'wp_footer', 'the_block_template_skip_link' );
27 - }
28 - }
29 -
30 - /**
31 - * @return void
32 - */
33 - public function coming_soon(): void {
34 - // Do not cache coming soon page.
35 - if ( has_action( 'litespeed_purge_all' ) && ! defined( 'DONOTCACHEPAGE' ) ) {
36 - define( 'DONOTCACHEPAGE', true );
37 - }
38 -
39 - if ( ! $this->can_bypass_coming_soon() ) {
40 - include_once HOSTINGER_ABSPATH . 'includes/Views/ComingSoon.php';
41 - die;
42 - }
43 - }
44 -
45 - /**
46 - * @return void
47 - */
48 - public function register_styles(): void {
49 - wp_enqueue_style(
50 - 'hostinger_main_styles',
51 - HOSTINGER_ASSETS_URL . '/css/coming-soon.min.css',
52 - array(),
53 - HOSTINGER_WORDPRESS_PLUGIN_VERSION
54 - );
55 - }
56 -
57 - /**
58 - * @param array $headers
59 - *
60 - * @return array
61 - */
62 - public function modify_headers( array $headers ): array {
63 - $headers['Cache-Control'] = 'no-cache';
64 -
65 - return $headers;
66 - }
67 -
68 - /**
69 - * @return bool
70 - */
71 - /** PHPCS:disable WordPress.Security.NonceVerification.Recommended */
72 - private function can_bypass_coming_soon(): bool {
73 - $bypass_code = isset( $_COOKIE['hostinger_bypass_code'] ) ? sanitize_text_field( $_COOKIE['hostinger_bypass_code'] ) : '';
74 -
75 - if ( isset( $_GET['bypass_code'] ) && $this->plugin_options->get_bypass_code() === $_GET['bypass_code'] ) {
76 - setcookie( 'hostinger_bypass_code', $this->plugin_options->get_bypass_code() );
77 - $bypass_code = $this->plugin_options->get_bypass_code();
78 - }
79 -
80 - if ( is_admin() ) {
81 - return true;
82 - }
83 -
84 - if ( current_user_can( 'update_plugins' ) ) {
85 - return true;
86 - }
87 -
88 - if ( ! empty( $bypass_code ) && $bypass_code === $this->plugin_options->get_bypass_code() ) {
89 - return true;
90 - }
91 -
92 - return false;
93 - }
94 - /** PHPCS:enable */
20 + public function register_styles(): void {
21 + wp_enqueue_style( 'hostinger_main_styles', HOSTINGER_ASSETS_URL . '/css/coming-soon.css', array(), HOSTINGER_VERSION );
22 + }
95 23 }
96 24
97 25 new ComingSoon();