From 0cb539ed72d961618b69103b9d7717c550dafbd3 Mon Sep 17 00:00:00 2001 From: Vjacheslav Trushkin Date: Sun, 4 Sep 2011 23:25:54 +0300 Subject: [PATCH 1/2] [ticket/10350] Fix for class phpbb_template_renderer_eval Fixing bug in class phpbb_template_renderer_eval PHPBB3-10350 --- phpBB/includes/template/renderer_eval.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpBB/includes/template/renderer_eval.php b/phpBB/includes/template/renderer_eval.php index 11e2a30f06..2c05a1c1df 100644 --- a/phpBB/includes/template/renderer_eval.php +++ b/phpBB/includes/template/renderer_eval.php @@ -55,6 +55,6 @@ class phpbb_template_renderer_eval implements phpbb_template_renderer $_rootref = &$context->get_root_ref(); $_lang = $lang; - eval($this->code); + eval(' ?>' . $this->code . ' Date: Mon, 5 Sep 2011 11:57:18 +0300 Subject: [PATCH 2/2] [ticket/10350] Script for testing eval renderer Script for testing eval renderer (fixed) PHPBB3-10350 --- tests/template/renderer_eval_test.php | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/template/renderer_eval_test.php diff --git a/tests/template/renderer_eval_test.php b/tests/template/renderer_eval_test.php new file mode 100644 index 0000000000..c30516ba97 --- /dev/null +++ b/tests/template/renderer_eval_test.php @@ -0,0 +1,31 @@ +">'; + $valid_code = ''; + $context = new phpbb_template_context(); + $template = new phpbb_template_renderer_eval($compiled_code, NULL); + ob_start(); + try + { + $template->render($context, array()); + } + catch (Exception $exception) + { + ob_end_clean(); + throw $exception; + } + $output = ob_get_clean(); + $this->assertEquals($valid_code, $output); + } +}