diff options
| author | javiexin <javiexin@gmail.com> | 2017-05-21 18:25:57 +0200 |
|---|---|---|
| committer | javiexin <javiexin@gmail.com> | 2017-05-21 18:25:57 +0200 |
| commit | 37c48a59c318c12547c371f0d0a8bc84f5206dcf (patch) | |
| tree | a45b111970e291ff871733cfe003a74e0631c441 /phpBB/phpbb/console/application.php | |
| parent | 60d6667eb4c5ad8a02d67dea62bc2d5b9553f958 (diff) | |
| parent | bd12504f6cf03b36821a5cea2bf77a419496dcdb (diff) | |
| download | forums-37c48a59c318c12547c371f0d0a8bc84f5206dcf.tar forums-37c48a59c318c12547c371f0d0a8bc84f5206dcf.tar.gz forums-37c48a59c318c12547c371f0d0a8bc84f5206dcf.tar.bz2 forums-37c48a59c318c12547c371f0d0a8bc84f5206dcf.tar.xz forums-37c48a59c318c12547c371f0d0a8bc84f5206dcf.zip | |
Merge branch 'ticket/15068' of https://github.com/javiexin/phpbb into ticket/15068
Diffstat (limited to 'phpBB/phpbb/console/application.php')
| -rw-r--r-- | phpBB/phpbb/console/application.php | 71 |
1 files changed, 52 insertions, 19 deletions
diff --git a/phpBB/phpbb/console/application.php b/phpBB/phpbb/console/application.php index bc4897af18..dc9b8016b2 100644 --- a/phpBB/phpbb/console/application.php +++ b/phpBB/phpbb/console/application.php @@ -13,6 +13,7 @@ namespace phpbb\console; +use Symfony\Component\Console\Input\InputDefinition; use Symfony\Component\Console\Shell; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -26,18 +27,18 @@ class application extends \Symfony\Component\Console\Application protected $in_shell = false; /** - * @var \phpbb\user User object + * @var \phpbb\language\language User object */ - protected $user; + protected $language; /** - * @param string $name The name of the application - * @param string $version The version of the application - * @param \phpbb\user $user The user which runs the application (used for translation) + * @param string $name The name of the application + * @param string $version The version of the application + * @param \phpbb\language\language $language The user which runs the application (used for translation) */ - public function __construct($name, $version, \phpbb\user $user) + public function __construct($name, $version, \phpbb\language\language $language) { - $this->user = $user; + $this->language = $language; parent::__construct($name, $version); } @@ -49,12 +50,7 @@ class application extends \Symfony\Component\Console\Application { $input_definition = parent::getDefaultInputDefinition(); - $input_definition->addOption(new InputOption( - 'safe-mode', - null, - InputOption::VALUE_NONE, - $this->user->lang('CLI_DESCRIPTION_OPTION_SAFE_MODE') - )); + $this->register_global_options($input_definition); return $input_definition; } @@ -76,12 +72,20 @@ class application extends \Symfony\Component\Console\Application return parent::getHelp(); } - $this->getDefinition()->addOption(new InputOption( - '--shell', - '-s', - InputOption::VALUE_NONE, - $this->user->lang('CLI_DESCRIPTION_OPTION_SHELL') - )); + try + { + $definition = $this->getDefinition(); + $definition->addOption(new InputOption( + '--shell', + '-s', + InputOption::VALUE_NONE, + $this->language->lang('CLI_DESCRIPTION_OPTION_SHELL') + )); + } + catch (\LogicException $e) + { + // Do nothing + } return parent::getHelp(); } @@ -117,4 +121,33 @@ class application extends \Symfony\Component\Console\Application return parent::doRun($input, $output); } + + /** + * Register global options + * + * @param InputDefinition $definition An InputDefinition instance + */ + protected function register_global_options(InputDefinition $definition) + { + try + { + $definition->addOption(new InputOption( + 'safe-mode', + null, + InputOption::VALUE_NONE, + $this->language->lang('CLI_DESCRIPTION_OPTION_SAFE_MODE') + )); + + $definition->addOption(new InputOption( + 'env', + 'e', + InputOption::VALUE_REQUIRED, + $this->language->lang('CLI_DESCRIPTION_OPTION_ENV') + )); + } + catch (\LogicException $e) + { + // Do nothing + } + } } |
