Split detail page contracts
This commit is contained in:
41
lib/Console/Commands/Module/DeactivateCommand.php
Normal file
41
lib/Console/Commands/Module/DeactivateCommand.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace MintyPHP\Console\Commands\Module;
|
||||
|
||||
use MintyPHP\Console\Command;
|
||||
|
||||
final class DeactivateCommand extends Command
|
||||
{
|
||||
public function name(): string
|
||||
{
|
||||
return 'module:deactivate';
|
||||
}
|
||||
|
||||
public function description(): string
|
||||
{
|
||||
return 'Run a module\'s deactivation handler (--confirm or --dry-run)';
|
||||
}
|
||||
|
||||
public function execute(array $args, array $options): int
|
||||
{
|
||||
$moduleId = $args[0] ?? '';
|
||||
if ($moduleId === '') {
|
||||
fwrite(STDERR, "Usage: php bin/console module:deactivate <module-id> --confirm|--dry-run\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Rebuild global argv for the underlying script
|
||||
global $argv;
|
||||
$argv = ['module-deactivate.php', $moduleId];
|
||||
if ($options['confirm'] ?? false) {
|
||||
$argv[] = '--confirm';
|
||||
}
|
||||
if ($options['dry-run'] ?? false) {
|
||||
$argv[] = '--dry-run';
|
||||
}
|
||||
|
||||
require_once __DIR__ . '/../../../../bin/module-deactivate.php';
|
||||
|
||||
return moduleDeactivateRun();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user