addArgument('name', InputArgument::REQUIRED, 'Plugin name, for example foo/my-admin'); } /** * @param InputInterface $input * @param OutputInterface $output * @return int */ protected function execute(InputInterface $input, OutputInterface $output): int { $name = $input->getArgument('name'); $output->writeln("Disable plugin $name"); if (!strpos($name, '/')) { $output->writeln('Bad name, name must contain character \'/\' , for example foo/MyAdmin'); return self::FAILURE; } $config_file = config_path() . "/plugin/$name/app.php"; if (!is_file($config_file)) { return self::SUCCESS; } $config = include $config_file; if (empty($config['enable'])) { return self::SUCCESS; } $config_content = file_get_contents($config_file); $config_content = preg_replace('/(\'enable\' *?=> *?)(true)/', '$1false', $config_content); file_put_contents($config_file, $config_content); return self::SUCCESS; } }