PluginProbe
Hostinger Tools / 3.0.76
Hostinger Tools v3.0.76
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
hostinger / includes / Cli / Commands / Maintenance.php

Maintenance.php in Hostinger Tools 3.0.76, at includes/Cli/Commands/Maintenance.php

115 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 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