Template executor interface defines a template executor object.
It is an object which can execute (i.e. display/render) a template.
Currently there are two implementations:
* phpbb_template_executor_include includes php code from a file.
* phpbb_template_executor_eval eval's php code.
PHPBB3-9726
phpBB 3.1 will not provide the option to store templates in the database.
This commit removes code that handles templates stored in database
from the template engine.
PHPBB3-9726
When testing eval code path, compiled templates may not be written
to the file system, and unconditionally trying to copy them
breaks tests.
PHPBB3-9726
compile_tag_if had the flawed approach of adding an isset statement for
all variables to the beginning of the if. This fails for negative
expressions, and checking those takes a considerable effort.
The easier solution is to make the variable expression itself
conditional, defaulting to null if it is not set.
Thanks to naderman for the solution.
PHPBB3-9726
This currently does not pass, thus it is commented out.
The reuse appears implausible in the same file, however it may be
also done across template files where it is much harder to detect.
PHPBB3-9726
This error resulted in a dot from the namespace being placed into
variable reference in compiled template code, thus creating bogus
compiled template code.
PHPBB3-9726
This currently fails.
This test is a reduced version of permission_mask template in acp, which
is not correctly compiled by the current template engine code.
PHPBB3-9726
phpbb_template_compile is now much simpler. It takes complete file paths
as inputs, either source template path or source template path and output
compiled template path. The number of methods also went down to two -
compile template and returned compiled text or compile and write to file.
phpbb_compile class is responsible for determining source and compiled
paths. It already had all the data necessary for this, now the code is
in the same place as the data it uses.
PHPBB3-9726
* feature/rxu/attachment-management-no-reassignment:
[feature/attachment-management-no-reassignment] Handle privacy and some more.
[feature/attachment-management-no-reassignment] Further feature adjustments.
[feature/attachment-management-no-reassignment] Fix some more errors
[feature/attachment-management-no-reassignment] Fix minor flaws in the code.
[feature/attachment-management-no-reassignment] Attachments management
- restrict files info for PM attachments;
- add an option to resync files stats if wrong;
- replace post_id sorting with post type (PM/regular post) one;
- some language fixes.
PHPBB3-9721
Do not change $recompile from true to false - any recompilation
condition alone is sufficient to force recompilation.
Also uncomment the nonexistent file test which passes with this fix.
PHPBB3-9726