# By Oleg Pudeyev (36) and others
# Via Oleg Pudeyev
* p/feature/template-events: (47 commits)
[feature/template-events] Pass arguments in correct order.
[feature/template-events] Order extensions in mock extension manager.
[feature/template-events] Changes per imkingdavid's review.
[feature/template-events] Make style names private on template.
[feature/template-events] Test for event that is defined in parent style only.
[feature/template-events] Specify style names, add inheritance tests.
[feature/template-events] Normalize expected directory trees.
[feature/template-events] Allow dataset to be correctly selectable.
[feature/template-events] Dataset for template event testing with inheritance.
[feature/template-events] Use style names array in template filter.
[feature/template-events] Generate style names array in set_style.
[feature/template-events] Convert a single style name to array of them.
[feature/template-events] Chase dependency injection for template context.
[feature/template-events] Adjust template events test to use the dataset.
[feature/template-events] Create a dataset for template event tests.
[feature/template-events] Indentation fix.
[feature/template-events] Cosmetic changes.
[feature/template-events] Wording: wrongly -> improperly.
[feature/template-events] Indentation fix.
[feature/template-events] Rename template_name to style_name.
...
Template class passes extension manager to template compiler.
Template compiler passes extension manager to template filter.
Template filter will use extension manager to locate hooks
as it is compiling templates.
All extension manager arguments are optional. If an extension
manager is not given, template hooks will not be invoked.
PHPBB3-9550
The template stream filter no longer depends on the $config global.
Instead it uses a 'allow_php' param that is passed via
stream_bucket_append's last argument.
Tests also adjusted.
PHPBB3-9726