Skip to content

Commit

Permalink
[ticket/11574] Fix more issues in the updater
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
igorw committed Jul 14, 2013
1 parent c2b31ca commit 8928240
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 20 deletions.
12 changes: 6 additions & 6 deletions phpBB/includes/functions_container.php
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -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);

Expand Down Expand Up @@ -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(),
Expand Down
6 changes: 5 additions & 1 deletion phpBB/install/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,11 @@ function phpbb_include_updated($path, $optional = false)
$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');

Expand Down
12 changes: 0 additions & 12 deletions phpBB/install/install_update.php
Original file line number Diff line number Diff line change
Expand Up @@ -222,12 +222,6 @@ function main($mode, $sub)

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']))
{
Expand Down Expand Up @@ -1068,12 +1062,6 @@ function show_diff(&$update_list)

$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', '');
Expand Down
2 changes: 1 addition & 1 deletion phpBB/phpbb/db/migration/data/30x/3_0_12_rc1.php
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ public function update_bots()
WHERE user_id = $bot_user_id";
$this->sql_query($sql);

user_delete('remove', $bot_user_id);
user_delete('retain', $bot_user_id);
}
else
{
Expand Down

0 comments on commit 8928240

Please sign in to comment.