setDescription('Install a plugin.'); $this->setHelp('This command installs a plugin from a ZIP file.'); $this->addArgument('zipfile', InputArgument::REQUIRED, 'path to the ZIP file'); } protected function execute(InputInterface $input, OutputInterface $output): int { $zipfile = $input->getArgument('zipfile'); try { $plugin_admin = new \PluginAdministration(); if (parse_url($zipfile, \PHP_URL_SCHEME)) { $plugin_admin->installPluginFromURL($zipfile); } else { $plugin_admin->installPlugin($zipfile); } $output->writeln('The plugin was installed successfully.'); } catch (\PluginInstallationException $ex) { $output->writeln('' . $ex->getMessage() . ''); return Command::FAILURE; } return Command::SUCCESS; } }