diff options
author | Nils Adermann <naderman@naderman.de> | 2011-08-13 23:59:15 -0400 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2011-08-13 23:59:15 -0400 |
commit | 6fa83ba876c6ec780e51554a09b7937928e7ce0c (patch) | |
tree | 497054fca07bc6fb74613862fe7895c087fb9765 /phpBB/includes/template/renderer_eval.php | |
parent | 4754e11d67da22f2c4674a5f8d8c39af6a8e7ca1 (diff) | |
parent | 41de09e408bc314c3020084fb7c5ec4a4c7262b5 (diff) | |
download | forums-6fa83ba876c6ec780e51554a09b7937928e7ce0c.tar forums-6fa83ba876c6ec780e51554a09b7937928e7ce0c.tar.gz forums-6fa83ba876c6ec780e51554a09b7937928e7ce0c.tar.bz2 forums-6fa83ba876c6ec780e51554a09b7937928e7ce0c.tar.xz forums-6fa83ba876c6ec780e51554a09b7937928e7ce0c.zip |
Merge remote-tracking branch 'github-p/feature/template-engine' into develop
* github-p/feature/template-engine: (87 commits)
[feature/template-engine] Delete _get_locator function.
[feature/template-engine] Clean up template locator usage in bbcode.
[feature/template-engine] Need to call set_template on template.
[feature/template-engine] Update installer for template engine changes.
[feature/template-engine] Dependency inject locator into template.
[feature/template-engine] Delete useless code from set_template.
[feature/template-engine] Delete no longer used $template_filename property.
[feature/template-engine] Delete useless $template globalization.
[feature/template-engine] Use template engine class in bbcode class.
[feature/template-engine] Corrected an error message in template locator.
[feature/template-engine] Remaining documentation.
[feature/template-engine] More documentation for template class.
[feature/template-engine] Create load_and_render to reduce code duplication.
[feature/template-engine] Get rid of orig_tpl_* in template engine.
[feature/template-engine] Delete $style_name param from locator's set_custom_template.
[feature/template-engine] Add constructor to template locator.
[feature/template-engine] Factor template locator out of template class.
[feature/template-engine] Delete $files_template property.
[feature/template-engine] Rename is_absolute to phpbb_is_absolute.
[feature/template-engine] Test template DEFINE statements across files
...
Conflicts:
.gitignore
phpBB/includes/template.php
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..11e2a30f06 --- /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-license.php GNU Public License +* +*/ + +/** +* @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); + } +} |