aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/style/template_renderer_eval.php
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2012-04-07 18:27:30 +0200
committerIgor Wiedler <igor@wiedler.ch>2012-04-07 18:27:30 +0200
commit24daef1aafb0a733c3428122d740fea17d4f34a0 (patch)
tree19338a7c549089437f2f9cb708f6afb8a26e733a /phpBB/includes/style/template_renderer_eval.php
parent3963b39634225a68687cf1b817a47ae1eeb6ac79 (diff)
parent713e7129e2dfb1039f5198c03c8808c8410f434a (diff)
downloadforums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar
forums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar.gz
forums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar.bz2
forums-24daef1aafb0a733c3428122d740fea17d4f34a0.tar.xz
forums-24daef1aafb0a733c3428122d740fea17d4f34a0.zip
Merge branch 'develop' into feature/avatars
* develop: (335 commits) [ticket/10575] Adding public visibility to the methods. [ticket/10575] Fixing non-static access to static functions get_instance [ticket/10547] User is not logged in as admin after installation [ticket/10650] Revert merge of 'rahulr92/ticket/10650' into develop [ticket/10650] Added checking for empty subjects [ticket/10650] Corrected intendation [ticket/10650]Added permission checking and utf8 functions [ticket/10650] Cropped subject and inserted newline [ticket/10650] Corrected space before true [ticket/10650] Changed language files and forumlist [ticket/10650] Added static sql files [ticket/10650] Displaying last topic on forum list [ticket/10760] Fix numbering in php fun facts. [ticket/10760] Value must be quoted as it might be two words. [ticket/10760] PHP is great. This commit is the proof. [ticket/10760] Catch both versions of parse error output in php. [ticket/10607] Added 'Powered by' translation string. [ticket/10760] Account for display_errors=stderr in pre-commit hook. [ticket/10760] Quote PHP_BIN when using it. [ticket/10760] Use echo -e only if echo understands -e. ...
Diffstat (limited to 'phpBB/includes/style/template_renderer_eval.php')
-rw-r--r--phpBB/includes/style/template_renderer_eval.php60
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..3e08b06e69
--- /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_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 ');
+ }
+}