diff options
| author | Vjacheslav Trushkin <arty@phpbb.com> | 2012-04-03 11:23:09 +0300 |
|---|---|---|
| committer | Nils Adermann <naderman@naderman.de> | 2012-04-19 04:15:11 +0200 |
| commit | 733018f99a7d8c6200921f31c683606c6f01fe76 (patch) | |
| tree | 634f3059c3c58e7f172625594ff91588fd775f59 /phpBB/includes/template/renderer_eval.php | |
| parent | 3d87ab79ca089ba82a6a1d8bead93e18072698e5 (diff) | |
| download | forums-733018f99a7d8c6200921f31c683606c6f01fe76.tar forums-733018f99a7d8c6200921f31c683606c6f01fe76.tar.gz forums-733018f99a7d8c6200921f31c683606c6f01fe76.tar.bz2 forums-733018f99a7d8c6200921f31c683606c6f01fe76.tar.xz forums-733018f99a7d8c6200921f31c683606c6f01fe76.zip | |
[ticket/10756] Moving template classes
Moving template class files from includes/style/ to includes/template/ and removing template_ file prefix
PHPBB3-10756
Diffstat (limited to 'phpBB/includes/template/renderer_eval.php')
| -rw-r--r-- | phpBB/includes/template/renderer_eval.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/phpBB/includes/template/renderer_eval.php b/phpBB/includes/template/renderer_eval.php new file mode 100644 index 0000000000..3e08b06e69 --- /dev/null +++ b/phpBB/includes/template/renderer_eval.php @@ -0,0 +1,60 @@ +<?php +/** +* +* @package phpBB3 +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + +/** +* Template renderer that stores compiled template's php code and +* displays it via eval. +* +* @package phpBB3 +*/ +class phpbb_style_template_renderer_eval implements phpbb_style_template_renderer +{ + /** + * Template code to be eval'ed. + */ + private $code; + + /** + * Constructor. Stores provided code for future evaluation. + * Template includes are delegated to template object $template. + * + * @param string $code php code of the template + * @param phpbb_style_template $template template object + */ + public function __construct($code, $template) + { + $this->code = $code; + $this->template = $template; + } + + /** + * Displays the template managed by this renderer by eval'ing php code + * of the template. + * + * @param phpbb_style_template_context $context Template context to use + * @param array $lang Language entries to use + */ + public function render($context, $lang) + { + $_template = $this->template; + $_tpldata = &$context->get_data_ref(); + $_rootref = &$context->get_root_ref(); + $_lang = $lang; + + eval(' ?>' . $this->code . '<?php '); + } +} |
