mirror of
https://github.com/phpbb/phpbb.git
synced 2025-03-24 17:40:43 +01:00
[ticket/14990] Add core events to the Twig environment
PHPBB3-14990
This commit is contained in:
parent
c5126af1df
commit
633bbc9c6d
@ -12,6 +12,7 @@ services:
|
||||
- '@ext.manager'
|
||||
- '@template.twig.loader'
|
||||
- []
|
||||
- '@dispatcher'
|
||||
calls:
|
||||
- [setLexer, ['@template.twig.lexer']]
|
||||
|
||||
|
@ -32,6 +32,11 @@ class environment extends \Twig_Environment
|
||||
/** @var \phpbb\extension\manager */
|
||||
protected $extension_manager;
|
||||
|
||||
/**
|
||||
* @var \phpbb\event\dispatcher_interface
|
||||
*/
|
||||
protected $phpbb_dispatcher;
|
||||
|
||||
/** @var string */
|
||||
protected $phpbb_root_path;
|
||||
|
||||
@ -54,14 +59,16 @@ class environment extends \Twig_Environment
|
||||
* @param \phpbb\extension\manager $extension_manager phpBB extension manager
|
||||
* @param \Twig_LoaderInterface $loader Twig loader interface
|
||||
* @param array $options Array of options to pass to Twig
|
||||
* @param \phpbb\event\dispatcher_interface $phpbb_dispatcher Event dispatcher object
|
||||
*/
|
||||
public function __construct(\phpbb\config\config $phpbb_config, \phpbb\filesystem\filesystem $filesystem, \phpbb\path_helper $path_helper, $cache_path, \phpbb\extension\manager $extension_manager = null, \Twig_LoaderInterface $loader = null, $options = array())
|
||||
public function __construct(\phpbb\config\config $phpbb_config, \phpbb\filesystem\filesystem $filesystem, \phpbb\path_helper $path_helper, $cache_path, \phpbb\extension\manager $extension_manager = null, \Twig_LoaderInterface $loader = null, $options = array(), \phpbb\event\dispatcher_interface $phpbb_dispatcher = null)
|
||||
{
|
||||
$this->phpbb_config = $phpbb_config;
|
||||
|
||||
$this->filesystem = $filesystem;
|
||||
$this->phpbb_path_helper = $path_helper;
|
||||
$this->extension_manager = $extension_manager;
|
||||
$this->phpbb_dispatcher = $phpbb_dispatcher;
|
||||
|
||||
$this->phpbb_root_path = $this->phpbb_path_helper->get_phpbb_root_path();
|
||||
$this->web_root_path = $this->phpbb_path_helper->get_web_root_path();
|
||||
@ -202,8 +209,31 @@ class environment extends \Twig_Environment
|
||||
$context['definition']->set('STYLESHEETS', '__STYLESHEETS_' . $placeholder_salt . '__');
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow changing the template output stream before rendering
|
||||
*
|
||||
* @event core.twig_environment_render_template_before
|
||||
* @var array $context Array with template variables
|
||||
* @var string $name The template name
|
||||
* @since 3.2.1-RC1
|
||||
*/
|
||||
$vars = array('context', 'name');
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.twig_environment_render_template_before', compact($vars)));
|
||||
|
||||
$output = parent::render($name, $context);
|
||||
|
||||
/**
|
||||
* Allow changing the template output stream after rendering
|
||||
*
|
||||
* @event core.twig_environment_render_template_before
|
||||
* @var array $context Array with template variables
|
||||
* @var string $name The template name
|
||||
* @var string $output Rendered template output stream
|
||||
* @since 3.2.1-RC1
|
||||
*/
|
||||
$vars = array('context', 'name', 'output');
|
||||
extract($this->phpbb_dispatcher->trigger_event('core.twig_environment_render_template_after', compact($vars)));
|
||||
|
||||
return $this->inject_assets($output, $placeholder_salt);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user