Merge remote-tracking branch 'naderman/ticket/10783' into develop

* naderman/ticket/10783:
  [ticket/10783] Correctly add assets_version config var to includejs urls
This commit is contained in:
Oleg Pudeyev 2012-04-12 22:54:43 -04:00
commit 2c9d984049
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

@ -138,7 +138,7 @@ class phpbb_style_template_filter extends php_user_filter
/** /**
* Initializer, called on creation. * 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. * which are passed to stream_filter_append.
*/ */
public function onCreate() public function onCreate()
@ -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,14 +894,14 @@ 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)
{ {
// File does not exist, find it during run time // File does not exist, find it during run time
return ' $_template->_js_include(\'' . addslashes($tag_args) . '\', true); '; return ' $_template->_js_include(\'' . addslashes($tag_args) . '\', true); ';
} }
if (substr($filename, 0, strlen($this->phpbb_root_path)) != $this->phpbb_root_path) if (substr($filename, 0, strlen($this->phpbb_root_path)) != $this->phpbb_root_path)
{ {
// Absolute path, include as is // Absolute path, include as is

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