From 431fc363a219a0fa197f5c60964b4044bc94a88e Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 4 Aug 2018 21:22:04 +0900 Subject: [PATCH] Fix #1048 unable to use $lang in outside file --- modules/page/page.view.php | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/modules/page/page.view.php b/modules/page/page.view.php index 2885e724d..6b7dbfe29 100644 --- a/modules/page/page.view.php +++ b/modules/page/page.view.php @@ -204,17 +204,32 @@ class pageView extends page FileHandler::writeFile($cache_file, $script); } + // Import Context and lang as local variables. $__Context = &$GLOBALS['__Context__']; $__Context->tpl_path = $filepath; + global $lang; + // Start the output buffer. + $__ob_level_before_fetch = ob_get_level(); ob_start(); - include($cache_file); + + // Include the compiled template. + include $cache_file; + // Fetch contents of the output buffer until the buffer level is the same as before. $contents = ''; - while (ob_get_level() - $level > 0) { - $contents .= ob_get_contents(); - ob_end_clean(); + while (ob_get_level() > $__ob_level_before_fetch) + { + $contents .= ob_get_clean(); } + + // Insert template path comment tag. + if(Rhymix\Framework\Debug::isEnabledForCurrentUser() && Context::getResponseMethod() === 'HTML' && !starts_with('' . PHP_EOL; + $contents = sprintf($sign, 'start') . $contents . sprintf($sign, 'end'); + } + return $contents; }