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 . '">'; + $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); + } +}