From 8d3edd412870640f7b906f3da67de3c5303dcb7a Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Tue, 1 Jan 2013 21:07:03 -0500 Subject: [PATCH] [ticket/11305] Create a normal container during final installation step. The final step calls a bunch of code which expects a full phpBB runtime environment. Also, by this step everything should be configured and database schema set up. Therefore, in the final step replace installer container with a normal phpBB container. PHPBB3-11305 --- phpBB/install/index.php | 3 --- phpBB/install/install_install.php | 21 +++++++++++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 0b3af3bdce..64c9ef9155 100644 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -101,9 +101,6 @@ $phpbb_container = phpbb_create_install_container($phpbb_root_path, $phpEx); $phpbb_class_loader->set_cache($phpbb_container->get('cache.driver')); $phpbb_class_loader_ext->set_cache($phpbb_container->get('cache.driver')); -// set up caching -$cache = $phpbb_container->get('cache'); - $phpbb_dispatcher = $phpbb_container->get('dispatcher'); $request = $phpbb_container->get('request'); diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php index c68cc27fb6..06fc2d2176 100644 --- a/phpBB/install/install_install.php +++ b/phpBB/install/install_install.php @@ -52,8 +52,8 @@ class install_install extends module function main($mode, $sub) { - global $lang, $template, $language, $phpbb_root_path; - global $phpbb_container; + global $lang, $template, $language, $phpbb_root_path, $phpEx; + global $phpbb_container, $cache; switch ($sub) { @@ -102,6 +102,23 @@ class install_install extends module break; case 'final': + // Create a normal container now + $phpbb_container = phpbb_create_dumped_container_unless_debug( + array( + new phpbb_di_extension_config($phpbb_root_path . 'config.' . $phpEx), + new phpbb_di_extension_core($phpbb_root_path), + ), + array( + new phpbb_di_pass_collection_pass(), + new phpbb_di_pass_kernel_pass(), + ), + $phpbb_root_path, + $phpEx + ); + + // Writes into global $cache + $cache = $phpbb_container->get('cache'); + $this->build_search_index($mode, $sub); $this->add_modules($mode, $sub); $this->add_language($mode, $sub);