diff options
author | Vjacheslav Trushkin <arty@phpbb.com> | 2012-03-14 22:57:58 +0200 |
---|---|---|
committer | Vjacheslav Trushkin <arty@phpbb.com> | 2012-03-14 22:57:58 +0200 |
commit | 7d414d04ca80b3dc5efc7ece4c3c28123a4e7e89 (patch) | |
tree | f2a339953921dcee79c0d86f4e4ed47c72b0f6a9 /phpBB/includes/style/template_renderer_eval.php | |
parent | 7dfb8d7c2022669087b3ed0ba7871b8346e5a6dd (diff) | |
download | forums-7d414d04ca80b3dc5efc7ece4c3c28123a4e7e89.tar forums-7d414d04ca80b3dc5efc7ece4c3c28123a4e7e89.tar.gz forums-7d414d04ca80b3dc5efc7ece4c3c28123a4e7e89.tar.bz2 forums-7d414d04ca80b3dc5efc7ece4c3c28123a4e7e89.tar.xz forums-7d414d04ca80b3dc5efc7ece4c3c28123a4e7e89.zip |
[feature/merging-style-components] Moving template classes to style
Moving includes/template/ to includes/style/, adding template_ prefix to classes that deal only with templates
PHPBB3-10632
Diffstat (limited to 'phpBB/includes/style/template_renderer_eval.php')
-rw-r--r-- | phpBB/includes/style/template_renderer_eval.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/phpBB/includes/style/template_renderer_eval.php b/phpBB/includes/style/template_renderer_eval.php new file mode 100644 index 0000000000..f8e4cb7b10 --- /dev/null +++ b/phpBB/includes/style/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_template_renderer_eval implements phpbb_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_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_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 '); + } +} |