aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2013-07-13 16:47:15 -0400
committerIgor Wiedler <igor@wiedler.ch>2013-07-14 01:06:10 -0400
commitd6de892ee40579c45259f8c68ba7eef26accc08b (patch)
tree463f703896214b6dbc108cffc8aeef186604bb4f /phpBB
parent51ab2c710e91d98bb182dded1e9d5462451151e8 (diff)
downloadforums-d6de892ee40579c45259f8c68ba7eef26accc08b.tar
forums-d6de892ee40579c45259f8c68ba7eef26accc08b.tar.gz
forums-d6de892ee40579c45259f8c68ba7eef26accc08b.tar.bz2
forums-d6de892ee40579c45259f8c68ba7eef26accc08b.tar.xz
forums-d6de892ee40579c45259f8c68ba7eef26accc08b.zip
[ticket/11574] Fix various path issues in the updater
PHPBB3-11574
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/functions_container.php26
-rw-r--r--phpBB/install/database_update.php5
-rw-r--r--phpBB/install/install_update.php28
3 files changed, 29 insertions, 30 deletions
diff --git a/phpBB/includes/functions_container.php b/phpBB/includes/functions_container.php
index d302b75350..923a8f370b 100644
--- a/phpBB/includes/functions_container.php
+++ b/phpBB/includes/functions_container.php
@@ -53,7 +53,7 @@ function phpbb_create_container(array $extensions, $phpbb_root_path, $php_ext)
*/
function phpbb_create_install_container($phpbb_root_path, $php_ext)
{
- $other_config_path = $phpbb_root_path . 'install/update/new/config';
+ $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);
@@ -74,6 +74,30 @@ 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)
+{
+ return phpbb_create_compiled_container(
+ array(
+ new phpbb_di_extension_config($phpbb_root_path . 'config.' . $php_ext),
+ 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
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index b0e28958ac..51ffdd3c88 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -121,8 +121,8 @@ $phpbb_class_loader = new phpbb_class_loader('phpbb_', "{$phpbb_root_path}includ
$phpbb_class_loader->register();
// Set up container (must be done here because extensions table may not exist)
-$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;
+$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';
$container_extensions = array(
new phpbb_di_extension_config($phpbb_root_path . 'config.' . $phpEx),
@@ -130,7 +130,6 @@ $container_extensions = array(
);
$container_passes = array(
new phpbb_di_pass_collection_pass(),
- //new phpbb_di_pass_kernel_pass(),
);
$phpbb_container = phpbb_create_container($container_extensions, $phpbb_root_path, $phpEx);
diff --git a/phpBB/install/install_update.php b/phpBB/install/install_update.php
index 38d9f66629..f9dfaaef50 100644
--- a/phpBB/install/install_update.php
+++ b/phpBB/install/install_update.php
@@ -75,7 +75,7 @@ class install_update extends module
global $request, $phpbb_admin_path, $phpbb_adm_relative_path, $phpbb_container;
// Create a normal container now
- $phpbb_container = phpbb_create_default_container($phpbb_root_path, $phpEx);
+ $phpbb_container = phpbb_create_update_container($phpbb_root_path, $phpEx, $phpbb_root_path . 'install/update/new/config');
// Writes into global $cache
$cache = $phpbb_container->get('cache');
@@ -125,7 +125,7 @@ class install_update extends module
$config['default_lang'] = $language;
$user->data['user_lang'] = $language;
- $user->setup(array('common', 'acp/common', 'acp/board', 'install', 'posting'));
+ $user->add_lang(array('common', 'acp/common', 'acp/board', 'install', 'posting'));
// Reset the default_lang
$config['default_lang'] = $config_default_lang;
@@ -302,30 +302,6 @@ class install_update extends module
break;
case 'update_db':
-
- // Make sure the database update is valid for the latest version
- $valid = false;
- $updates_to_version = '';
-
- if (file_exists($phpbb_root_path . 'install/database_update.' . $phpEx))
- {
- include_once($phpbb_root_path . 'install/database_update.' . $phpEx);
-
- if ($updates_to_version === $this->update_info['version']['to'])
- {
- $valid = true;
- }
- }
-
- // Should not happen at all
- if (!$valid)
- {
- trigger_error($user->lang['DATABASE_UPDATE_INFO_OLD'], E_USER_ERROR);
- }
-
- // Just a precaution
- $cache->purge();
-
// Redirect the user to the database update script with some explanations...
$template->assign_vars(array(
'S_DB_UPDATE' => true,