1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-04-13 04:13:29 +02:00

[ticket/14990] Fix event name, email parsing, installer and dispatcher calls

PHPBB3-14990
This commit is contained in:
rxu 2017-01-11 23:53:12 +07:00
parent 633bbc9c6d
commit 1ea114ca20
4 changed files with 25 additions and 17 deletions

View File

@ -85,6 +85,7 @@ services:
- null
- '@template.twig.loader'
- []
- null
calls:
- [setLexer, ['@template.twig.lexer']]

View File

@ -656,7 +656,7 @@ class messenger
*/
protected function setup_template()
{
global $phpbb_container;
global $phpbb_container, $phpbb_dispatcher;
if ($this->template instanceof \phpbb\template\template)
{
@ -671,7 +671,9 @@ class messenger
$phpbb_container->get('ext.manager'),
new \phpbb\template\twig\loader(
$phpbb_container->get('filesystem')
)
),
array(),
$phpbb_dispatcher
);
$template_environment->setLexer($phpbb_container->get('template.twig.lexer'));

View File

@ -32,9 +32,7 @@ class environment extends \Twig_Environment
/** @var \phpbb\extension\manager */
protected $extension_manager;
/**
* @var \phpbb\event\dispatcher_interface
*/
/** @var \phpbb\event\dispatcher_interface */
protected $phpbb_dispatcher;
/** @var string */
@ -61,7 +59,7 @@ class environment extends \Twig_Environment
* @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(), \phpbb\event\dispatcher_interface $phpbb_dispatcher = null)
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;
@ -213,26 +211,32 @@ class environment extends \Twig_Environment
* 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
* @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)));
if ($this->phpbb_dispatcher)
{
$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
* @event core.twig_environment_render_template_after
* @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)));
if ($this->phpbb_dispatcher)
{
$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);
}

View File

@ -86,7 +86,8 @@ class phpbb_email_parsing_test extends phpbb_test_case
'debug' => false,
'auto_reload' => true,
'autoescape' => false,
)
),
new \phpbb\event\dispatcher($phpbb_container)
);
$twig->addExtension($twig_extension);
$phpbb_container->set('template.twig.lexer', new \phpbb\template\twig\lexer($twig));