Oleg Pudeyev
e116561348
[feature/template-engine] Rename is_absolute to phpbb_is_absolute.
...
PHPBB3-9726
2011-07-24 13:37:46 -04:00
Igor Wiedler
bf34264f4f
[feature/template-engine] Docblocks, no more constructor for filter
...
Add docblocks for phpbb_template_filter, remove the useless constructor.
PHPBB3-9726
2011-07-16 15:24:14 +02:00
Oleg Pudeyev
e43d8732d4
[feature/template-engine] Add ampersands to return refs by reference.
...
PHPBB3-9726
2011-07-10 03:45:57 -04:00
Oleg Pudeyev
66cef00589
[feature/template-engine] Delete useless assignment by reference for $lang.
...
PHPBB3-9726
2011-07-10 03:41:09 -04:00
Igor Wiedler
c58b09e65d
[feature/template-engine] Remove $include_once argument of display()
...
PHPBB3-9726
2011-07-10 01:05:54 +02:00
Igor Wiedler
ae53623230
[feature/template-engine] Refactor $config dependency out of the filter
...
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
2011-07-10 00:35:07 +02:00
Igor Wiedler
ee0bba3ab6
[feature/template-engine] Fix some comments
...
PHPBB3-9726
2011-07-10 00:33:25 +02:00
Igor Wiedler
f7b06ca12d
[feature/template-engine] Move template.php to includes/template
...
This allows making use of autoloading.
PHPBB3-9726
2011-07-10 00:30:50 +02:00
Oleg Pudeyev
6ae5a64f6c
[feature/template-engine] Fixed absolute path PHP includes, added test.
...
PHPBB3-9726
2011-05-19 12:18:16 -04:00
Oleg Pudeyev
7d911e0bc1
[feature/template-engine] Delete @version everywhere.
...
This is not used since the switch to git.
PHPBB3-9726
2011-05-14 15:30:20 -04:00
Oleg Pudeyev
70ccf04e06
[feature/template-engine] Moved phpbb_template_filter into own file.
...
PHPBB3-9726
2011-05-14 15:30:20 -04:00
Oleg Pudeyev
b04f0a5f70
[feature/template-engine] Delete @access everywhere.
...
Access specification in php 5 is done directly on functions/properties.
PHPBB3-9726
2011-05-14 15:30:20 -04:00
Oleg Pudeyev
94560d7086
[feature/template-engine] Make INCLUDEPHP relative to board root.
...
PHPBB3-9726
2011-05-12 20:13:32 -04:00
Oleg Pudeyev
d2ac05aa74
[feature/template-engine] Replaced globals with dependency injection.
...
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
345852d240
[feature/template-engine] Clarify cache directory path for set_custom_template
...
Even if the template may be outside of phpBB, phpBB's cache directory
is still going to be used for storing compiled template code.
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
d2daaf0317
[feature/template-engine] Try to handle failed template includes.
...
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
7638bcb560
[feature/template-engine] Rename $filename to $compiled_path for clarity.
...
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
7778771819
[feature/template-engine] Move DEBUG_EXTRA check for $recompile up.
...
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
504acaba6b
[feature/template-engine] Deleted useless assignment.
...
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
d6f75e97d6
[feature/template-engine] Added docblocks to get_*_ref in context.
...
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
635460fa6d
[feature/template-engine] Fixed reference usage.
...
Hopefully this is right, I have not checked it against the manual
(assuming the manual even covers these things).
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
169c4377e9
[feature/template-engine] Disposed of underscores in property names.
...
PHPBB3-9726
2011-05-12 20:13:31 -04:00
Oleg Pudeyev
97d2a6527e
[feature/template-engine] Remove commented out error reporting logic.
...
PHPBB3-9726
2011-05-12 20:13:30 -04:00
Oleg Pudeyev
0ca7ad66dc
[feature/template-engine] Refactor hook logic into a separate function.
...
PHPBB3-9726
2011-05-12 20:13:30 -04:00
Oleg Pudeyev
df76885b11
[feature/template-engine] Reinstate phpbb_template#destroy function.
...
PHPBB3-9726
2011-05-12 20:13:30 -04:00
Oleg Pudeyev
0462ab3a4a
[feature/template-engine] Add back IN_PHPBB preamble.
...
PHPBB3-9726
2011-05-12 20:13:30 -04:00
Oleg Pudeyev
49cf28a9c4
[feature/template-engine] Moved template classes to subdirectory.
...
PHPBB3-9726
2011-05-08 04:06:25 -04:00
Oleg Pudeyev
84bc485ccc
[feature/template-engine] Renamed template executor and friends to renderer.
...
PHPBB3-9726
2011-05-08 04:03:41 -04:00
Oleg Pudeyev
1cba674b9a
[feature/template-engine] Added docblocks and boilerplate to new files.
...
PHPBB3-9726
2011-05-07 17:58:56 -04:00
Oleg Pudeyev
b5444a7d7d
[feature/template-engine] Removed more dead code.
...
PHPBB3-9726
2011-05-07 17:50:48 -04:00
Oleg Pudeyev
0501640d5d
[feature/template-engine] Added phpbb_template_context class.
...
Objects of this class hold variables assigned to templates.
PHPBB3-9726
2011-05-07 17:47:02 -04:00
Oleg Pudeyev
d8122df332
[feature/template-engine] Always call ob_end_clean.
...
We have to stop output buffering even when rendering fails.
PHPBB3-9726
2011-05-05 19:03:46 -04:00
Oleg Pudeyev
b057d7439e
[feature/template-engine] Removed some dead code.
...
PHPBB3-9726
2011-05-04 01:21:45 -04:00
Oleg Pudeyev
d06e59f63b
[feature/template-engine] Split template execution logic into classes.
...
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
2011-05-04 01:21:44 -04:00
Oleg Pudeyev
237deb12ce
[feature/template-engine] Removed storedb-related logic.
...
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
2011-05-04 00:09:39 -04:00
Oleg Pudeyev
87832d06cc
[feature/template-engine] Delete template class, use phpbb_template instead.
...
PHPBB3-9726
2011-05-04 00:08:20 -04:00
Oleg Pudeyev
48691b53a6
[feature/template-engine] Rename template_compile methods for clarity.
...
PHPBB3-9726
2011-05-04 00:07:58 -04:00
Oleg Pudeyev
d840de560c
[feature/template-engine] Extracted compile_stream_to_stream.
...
PHPBB3-9726
2011-05-01 03:28:53 -04:00
Oleg Pudeyev
63ca4c2104
[feature/template-engine] Close output stream in compile().
...
There is no need to leave the stream to the garbage collector,
and the amount of data stuck in it may be substantial.
PHPBB3-9726
2011-05-01 03:25:22 -04:00
Oleg Pudeyev
234b891a4b
[feature/template-engine] Fixed description of assign_display().
...
This function returns false on failure, which can happen if
display() failed. Document the failure return value.
PHPBB3-9726
2011-05-01 03:14:11 -04:00
Oleg Pudeyev
c844a277b2
[feature/template-engine] Check return value of display() in assign_display().
...
If display() failed, propagate the failure out of assign_display().
PHPBB3-9726
2011-05-01 03:09:49 -04:00
Oleg Pudeyev
909ee59871
[feature/template-engine] Removed $this from new phpbb_template_compile calls.
...
The compile class no longer takes template as a parameter.
PHPBB3-9726
2011-04-26 22:19:04 -04:00
Igor Wiedler
427a5122d5
[feature/template-engine] Fix negative variable expressions
...
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
2011-04-25 23:19:36 -04:00
Oleg Pudeyev
f97411b911
[feature/template-engine] Corrected miscompilation of loop size constructs.
...
PHPBB3-9726
2011-04-25 23:19:25 -04:00
Oleg Pudeyev
5afc0b9b90
[feature/template-engine] Corrected an off-by-one error in nested namespaces.
...
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
2011-04-24 23:13:13 -04:00
Oleg Pudeyev
5c3ebb3465
[feature/template-engine] Deleted silencing of notices.
...
The code is now supposed to be notice-free, therefore there is no need
to have the notices silenced.
PHPBB3-9726
2011-04-24 21:22:43 -04:00
Oleg Pudeyev
a2c75f6053
[feature/template-engine] Deleted $template from phpbb_template_compile class.
...
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
2011-04-24 21:18:18 -04:00
Igor Wiedler
81962d1d8f
[ticket/9924] Pass template instance into $template->display hook
...
This is a cherry-pick of 053cf790a93e9cfb521f484901d79c72783f868f
which appears to have been partially reverted here.
PHPBB3-9924
2011-04-24 11:23:46 -04:00
Oleg Pudeyev
c8db531fcb
[feature/template-engine] Removed a useless space.
...
PHPBB3-9726
2011-04-24 01:59:40 -04:00
Oleg Pudeyev
321ecf4273
[feature/template-engine] Delete class_exists checks, rely on autoloading.
...
PHPBB3-9726
2011-04-24 01:18:58 -04:00