From 56d7c2c6ed3e5924aeced53a163bfd1aa8288034 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 14 Oct 2014 17:58:29 +0200 Subject: [ticket/13126] Improve the feedback when running the migrations PHPBB3-13126 --- phpBB/phpbb/db/migrator_output_handler.php | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 phpBB/phpbb/db/migrator_output_handler.php (limited to 'phpBB/phpbb/db/migrator_output_handler.php') diff --git a/phpBB/phpbb/db/migrator_output_handler.php b/phpBB/phpbb/db/migrator_output_handler.php new file mode 100644 index 0000000000..5e011bc45b --- /dev/null +++ b/phpBB/phpbb/db/migrator_output_handler.php @@ -0,0 +1,55 @@ + +* @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; + +class migrator_output_handler +{ + const VERBOSITY_QUIET = 0; + const VERBOSITY_NORMAL = 1; + const VERBOSITY_VERBOSE = 2; + const VERBOSITY_VERY_VERBOSE = 3; + 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. + * @param int $verbosity The verbosity of the message. + */ + public function write($message, $verbosity) + { + $closure = $this->closure; + $closure((array) $message, $verbosity); + } +} -- cgit v1.2.1