aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/template/renderer_eval.php
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2011-08-13 23:59:15 -0400
committerNils Adermann <naderman@naderman.de>2011-08-13 23:59:15 -0400
commit6fa83ba876c6ec780e51554a09b7937928e7ce0c (patch)
tree497054fca07bc6fb74613862fe7895c087fb9765 /phpBB/includes/template/renderer_eval.php
parent4754e11d67da22f2c4674a5f8d8c39af6a8e7ca1 (diff)
parent41de09e408bc314c3020084fb7c5ec4a4c7262b5 (diff)
downloadforums-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.php60
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);
+ }
+}