1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-01 14:30:32 +02:00

[ticket/15187] Add paths of newly enabled extensions to template

When enabling an extension its paths aren't added immediately to
the template which results in ACP events not being registered in
the compiled template files.

PHPBB3-15187
This commit is contained in:
kasimi
2017-04-28 16:32:11 +02:00
parent 7254980753
commit e6b7defd38

View File

@@ -227,6 +227,8 @@ class manager
if ($active)
{
$this->config->increment('assets_version', 1);
$this->update_template_paths($name, $this->container->get('template'));
}
return !$active;
@@ -589,4 +591,38 @@ class manager
}
return $finder;
}
/**
* Make the template aware of ACP template events of a newly enabled extension
*
* @param string $name The extension's name
* @param \phpbb\template\base|null $template The template service
* @return null
*/
protected function update_template_paths($name, \phpbb\template\base $template = null)
{
if ($template instanceof \phpbb\template\base)
{
$possible_paths = array(
$this->phpbb_root_path . 'ext/' . $name . '/adm/style',
$this->phpbb_root_path . 'ext/' . $name . '/styles',
);
$paths = array_filter($possible_paths, 'is_dir');
if ($paths)
{
$names = array(
array(
'name' => 'adm',
'ext_path' => 'adm/style/',
),
);
$paths[] = $this->phpbb_root_path . 'adm/style';
$template->set_custom_style($names, $paths);
}
}
}
}