Merge remote-tracking branch 'remotes/marc/ticket/11323' into develop

# By Marc Alexander
# Via Marc Alexander
* remotes/marc/ticket/11323:
  [ticket/11323] Reduce additional code and revert regex to previous one
  [ticket/11323] Enable tests for inclusion of defined variables
  [ticket/11323] Correctly treat variables in template defines
This commit is contained in:
Nathaniel Guse 2013-03-09 19:02:44 -06:00
commit 3f5d938a95
2 changed files with 12 additions and 4 deletions

View file

@ -843,7 +843,18 @@ class phpbb_template_filter extends php_user_filter
return 'unset(' . (($match[1]) ? $this->generate_block_data_ref(substr($match[1], 0, -1), true, true) . '[\'' . $match[2] . '\']' : '$_tpldata[\'DEFINE\'][\'.\'][\'' . $match[2] . '\']') . ');'; return 'unset(' . (($match[1]) ? $this->generate_block_data_ref(substr($match[1], 0, -1), true, true) . '[\'' . $match[2] . '\']' : '$_tpldata[\'DEFINE\'][\'.\'][\'' . $match[2] . '\']') . ');';
} }
/*
* Define tags that contain template variables (enclosed in curly brackets)
* need to be treated differently.
*/
if (substr($match[3], 1, 1) == '{' && substr($match[3], -2, 1) == '}')
{
$parsed_statement = implode(' ', $this->compile_expression(substr($match[3], 2, -2)));
}
else
{
$parsed_statement = implode(' ', $this->compile_expression($match[3])); $parsed_statement = implode(' ', $this->compile_expression($match[3]));
}
return (($match[1]) ? $this->generate_block_data_ref(substr($match[1], 0, -1), true, true) . '[\'' . $match[2] . '\']' : '$_tpldata[\'DEFINE\'][\'.\'][\'' . $match[2] . '\']') . ' = ' . $parsed_statement . ';'; return (($match[1]) ? $this->generate_block_data_ref(substr($match[1], 0, -1), true, true) . '[\'' . $match[2] . '\']' : '$_tpldata[\'DEFINE\'][\'.\'][\'' . $match[2] . '\']') . ' = ' . $parsed_statement . ';';
} }

View file

@ -197,8 +197,6 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
array('loop'), array('loop'),
'', '',
), ),
/* Currently fail on develop:
http://tracker.phpbb.com/browse/PHPBB3-11323
array( array(
'include_define_variable.html', 'include_define_variable.html',
array('VARIABLE' => 'variable.html'), array('VARIABLE' => 'variable.html'),
@ -213,7 +211,6 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
array(), array(),
'value', 'value',
), ),
*/
/* no top level nested loops /* no top level nested loops
array( array(
'loop_vars.html', 'loop_vars.html',