diff options
Diffstat (limited to 'phpBB/bin/phpbbcli.php')
| -rwxr-xr-x | phpBB/bin/phpbbcli.php | 34 | 
1 files changed, 26 insertions, 8 deletions
| diff --git a/phpBB/bin/phpbbcli.php b/phpBB/bin/phpbbcli.php index 239dd3932b..3061fee817 100755 --- a/phpBB/bin/phpbbcli.php +++ b/phpBB/bin/phpbbcli.php @@ -21,6 +21,7 @@ if (php_sapi_name() != 'cli')  }  define('IN_PHPBB', true); +  $phpbb_root_path = __DIR__ . '/../';  $phpEx = substr(strrchr(__FILE__, '.'), 1);  require($phpbb_root_path . 'includes/startup.' . $phpEx); @@ -32,38 +33,55 @@ $phpbb_class_loader->register();  $phpbb_config_php_file = new \phpbb\config_php_file($phpbb_root_path, $phpEx);  extract($phpbb_config_php_file->get_all()); +if (!defined('PHPBB_ENVIRONMENT')) +{ +	@define('PHPBB_ENVIRONMENT', 'production'); +} +  require($phpbb_root_path . 'includes/constants.' . $phpEx);  require($phpbb_root_path . 'includes/functions.' . $phpEx);  require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);  require($phpbb_root_path . 'includes/utf/utf_tools.' . $phpEx); +require($phpbb_root_path . 'includes/functions_compatibility.' . $phpEx); -$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_config_php_file, $phpbb_root_path, $phpEx); -$phpbb_container_builder->set_dump_container(false); +$phpbb_container_builder = new \phpbb\di\container_builder($phpbb_root_path, $phpEx); +$phpbb_container = $phpbb_container_builder->with_config($phpbb_config_php_file);  $input = new ArgvInput(); +if ($input->hasParameterOption(array('--env'))) +{ +	$phpbb_container_builder->with_environment($input->getParameterOption('--env')); +} +  if ($input->hasParameterOption(array('--safe-mode')))  { -	$phpbb_container_builder->set_use_extensions(false); -	$phpbb_container_builder->set_dump_container(false); +	$phpbb_container_builder->without_extensions(); +	$phpbb_container_builder->without_cache();  }  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); +register_compatibility_globals(); + +/** @var \phpbb\language\language $language */ +$language = $phpbb_container->get('language'); +$language->set_default_language($phpbb_container->get('config')['default_lang']); +$language->add_lang(array('common', 'acp/common', 'cli')); + +/* @var $user \phpbb\user */  $user = $phpbb_container->get('user');  $user->data['user_id'] = ANONYMOUS;  $user->ip = '127.0.0.1'; -$user->add_lang('acp/common'); -$user->add_lang('cli'); -$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $user); +$application = new \phpbb\console\application('phpBB Console', PHPBB_VERSION, $language); +$application->setDispatcher($phpbb_container->get('dispatcher'));  $application->register_container_commands($phpbb_container->get('console.command_collection'));  $application->run($input); | 
