From 7958dca09d354fdf3804937496380d941fa08caf Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Fri, 25 Sep 2015 19:36:05 +0200 Subject: [PATCH] [ticket/11150] Load vendor/ext-autoload.php PHPBB3-11150 --- phpBB/bin/phpbbcli.php | 5 +++++ phpBB/common.php | 5 +++++ phpBB/download/file.php | 5 +++++ phpBB/phpbb/composer/installer.php | 3 ++- phpBB/phpbb/di/container_builder.php | 6 ++++++ 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/phpBB/bin/phpbbcli.php b/phpBB/bin/phpbbcli.php index 6bd217ec07..1b3fac51e0 100755 --- a/phpBB/bin/phpbbcli.php +++ b/phpBB/bin/phpbbcli.php @@ -71,6 +71,11 @@ require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx); register_compatibility_globals(); +if (is_file($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php')) +{ + require_once($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php'); +} + /** @var \phpbb\language\language $language */ $language = $phpbb_container->get('language'); $language->add_lang(array('common', 'acp/common', 'cli')); diff --git a/phpBB/common.php b/phpBB/common.php index 70feb55d04..30293cae51 100644 --- a/phpBB/common.php +++ b/phpBB/common.php @@ -141,6 +141,11 @@ require($phpbb_root_path . 'includes/compatibility_globals.' . $phpEx); register_compatibility_globals(); +if (is_file($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php')) +{ + require_once($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php'); +} + // Add own hook handler require($phpbb_root_path . 'includes/hooks/index.' . $phpEx); $phpbb_hook = new phpbb_hook(array('exit_handler', 'phpbb_user_session_handler', 'append_sid', array('template', 'display'))); diff --git a/phpBB/download/file.php b/phpBB/download/file.php index a9cd4a3b3c..fbbabfb74f 100644 --- a/phpBB/download/file.php +++ b/phpBB/download/file.php @@ -99,6 +99,11 @@ if (isset($_GET['avatar'])) /* @var $phpbb_avatar_manager \phpbb\avatar\manager */ $phpbb_avatar_manager = $phpbb_container->get('avatar.manager'); + if (is_file($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php')) + { + require_once($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php'); + } + $filename = $request->variable('avatar', ''); $avatar_group = false; $exit = false; diff --git a/phpBB/phpbb/composer/installer.php b/phpBB/phpbb/composer/installer.php index 2b805288da..730d708d10 100644 --- a/phpBB/phpbb/composer/installer.php +++ b/phpBB/phpbb/composer/installer.php @@ -161,7 +161,8 @@ class installer ->setUpdateWhitelist($whitelist) ->setWhitelistDependencies(false) ->setIgnorePlatformRequirements(false) - ->setDumpAutoloader(false) + ->setOptimizeAutoloader(true) + ->setDumpAutoloader(true) ->setPreferStable(true) ->setRunScripts(false) ->setDryRun(false); diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php index ac1a1a1733..08400320b7 100644 --- a/phpBB/phpbb/di/container_builder.php +++ b/phpBB/phpbb/di/container_builder.php @@ -415,6 +415,12 @@ class container_builder $ext_container->register('cache.driver', '\\phpbb\\cache\\driver\\dummy'); $ext_container->compile(); + $config = $ext_container->get('config'); + if (is_file($this->phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php')) + { + require_once($this->phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload.php'); + } + $extensions = $ext_container->get('ext.manager')->all_enabled(); // Load each extension found