aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_container.php
diff options
context:
space:
mode:
authorDhruv <dhruv.goel92@gmail.com>2013-08-08 13:56:39 +0530
committerDhruv <dhruv.goel92@gmail.com>2013-08-08 13:56:39 +0530
commitf35d732f40181a033e5ecd4e48fc846a82a73955 (patch)
tree7ca90c3fbe3a7702584f3c105745e58b275eebc4 /phpBB/includes/functions_container.php
parent08a6bd2218e050ef2e82e644416a725b2a6cca99 (diff)
parent32499c8808bb72812f66ba00e35c5af128a4d4e2 (diff)
downloadforums-f35d732f40181a033e5ecd4e48fc846a82a73955.tar
forums-f35d732f40181a033e5ecd4e48fc846a82a73955.tar.gz
forums-f35d732f40181a033e5ecd4e48fc846a82a73955.tar.bz2
forums-f35d732f40181a033e5ecd4e48fc846a82a73955.tar.xz
forums-f35d732f40181a033e5ecd4e48fc846a82a73955.zip
Merge remote-tracking branch 'nickvergessen/ticket/11574' into develop
# By Joas Schilling (16) and Igor Wiedler (6) # Via Joas Schilling (5) and Igor Wiedler (2) * nickvergessen/ticket/11574: (22 commits) [ticket/11574] Remove install/udpate/new/ fallback from database_update.php [ticket/11574] Do not display incompatible package note after successful update [ticket/11574] Remove old "continue step"-message [ticket/11574] Change order of files and database update [ticket/11574] Fix more issues in the updater [ticket/11574] Add trailing slash for consistency [ticket/11574] Fix table prefix in database updater [ticket/11574] Fix various path issues in the updater [ticket/11574] Make install language filename less crazy [ticket/11574] Use alternate DI config file for updater [ticket/11574] Include normalizer so it loads form the correct directory [ticket/11574] Only fall back to install/update versions, when IN_INSTALL ;) [ticket/11574] Use log object instead of old function [ticket/11574] Include vendor into update packages [ticket/11574] Create phpbb_log object before using it. [ticket/11574] Add correct language parameter to return links [ticket/11574] Use request object rather then request_var function [ticket/11574] Load new language files whenever possible [ticket/11574] Require new files in install/index.php and add a class loader [ticket/11574] Require new files in database_update.php and add a class loader ...
Diffstat (limited to 'phpBB/includes/functions_container.php')
-rw-r--r--phpBB/includes/functions_container.php41
1 files changed, 34 insertions, 7 deletions
diff --git a/phpBB/includes/functions_container.php b/phpBB/includes/functions_container.php
index f63dde0614..7cbfa17a0e 100644
--- a/phpBB/includes/functions_container.php
+++ b/phpBB/includes/functions_container.php
@@ -118,7 +118,10 @@ function phpbb_create_container(array $extensions, $phpbb_root_path, $php_ext)
*/
function phpbb_create_install_container($phpbb_root_path, $php_ext)
{
- $core = new phpbb_di_extension_core($phpbb_root_path);
+ $other_config_path = $phpbb_root_path . 'install/update/new/config/';
+ $config_path = file_exists($other_config_path . 'services.yml') ? $other_config_path : $phpbb_root_path . 'config/';
+
+ $core = new phpbb_di_extension_core($config_path);
$container = phpbb_create_container(array($core), $phpbb_root_path, $php_ext);
$container->setParameter('core.root_path', $phpbb_root_path);
@@ -136,6 +139,32 @@ function phpbb_create_install_container($phpbb_root_path, $php_ext)
}
/**
+* Create updater container
+*
+* @param string $phpbb_root_path Root path
+* @param string $php_ext PHP Extension
+* @param array $config_path Path to config directory
+* @return ContainerBuilder object (compiled)
+*/
+function phpbb_create_update_container($phpbb_root_path, $php_ext, $config_path)
+{
+ $config_file = $phpbb_root_path . 'config.' . $php_ext;
+ return phpbb_create_compiled_container(
+ $config_file,
+ array(
+ new phpbb_di_extension_config($config_file),
+ new phpbb_di_extension_core($config_path),
+ ),
+ array(
+ new phpbb_di_pass_collection_pass(),
+ new phpbb_di_pass_kernel_pass(),
+ ),
+ $phpbb_root_path,
+ $php_ext
+ );
+}
+
+/**
* Create a compiled ContainerBuilder object
*
* @param array $extensions Array of Container extension objects
@@ -146,11 +175,6 @@ function phpbb_create_install_container($phpbb_root_path, $php_ext)
*/
function phpbb_create_compiled_container($config_file, array $extensions, array $passes, $phpbb_root_path, $php_ext)
{
- $installed_exts = phpbb_bootstrap_enabled_exts($config_file, $phpbb_root_path);
-
- // Now pass the enabled extension paths into the ext compiler extension
- $extensions[] = new phpbb_di_extension_ext($installed_exts);
-
// Create the final container to be compiled and cached
$container = phpbb_create_container($extensions, $phpbb_root_path, $php_ext);
@@ -231,11 +255,14 @@ function phpbb_create_dumped_container_unless_debug($config_file, array $extensi
function phpbb_create_default_container($phpbb_root_path, $php_ext)
{
$config_file = $phpbb_root_path . 'config.' . $php_ext;
+ $installed_exts = phpbb_bootstrap_enabled_exts($config_file, $phpbb_root_path);
+
return phpbb_create_dumped_container_unless_debug(
$config_file,
array(
new phpbb_di_extension_config($config_file),
- new phpbb_di_extension_core($phpbb_root_path),
+ new phpbb_di_extension_core($phpbb_root_path . 'config'),
+ new phpbb_di_extension_ext($installed_exts),
),
array(
new phpbb_di_pass_collection_pass(),