3 declare(strict_types=1);
    37     protected InputInterface 
$in;
    38     protected OutputInterface 
$out;
    44     public function __construct(InputInterface $in, OutputInterface $out)
    48         $this->style = 
new SymfonyStyle($in, $out);
    54         $this->style->progressStart($max);
    59         $this->style->progressAdvance();
    64         $this->style->progressFinish();
    70         $this->style->note($message);
    77             return $this->style->ask(
    80                 fn (
string $input): 
bool => $type_text_to_confirm === $input
    83             $this->
inform(
"Automatically confirmed:\n\n$message");
    92             return $this->style->confirm($message, 
false);
    94             $this->
inform(
"Automatically confirmed:\n\n$message");
   103         if ($this->
shouldSayYes() || ($this->in->hasOption(
"no-interaction") && $this->in->getOption(
"no-interaction"))) {
   107             "   ILIAS Copyright (C) 1998-2019 ILIAS Open Source e.V. - GPLv3\n\n" .
   108             "This program comes with ABSOLUTELY NO WARRANTY. This is free software,\n" .
   109             "and you are welcome to redistribute it under certain conditions. Look\n" .
   110             "into the LICENSE file for details."   116         return $this->in->getOption(
"yes") ?? 
false;
   119     public function title(
string $title): void
   121         $this->style->title($title);
   126         $this->style->success($text);
   129     public function error(
string $text): void
   131         $this->style->error($text);
   134     public function text(
string $text): void
   136         $this->style->text($text);
   141         $this->last_objective_was_notable = $is_notable;
   142         $this->last_objective_label = $label;
   143         $this->output_in_objective = 
false;
   145             $this->style->write(str_pad($label . 
"...", self::LABEL_WIDTH));
   151         if ($this->output_in_objective) {
   152             $this->
startObjective($this->last_objective_label, $this->last_objective_was_notable);
   156             $this->style->write(
"[<fg=green>OK</>]\n");
   163         if ($this->output_in_objective || !$this->last_objective_was_notable) {
   168             $this->style->write(
"[<fg=red>FAILED</>]\n");
   175             $this->output_in_objective = 
true;
   176             $this->style->write(
"[in progress]\n");
   182         return $this->last_objective_was_notable
   183             || $this->out->isVeryVerbose()
   184             || $this->out->isDebug();
   189         return $this->out->isVerbose();
 
Wrapper around symfonies input and output facilities to provide just the functionality required for t...
 
startObjective(string $label, bool $is_notable)
 
__construct(InputInterface $in, OutputInterface $out)
 
This defines ways in which objectives may interact with admins during the setup. 
 
confirmOrDeny(string $message)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
string $last_objective_label
 
confirmExplicit(string $message, string $type_text_to_confirm)
 
bool $last_objective_was_notable
 
bool $output_in_objective