set_style now accepts an array containing a list of paths, e.g. array(
'ext/foo/bar/styles', 'styles'). Default: array('styles')
Using this option allows us to set the style based on the user's preferred
style (including the full tree), but use one or more base directories to
add the paths from.
The main use for this ability is so that extensions can call set_style,
including their path and the phpBB styles path (or any others) and have
their template files loaded from those directories (in the order given).
PHPBB3-11598
Move phpbb_template class to phpbb_template_phpbb
Changed phpbb_template class to an interface
Switch services.yml to load phpbb_template_twig instead of phpbb_template
PHPBB3-11598
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
* p/ticket/10933:
[ticket/10933] Prose for get_first_file_location.
[ticket/10933] Remaining documentation for added functions in resource locator
[ticket/10933] Update template locator test to use style resource locator.
[ticket/10933] Dispose of locate function in template class.
[ticket/10933] Add mutators for template_path to style resource locator.
[ticket/10933] Delete template_path assignment.
[ticket/10933] Delete template_path from template class.
[ticket/10933] Add get_first_template_location.
There is no apparent reason for either initializing or clearing
the context in set_style/set_custom_style.
Initially the initialization there was added in
0501640d5d, for reasons that
presently I do not see.
This permits making context property back private.
PHPBB3-10933
Allow the helper function call_hook() of class phpbb_template to be called
from more than once location and thus for more than one hook (although there is
only one) by adding the method name as a parameter.
PHPBB3-11043
This commit adds a template path provider to separate the process of locating
(cached) paths in extensions from the template engine. The locator is supplied
with a list of paths from the path provider.
Admin templates can now be created in ext/<ext>/adm/style/ and regular
templates go into ext/<ext>/styles/<style>/template/. Extension templates
override regular templates. So if an extension supplies a file with a name
used in phpBB, the extension's file will be used.
A side-effect of this commit: Locator and Provider are now able to deal with
arbitrary levels of template inheritance. So we can expose this through
phpbb_template if we choose to, and allow styles to inherit from inherited
styles.
PHPBB3-10323