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:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user