aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/install/database_update.php13
-rw-r--r--phpBB/phpbb/console/command/db/console_migrator_output_handler.php72
-rw-r--r--phpBB/phpbb/console/command/db/migrate.php24
-rw-r--r--phpBB/phpbb/db/html_migrator_output_handler.php51
-rw-r--r--phpBB/phpbb/db/migrator_output_handler.php22
5 files changed, 125 insertions, 57 deletions
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index 960b3c3fb3..5a2287c9e1 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -174,18 +174,7 @@ define('IN_DB_UPDATE', true);
// End startup code
$migrator = $phpbb_container->get('migrator');
-$migrator->set_output_handler(
- new \phpbb\db\migrator_output_handler(
- function($message, $verbosity) use ($user)
- {
- if ($verbosity <= \phpbb\db\migrator_output_handler::VERBOSITY_NORMAL)
- {
- $final_message = call_user_func_array(array($user, 'lang'), $message);
- echo $final_message . "<br />\n";
- }
- }
- )
-);
+$migrator->set_output_handler(new \phpbb\db\html_migrator_output_handler($user));
$migrator->create_migrations_table();
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();
diff --git a/phpBB/phpbb/db/html_migrator_output_handler.php b/phpBB/phpbb/db/html_migrator_output_handler.php
new file mode 100644
index 0000000000..6812498f1f
--- /dev/null
+++ b/phpBB/phpbb/db/html_migrator_output_handler.php
@@ -0,0 +1,51 @@
+<?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\db;
+
+use phpbb\user;
+
+class html_migrator_output_handler extends migrator_output_handler
+{
+ /**
+ * User object.
+ *
+ * @var user
+ */
+ private $user;
+
+ /**
+ * Constructor
+ *
+ * @param user $user User object
+ */
+ public function __construct(user $user)
+ {
+ $this->user = $user;
+ }
+
+ /**
+ * 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 <= migrator_output_handler::VERBOSITY_NORMAL)
+ {
+ $final_message = call_user_func_array(array($this->user, 'lang'), $message);
+ echo $final_message . "<br />\n";
+ }
+ }
+}
diff --git a/phpBB/phpbb/db/migrator_output_handler.php b/phpBB/phpbb/db/migrator_output_handler.php
index 5e011bc45b..14d5b7890a 100644
--- a/phpBB/phpbb/db/migrator_output_handler.php
+++ b/phpBB/phpbb/db/migrator_output_handler.php
@@ -22,26 +22,6 @@ class migrator_output_handler
const VERBOSITY_DEBUG = 4;
/**
- * A callable used to write the output.
- *
- * @var callable
- */
- private $closure;
-
- /**
- * Constructor
- *
- * @param callable $closure The closure used to write the output. (null by default)
- */
- public function __construct(\Closure $closure = null)
- {
- if ($closure === null) {
- $closure = function($message, $verbosity) {};
- }
- $this->closure = $closure;
- }
-
- /**
* 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.
@@ -49,7 +29,5 @@ class migrator_output_handler
*/
public function write($message, $verbosity)
{
- $closure = $this->closure;
- $closure((array) $message, $verbosity);
}
}