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
The enable or purge operation of an extension could take a long time if an
expensive operation needs to be executed on a large set of data. To allow
this to succeed from a web interface with max_execution_time set in the
webserver's php configuration, subsequent requests must continue the
operation started earlier. So individual enable and purge implementations
must be able to spread their work across multiple steps.
PHPBB3-10323
The base class for captcha plugins has been renamed, but the old name continues
to exist as an empty subclass of it for backwards compatability.
PHPBB3-10323
To avoid large bc breaking changes, modules in the old includes directory
structure still follow the same naming conventions. Modules in extensions
have to be placed in an xcp/ folder and need a _module suffix. The
corresponding info file is in the same directory but with an _info suffix.
PHPBB3-10323
Search backends are now required to be autoloadable. The database updater to
3.1 tries to guess the class name as phpbb_search_<oldname> which works for
the default backends we ship.
PHPBB3-10323
* 'develop' of git://github.com/phpbb/phpbb3:
[ticket/10392] Alter parent namespace stripping.
[ticket/10392] Test for magic loop variables with nested namespaces.
[ticket/10392] Missed fix for S_BLOCK_NAME.
[ticket/10392] Fix access to nested special block variables.
* cs278/ticket/10384:
[ticket/10384] Language variable replacements should not check for var prefix.
[ticket/10384] Update unit tests to test for failing variable.
* github-cs278/feature/remove-db-styles:
[feature/remove-db-styles] Remove forgotten template variables.
[feature/remove-db-styles] Removed style.php!
[feature/remove-db-styles] Rework filesystem permission checks from 6d24a71.
[feature/remove-db-styles] Update language to reflect removal of db storage.
[feature/remove-db-styles] Mark log entrys as deprecated.
[feature/remove-db-styles] Add error if template/theme file is unwritable.
[feature/remove-db-styles] Add schema changes sinces 3.0.x.
[feature/remove-db-styles] Readd table constant for upgrades etc.
[feature/remove-db-styles] Update database schemas.
[feature/remove-db-styles] Remove style.php DB storage.
[feature/remove-db-styles] Remove parse_css_file option from themes.
[feature/remove-db-styles] Remove DB theme handling code from session.
[feature/remove-db-styles] ACP has forgotten how to store themes in the DB.
[feature/remove-db-styles] Missed a few template DB bits in acp_styles.
[feature/remove-db-styles] Removing unused methods from acp_style.
[feature/remove-db-styles] Removed database storage of style components.