PluginProbe ʕ •ᴥ•ʔ
Hostinger Tools / 3.0.70
Hostinger Tools v3.0.70
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 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 / Cli / Commands / Maintenance.php
hostinger / includes / Cli / Commands Last commit date
AI.php 2 weeks ago Maintenance.php 1 year ago
Maintenance.php
115 lines
1 <?php
2
3 namespace Hostinger\Cli\Commands;
4
5 use Hostinger\Admin\PluginSettings;
6 use WP_CLI;
7 use Hostinger\Settings;
8
9 defined( 'ABSPATH' ) || exit;
10
11 class Maintenance {
12
13 public static function define_command(): void {
14 if ( class_exists( '\WP_CLI' ) ) {
15 WP_CLI::add_command(
16 'hostinger',
17 self::class,
18 array(
19 'shortdesc' => 'List of Hostinger commands.',
20 'longdesc' => 'Available Hostinger commands:' . "\n\n" .
21 ' wp hostinger maintenance mode <0|1>' . "\n" .
22 ' Manage the maintenance mode of the site. Use 1 to enable and 0 to disable maintenance mode.' . "\n\n" .
23 ' wp hostinger maintenance status' . "\n" .
24 ' Display the current maintenance mode status.' . "\n\n" .
25 '## SUBCOMMANDS' . "\n\n" .
26 '* mode <0|1>' . "\n" .
27 ': Enable (1) or disable (0) maintenance mode.' . "\n\n" .
28 '* status' . "\n" .
29 ': Display the current maintenance mode status.' . "\n\n" .
30 '## EXAMPLES' . "\n\n" .
31 ' wp hostinger maintenance mode 1' . "\n" .
32 ' Enables the maintenance mode.' . "\n\n" .
33 ' wp hostinger maintenance mode 0' . "\n" .
34 ' Disables the maintenance mode.' . "\n\n" .
35 ' wp hostinger maintenance status' . "\n" .
36 ' Returns whether maintenance mode is enabled or disabled.' . "\n",
37 )
38 );
39
40 WP_CLI::add_command(
41 'hostinger maintenance',
42 self::class,
43 array(
44 'shortdesc' => 'Manage the maintenance mode of the site.',
45 'longdesc' => 'This command allows you to enable or disable maintenance mode for the site.' . "\n\n" .
46 '## OPTIONS' . "\n\n" .
47 'mode <0|1>' . "\n" .
48 ': Enable (1) or disable (0) maintenance mode.' . "\n\n" .
49 '## EXAMPLES' . "\n\n" .
50 ' wp hostinger maintenance mode 1' . "\n" .
51 ' Enables the maintenance mode.' . "\n\n" .
52 ' wp hostinger maintenance mode 0' . "\n" .
53 ' Disables the maintenance mode.' . "\n\n" .
54 ' wp hostinger maintenance status' . "\n" .
55 ' Returns whether maintenance mode is enabled or disabled.' . "\n",
56 )
57 );
58 }
59 }
60
61 /**
62 * Command allows enable/disable maintenance mode.
63 *
64 * @param array $args
65 *
66 * @return void
67 * @throws \Exception
68 */
69 public function mode( array $args ): void {
70 if ( empty( $args ) ) {
71 WP_CLI::error( 'Arguments cannot be empty. Use 0 or 1' );
72 }
73
74 $plugin_settings = new PluginSettings();
75 $plugin_options = $plugin_settings->get_plugin_settings();
76
77 switch ( $args[0] ) {
78 case '1':
79 $plugin_options->set_maintenance_mode( true );
80 WP_CLI::success( 'Maintenance mode ENABLED' );
81 break;
82 case '0':
83 $plugin_options->set_maintenance_mode( false );
84 WP_CLI::success( 'Maintenance mode DISABLED' );
85 break;
86 default:
87 throw new \Exception( 'Invalid maintenance mode value' );
88 }
89
90 $plugin_settings->save_plugin_settings( $plugin_options );
91
92 if ( has_action( 'litespeed_purge_all' ) ) {
93 do_action( 'litespeed_purge_all' );
94 }
95 }
96
97 /**
98 * Command return maintenance mode status.
99 *
100 * @return bool
101 */
102 public function status(): bool {
103 $plugin_settings = new PluginSettings();
104 $plugin_options = $plugin_settings->get_plugin_settings();
105
106 if ( $plugin_options->get_maintenance_mode() ) {
107 WP_CLI::success( 'Maintenance mode ENABLED' );
108 } else {
109 WP_CLI::success( 'Maintenance mode DISABLED' );
110 }
111
112 return (bool) $plugin_options->get_maintenance_mode();
113 }
114 }
115