aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/style/template_renderer_eval.php
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2012-03-31 17:22:54 +0200
committerIgor Wiedler <igor@wiedler.ch>2012-03-31 17:22:54 +0200
commit0ae491c5fa9228304e17431ea7aa8ba9303cc193 (patch)
tree9d3fcccb13d8bda12ae7f0dec3321c7375d8e621 /phpBB/includes/style/template_renderer_eval.php
parente7a4437c1bccace4a0637241a8f386e686d9c3fb (diff)
parent5d07b16ec647f51d51504cf9d6a0861a975ceb8e (diff)
downloadforums-0ae491c5fa9228304e17431ea7aa8ba9303cc193.tar
forums-0ae491c5fa9228304e17431ea7aa8ba9303cc193.tar.gz
forums-0ae491c5fa9228304e17431ea7aa8ba9303cc193.tar.bz2
forums-0ae491c5fa9228304e17431ea7aa8ba9303cc193.tar.xz
forums-0ae491c5fa9228304e17431ea7aa8ba9303cc193.zip
Merge remote-tracking branch 'cyberalien/feature/merging-style-components' into develop
* cyberalien/feature/merging-style-components: (31 commits) [feature/merging-style-components] Fix back link on install page [feature/merging-style-components] Fix for unit tests [feature/merging-style-components] Moving template initialization out of style [feature/merging-style-components] Renaming "delete" to "uninstall" for styles [feature/merging-style-components] Initializing locator and provider separately [feature/merging-style-components] Fixing few errors in acp_styles [feature/merging-style-components] Fix notices in acp_styles [feature/merging-style-components] Updating styles in coding guidelines [feature/merging-style-components] Changing acp_styles text [feature/merging-style-components] Updating test cases [feature/merging-style-components] Updating style initialization [feature/merging-style-components] Changing style class [feature/merging-style-components] Changing template class [feature/merging-style-components] Changing resource locator [feature/merging-style-components] Changing path provider [feature/merging-style-components] Renaming style locator [feature/merging-style-components] Changing $style to $style_id [feature/merging-style-components] Creating style class [feature/merging-style-components] New acp_styles template [feature/merging-style-components] New acp_styles ...
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 ');
+ }
+}