3 declare(strict_types=1);
    57         $this->agent_finder = $agent_finder;
    58         $this->config_reader = $config_reader;
    64         $this->setDescription(
"Updates an existing ILIAS installation");
    65         $this->addArgument(
"config", InputArgument::OPTIONAL, 
"Configuration file for the update");
    66         $this->addOption(
"config", null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 
"Define fields in the configuration file that should be overwritten, e.g. \"a.b.c=foo\"", []);
    67         $this->addOption(
"ignore-db-update-messages", null, InputOption::VALUE_NONE, 
"Ignore messages from the database update steps.");
    68         $this->addOption(
"yes", 
"y", InputOption::VALUE_NONE, 
"Confirm every message of the update.");
    72     protected function execute(InputInterface $input, OutputInterface $output): 
int    76         if ($input->hasOption(
"ignore-db-update-messages") && $input->getOption(
"ignore-db-update-messages")) {
    77             define(
"ILIAS_SETUP_IGNORE_DB_UPDATE_STEP_MESSAGES", 
true);
    81         $io->printLicenseMessage();
    82         $io->title(
"Update ILIAS");
    86         if ($input->getArgument(
"config")) {
    92         $objective = $agent->getUpdateObjective($config);
    93         if ($this->preconditions !== []) {
    96                 ...$this->preconditions
   103         if ($config !== null) {
   108             $this->achieveObjective($objective, $environment, $io);
   109             $io->success(
"Update complete. Thanks and have fun!");
 Read a json-formatted config from a file and overwrite some fields. 
 
Wrapper around symfonies input and output facilities to provide just the functionality required for t...
 
__construct(AgentFinder $agent_finder, ConfigReader $config_reader, array $preconditions)
 
A wrapper around an objective that adds some preconditions. 
 
addAgentConfigsToEnvironment(Agent $agent, Config $config, Environment $environment)
 
getRelevantAgent(InputInterface $input)
 
readAgentConfig(Agent $agent, InputInterface $input, string $use_config_field=null)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
execute(InputInterface $input, OutputInterface $output)
 
array $preconditions
var Objective[] 
 
configureCommandForPlugins()
 
__construct(Container $dic, ilPlugin $plugin)
 
const RESOURCE_ADMIN_INTERACTION
 
trait HasAgent
Add this to an Command that has an agent. 
 
getRequestedConfirmation()
 
Signals that a necessary confirmation from the admin is missing. 
 
trait HasConfigReader
Add this to an Command that has an config reader.