aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/console/command
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2014-10-16 01:34:23 +0200
committerTristan Darricau <github@nicofuma.fr>2014-10-16 01:34:23 +0200
commit58075e25e8173ec663e4e8908d1963b1947a225b (patch)
tree9a98898def147d725870319ddcf9c698cb22041c /phpBB/phpbb/console/command
parent56d7c2c6ed3e5924aeced53a163bfd1aa8288034 (diff)
downloadforums-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.php72
-rw-r--r--phpBB/phpbb/console/command/db/migrate.php24
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();