diff --git a/phpBB/includes/style/template.php b/phpBB/includes/style/template.php index 3f15355f7a..9d476e74b9 100644 --- a/phpBB/includes/style/template.php +++ b/phpBB/includes/style/template.php @@ -507,6 +507,9 @@ class phpbb_style_template $file = $this->locator->get_first_file_location(array($file), true, true); } + $file .= (strpos($file, '?') === false) ? '?' : '&'; + $file .= 'assets_version=' . $this->config['assets_version']; + // Add HTML code $code = ''; $this->context->append_var('SCRIPTS', $code); diff --git a/phpBB/includes/style/template_filter.php b/phpBB/includes/style/template_filter.php index f9bbcce4b2..6ef9d80a3d 100644 --- a/phpBB/includes/style/template_filter.php +++ b/phpBB/includes/style/template_filter.php @@ -138,7 +138,7 @@ class phpbb_style_template_filter extends php_user_filter /** * Initializer, called on creation. * - * Get the allow_php option, root directory and locator from params, + * Get the allow_php option, root directory and locator from params, * which are passed to stream_filter_append. */ public function onCreate() @@ -882,8 +882,6 @@ class phpbb_style_template_filter extends php_user_filter */ private function compile_tag_include_js($tag_args) { - global $config; - // Process dynamic includes if ($tag_args[0] == '{') { @@ -896,14 +894,14 @@ class phpbb_style_template_filter extends php_user_filter } // Locate file - $filename = $this->locator->get_first_file_location(array($tag_args), false, true) . '?assets_version=' . $config['assets_version']; - + $filename = $this->locator->get_first_file_location(array($tag_args), false, true); + if ($filename === false) { // File does not exist, find it during run time return ' $_template->_js_include(\'' . addslashes($tag_args) . '\', true); '; } - + if (substr($filename, 0, strlen($this->phpbb_root_path)) != $this->phpbb_root_path) { // Absolute path, include as is diff --git a/tests/template/template_includejs_test.php b/tests/template/template_includejs_test.php index fa23837553..632fde61d1 100644 --- a/tests/template/template_includejs_test.php +++ b/tests/template/template_includejs_test.php @@ -14,14 +14,14 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes public function test_includejs_compilation() { // Reset the engine state - $this->setup_engine(); + $this->setup_engine(array('assets_version' => 1)); // Prepare correct result $dir = dirname(__FILE__); $scripts = array( - '', - '', - '' + '', + '', + '' ); // Run test