Fixed --no-interaction is not passed to finalize child command

Kirby

Well-known member
Affected version
2.3.4
If an import is started via CLI php cmd.php xf:import --finalize --no-interaction, option --no-interaction is not passed to the finalize child command:

PHP:
$command = $this->getApplication()->find('xf:import-finalize');
$childInput = new ArrayInput(['command' => 'xf:import-finalize']);
$command->run($childInput, $output);

This causes the question "Would you like to view any import notes and complete the import? (y/n)" to be asked interactively which generates an exception if run non-interactively:

Code:
In QuestionHelper.php line 521:

  [ErrorException]
  [E_NOTICE] fgets(): Read of 8192 bytes failed with errno=9 Bad file descrip
  tor


Exception trace:
  at <redacted>/src/vendor/symfony/console/Helper/QuestionHelper.php:521
 XF::handlePhpError() at n/a:n/a
 fgets() at <redacted>/src/vendor/symfony/console/Helper/QuestionHelper.php:521
 Symfony\Component\Console\Helper\QuestionHelper->readInput() at <redacted>/src/vendor/symfony/console/Helper/QuestionHelper.php:137
 Symfony\Component\Console\Helper\QuestionHelper->doAsk() at <redacted>/src/vendor/symfony/console/Helper/QuestionHelper.php:68
 Symfony\Component\Console\Helper\QuestionHelper->ask() at <redacted>/src/XF/Cli/Command/ImportFinalize.php:81
 XF\Cli\Command\ImportFinalize->execute() at <redacted>/src/vendor/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at <redacted>/src/XF/Cli/Command/Import.php:173
 XF\Cli\Command\Import->execute() at <redacted>/src/vendor/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at <redacted>/src/vendor/symfony/console/Application.php:1040
 Symfony\Component\Console\Application->doRunCommand() at <redacted>/src/vendor/symfony/console/Application.php:301
 Symfony\Component\Console\Application->doRun() at <redacted>/src/vendor/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at <redacted>/src/XF/Cli/Runner.php:115
 XF\Cli\Runner->run() at <redacted>/cmd.php:17
 
Last edited:
Thank you for reporting this issue, it has now been resolved. We are aiming to include any changes that have been made in a future XF release (2.3.5).

Change log:
Pass import command interactive state to import-finalize command
There may be a delay before changes are rolled out to the XenForo Community.
 
Back
Top Bottom