aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/bin/phpbbcli.php
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2014-07-17 16:03:55 +0200
committerTristan Darricau <github@nicofuma.fr>2014-07-17 16:03:55 +0200
commit42477861a45935b10285a1434f4ffaf5b199c5c2 (patch)
tree800c39bba49eba389c25760deb73069c7f57d36b /phpBB/bin/phpbbcli.php
parent0d2a4780769e0e8d7b47c3a954c6dcecddcce581 (diff)
parent7f4d4250066eadb6badd43c4ce1b8f2f84e083cf (diff)
downloadforums-42477861a45935b10285a1434f4ffaf5b199c5c2.tar
forums-42477861a45935b10285a1434f4ffaf5b199c5c2.tar.gz
forums-42477861a45935b10285a1434f4ffaf5b199c5c2.tar.bz2
forums-42477861a45935b10285a1434f4ffaf5b199c5c2.tar.xz
forums-42477861a45935b10285a1434f4ffaf5b199c5c2.zip
Merge pull request #2576 from carlo94it/ticket/12685
[ticket/12685] New CLI container for load extensions * carlo94it/ticket/12685: [ticket/12685] Setup class loader for extensions only if not in safe mode [ticket/12685] Replace getParameterOption with hasParameterOption [ticket/12685] Do not dump container [ticket/12685] Override getDefaultInputDefinition() [ticket/12685] Removed unused USE statement [ticket/12685] Inject console.command_collection instead of the container [ticket/12685] Add a new line [ticket/12685] Container is dumped by default [ticket/12685] Removed spaces [ticket/12685] Add --safe-mode [ticket/12685] We need extensions enabled [ticket/12685] Add space after foreach [ticket/12685] Add console collection and fixing CLI
Diffstat (limited to 'phpBB/bin/phpbbcli.php')
-rwxr-xr-xphpBB/bin/phpbbcli.php24
1 files changed, 18 insertions, 6 deletions
diff --git a/phpBB/bin/phpbbcli.php b/phpBB/bin/phpbbcli.php
index c8098094a2..89bad94184 100755
--- a/phpBB/bin/phpbbcli.php
+++ b/phpBB/bin/phpbbcli.php
@@ -12,6 +12,8 @@
*
*/
+use Symfony\Component\Console\Input\ArgvInput;
+
if (php_sapi_name() != 'cli')
{
echo 'This program must be run from the command line.' . PHP_EOL;
@@ -35,13 +37,23 @@ require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx);
-$phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
-$phpbb_class_loader_ext->register();
-
$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx);
-$phpbb_container_builder->set_use_extensions(false);
$phpbb_container_builder->set_dump_container(false);
+$input = new ArgvInput();
+
+if ($input->hasParameterOption(array('--safe-mode')))
+{
+ $phpbb_container_builder->set_use_extensions(false);
+ $phpbb_container_builder->set_dump_container(false);
+}
+else
+{
+ $phpbb_class_loader_ext = new \phpbb\class_loader('\\', "{$phpbb_root_path}ext/", $phpEx);
+ $phpbb_class_loader_ext->register();
+ phpbb_load_extensions_autoloaders($phpbb_root_path);
+}
+
$phpbb_container = $phpbb_container_builder->get_container();
$phpbb_container->get('request')->enable_super_globals();
require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx);
@@ -50,5 +62,5 @@ $user = $phpbb_container->get('user');
$user->add_lang('acp/common');
$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $user);
-$application->register_container_commands($phpbb_container);
-$application->run();
+$application->register_container_commands($phpbb_container->get('console.command_collection'));
+$application->run($input);