[ticket/10783] Correctly add assets_version config var to includejs urls

PHPBB3-10783
This commit is contained in:
Nils Adermann 2012-04-13 04:03:07 +02:00
parent 790cc0c54f
commit 8a1d084d6d
3 changed files with 11 additions and 10 deletions

View file

@ -507,6 +507,9 @@ class phpbb_style_template
$file = $this->locator->get_first_file_location(array($file), true, true); $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 // Add HTML code
$code = '<script src="' . htmlspecialchars($file) . '"></script>'; $code = '<script src="' . htmlspecialchars($file) . '"></script>';
$this->context->append_var('SCRIPTS', $code); $this->context->append_var('SCRIPTS', $code);

View file

@ -882,8 +882,6 @@ class phpbb_style_template_filter extends php_user_filter
*/ */
private function compile_tag_include_js($tag_args) private function compile_tag_include_js($tag_args)
{ {
global $config;
// Process dynamic includes // Process dynamic includes
if ($tag_args[0] == '{') if ($tag_args[0] == '{')
{ {
@ -896,7 +894,7 @@ class phpbb_style_template_filter extends php_user_filter
} }
// Locate file // 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) if ($filename === false)
{ {

View file

@ -14,14 +14,14 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
public function test_includejs_compilation() public function test_includejs_compilation()
{ {
// Reset the engine state // Reset the engine state
$this->setup_engine(); $this->setup_engine(array('assets_version' => 1));
// Prepare correct result // Prepare correct result
$dir = dirname(__FILE__); $dir = dirname(__FILE__);
$scripts = array( $scripts = array(
'<script src="' . $dir . '/templates/parent_and_child.html"></script>', '<script src="' . $dir . '/templates/parent_and_child.html?assets_version=1"></script>',
'<script src="' . $dir . '/parent_templates/parent_only.html"></script>', '<script src="' . $dir . '/parent_templates/parent_only.html?assets_version=1"></script>',
'<script src="' . $dir . '/templates/child_only.html"></script>' '<script src="' . $dir . '/templates/child_only.html?assets_version=1"></script>'
); );
// Run test // Run test