50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
| #!/usr/bin/env php
 | |
| <?php
 | |
| 
 | |
| require_once __DIR__ . '/../app/core/Maintenance.php';
 | |
| 
 | |
| use App\Core\Maintenance;
 | |
| 
 | |
| function usage()
 | |
| {
 | |
|     echo "\nJilo Web - Maintenance Mode\n";
 | |
|     echo "Usage:\n";
 | |
|     echo "  php scripts/maintenance.php on  [message]  # Enable maintenance mode with optional message\n";
 | |
|     echo "  php scripts/maintenance.php off           # Disable maintenance mode\n";
 | |
|     echo "  php scripts/maintenance.php status        # Show maintenance status\n\n";
 | |
| }
 | |
| 
 | |
| $cmd = $argv[1] ?? 'status';
 | |
| 
 | |
| try {
 | |
|     switch ($cmd) {
 | |
|         case 'on':
 | |
|             $message = $argv[2] ?? '';
 | |
|             if (Maintenance::enable($message)) {
 | |
|                 echo "Maintenance mode ENABLED" . ($message ? ": $message" : '') . "\n";
 | |
|                 exit(0);
 | |
|             }
 | |
|             fwrite(STDERR, "Failed to enable maintenance mode\n");
 | |
|             exit(1);
 | |
|         case 'off':
 | |
|             if (Maintenance::disable()) {
 | |
|                 echo "Maintenance mode DISABLED\n";
 | |
|                 exit(0);
 | |
|             }
 | |
|             fwrite(STDERR, "Failed to disable maintenance mode\n");
 | |
|             exit(1);
 | |
|         case 'status':
 | |
|         default:
 | |
|             if (Maintenance::isEnabled()) {
 | |
|                 $msg = Maintenance::getMessage();
 | |
|                 echo "Maintenance: ON" . ($msg ? " - $msg" : '') . "\n";
 | |
|             } else {
 | |
|                 echo "Maintenance: OFF\n";
 | |
|             }
 | |
|             exit(0);
 | |
|     }
 | |
| } catch (Throwable $e) {
 | |
|     fwrite(STDERR, "Error: " . $e->getMessage() . "\n");
 | |
|     exit(1);
 | |
| }
 |