mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 03:54:10 +01:00
[ticket/11574] Fix more issues in the updater
* Stupid mistake in phpbb_create_update_container * Do not bootstrap extensions in installer/updater * Fix template lookup in installer/updater * Do not attempt to delete posts from bots The latter is a really fun problem. Since deleting posts now depends on a new db column that does not exist yet, we cannot call delete_post from a migration, ever. By using retain, we can hack around the issue for now. PHPBB3-11574
This commit is contained in:
parent
c2b31ca101
commit
8928240dc3
@ -148,9 +148,11 @@ function phpbb_create_install_container($phpbb_root_path, $php_ext)
|
||||
*/
|
||||
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($phpbb_root_path . 'config.' . $php_ext),
|
||||
new phpbb_di_extension_config($config_file),
|
||||
new phpbb_di_extension_core($config_path),
|
||||
),
|
||||
array(
|
||||
@ -173,11 +175,6 @@ function phpbb_create_update_container($phpbb_root_path, $php_ext, $config_path)
|
||||
*/
|
||||
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);
|
||||
|
||||
@ -258,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 . 'config'),
|
||||
new phpbb_di_extension_ext($installed_exts),
|
||||
),
|
||||
array(
|
||||
new phpbb_di_pass_collection_pass(),
|
||||
|
@ -249,7 +249,11 @@ $phpbb_style_path_provider = new phpbb_style_path_provider();
|
||||
$template = new phpbb_template_twig($phpbb_root_path, $phpEx, $config, $user, new phpbb_template_context());
|
||||
$phpbb_style = new phpbb_style($phpbb_root_path, $phpEx, $config, $user, $phpbb_style_resource_locator, $phpbb_style_path_provider, $template);
|
||||
$phpbb_style->set_ext_dir_prefix('adm/');
|
||||
$phpbb_style->set_custom_style('admin', $phpbb_admin_path . 'style', array(), '');
|
||||
|
||||
$paths = array($phpbb_admin_path . 'style', $phpbb_root_path . 'install/update/new/adm/style');
|
||||
$paths = array_filter($paths, 'is_dir');
|
||||
$phpbb_style->set_custom_style('admin', $paths, array(), '');
|
||||
|
||||
$template->assign_var('T_ASSETS_PATH', '../assets');
|
||||
$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');
|
||||
|
||||
|
@ -222,12 +222,6 @@ class install_update extends module
|
||||
|
||||
if ($this->test_update === false)
|
||||
{
|
||||
// Got the updater template itself updated? If so, we are able to directly use it - but only if all three files are present
|
||||
if (in_array($phpbb_adm_relative_path . 'style/install_update.html', $this->update_info['files']))
|
||||
{
|
||||
$this->tpl_name = '../../install/update/new/adm/style/install_update';
|
||||
}
|
||||
|
||||
// What about the language file? Got it updated?
|
||||
if (in_array('language/en/install.' . $phpEx, $this->update_info['files']))
|
||||
{
|
||||
@ -1068,12 +1062,6 @@ class install_update extends module
|
||||
|
||||
$this->tpl_name = 'install_update_diff';
|
||||
|
||||
// Got the diff template itself updated? If so, we are able to directly use it
|
||||
if (in_array($phpbb_adm_relative_path . 'style/install_update_diff.html', $this->update_info['files']))
|
||||
{
|
||||
$this->tpl_name = '../../install/update/new/adm/style/install_update_diff';
|
||||
}
|
||||
|
||||
$this->page_title = 'VIEWING_FILE_DIFF';
|
||||
|
||||
$status = request_var('status', '');
|
||||
|
@ -108,7 +108,7 @@ class phpbb_db_migration_data_30x_3_0_12_rc1 extends phpbb_db_migration
|
||||
WHERE user_id = $bot_user_id";
|
||||
$this->sql_query($sql);
|
||||
|
||||
user_delete('remove', $bot_user_id);
|
||||
user_delete('retain', $bot_user_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user