diff options
author | Tristan Darricau <github@nicofuma.fr> | 2014-10-16 01:34:23 +0200 |
---|---|---|
committer | Tristan Darricau <github@nicofuma.fr> | 2014-10-16 01:34:23 +0200 |
commit | 58075e25e8173ec663e4e8908d1963b1947a225b (patch) | |
tree | 9a98898def147d725870319ddcf9c698cb22041c /phpBB/phpbb/console/command | |
parent | 56d7c2c6ed3e5924aeced53a163bfd1aa8288034 (diff) | |
download | forums-58075e25e8173ec663e4e8908d1963b1947a225b.tar forums-58075e25e8173ec663e4e8908d1963b1947a225b.tar.gz forums-58075e25e8173ec663e4e8908d1963b1947a225b.tar.bz2 forums-58075e25e8173ec663e4e8908d1963b1947a225b.tar.xz forums-58075e25e8173ec663e4e8908d1963b1947a225b.zip |
[ticket/13126] Extends migrator_output_handler instead of using a closure
PHPBB3-13126
Diffstat (limited to 'phpBB/phpbb/console/command')
-rw-r--r-- | phpBB/phpbb/console/command/db/console_migrator_output_handler.php | 72 | ||||
-rw-r--r-- | phpBB/phpbb/console/command/db/migrate.php | 24 |
2 files changed, 73 insertions, 23 deletions
diff --git a/phpBB/phpbb/console/command/db/console_migrator_output_handler.php b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php new file mode 100644 index 0000000000..be6c2ccd7a --- /dev/null +++ b/phpBB/phpbb/console/command/db/console_migrator_output_handler.php @@ -0,0 +1,72 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\console\command\db; + +use phpbb\user; +use phpbb\db\migrator_output_handler; +use Symfony\Component\Console\Output\OutputInterface; + +class console_migrator_output_handler extends migrator_output_handler +{ + /** + * User object. + * + * @var user + */ + private $user; + + /** + * Console output object. + * + * @var OutputInterface + */ + private $output; + + /** + * Constructor + * + * @param user $user User object + * @param OutputInterface $output Console output object + */ + public function __construct(user $user, OutputInterface $output) + { + $this->user = $user; + $this->output = $output; + } + + /** + * Write output using the configured closure. + * + * @param string|array $message The message to write or an array containing the language key and all of its parameters. + * @param int $verbosity The verbosity of the message. + */ + public function write($message, $verbosity) + { + if ($verbosity <= $this->output->getVerbosity()) + { + $translated_message = call_user_func_array(array($this->user, 'lang'), $message); + + if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_NORMAL) + { + $translated_message = '<info>' . $translated_message . '</info>'; + } + else if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_VERY_VERBOSE) + { + $translated_message = '<comment>' . $translated_message . '</comment>'; + } + + $this->output->writeln($translated_message); + } + } +} diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php index ecb84d7401..9d4b4a0c4d 100644 --- a/phpBB/phpbb/console/command/db/migrate.php +++ b/phpBB/phpbb/console/command/db/migrate.php @@ -53,29 +53,7 @@ class migrate extends \phpbb\console\command\command protected function execute(InputInterface $input, OutputInterface $output) { - $user = $this->user; - $this->migrator->set_output_handler( - new \phpbb\db\migrator_output_handler( - function($message, $verbosity) use ($output, $user) - { - if ($verbosity <= $output->getVerbosity()) - { - $final_message = call_user_func_array(array($user, 'lang'), $message); - - if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_NORMAL) - { - $final_message = '<info>' . $final_message . '</info>'; - } - else if ($verbosity === \phpbb\db\migrator_output_handler::VERBOSITY_VERY_VERBOSE) - { - $final_message = '<comment>' . $final_message . '</comment>'; - } - - $output->writeln($final_message); - } - } - ) - ); + $this->migrator->set_output_handler(new console_migrator_output_handler($this->user, $output)); $this->migrator->create_migrations_table(); |