mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge remote-tracking branch 'cs278/ticket/10384' into develop
* cs278/ticket/10384: [ticket/10384] Language variable replacements should not check for var prefix. [ticket/10384] Update unit tests to test for failing variable.
This commit is contained in:
commit
d01c028c1c
3 changed files with 10 additions and 7 deletions
|
@ -40,6 +40,7 @@ class phpbb_template_filter extends php_user_filter
|
|||
const REGEX_NS = '[a-z_][a-z_0-9]+';
|
||||
|
||||
const REGEX_VAR = '[A-Z_][A-Z_0-9]+';
|
||||
const REGEX_VAR_SUFFIX = '[A-Z_0-9]+';
|
||||
|
||||
const REGEX_TAG = '<!-- ([A-Z][A-Z_0-9]+)(?: (.*?) ?)?-->';
|
||||
|
||||
|
@ -374,7 +375,7 @@ class phpbb_template_filter extends php_user_filter
|
|||
// transform vars prefixed by L_ into their language variable pendant if nothing is set within the tpldata array
|
||||
if (strpos($text_blocks, '{L_') !== false)
|
||||
{
|
||||
$text_blocks = preg_replace('#\{L_(' . self::REGEX_VAR . ')\}#', "<?php echo ((isset(\$_rootref['L_\\1'])) ? \$_rootref['L_\\1'] : ((isset(\$_lang['\\1'])) ? \$_lang['\\1'] : '{ \\1 }')); /**/?>", $text_blocks, -1, $replacements);
|
||||
$text_blocks = preg_replace('#\{L_(' . self::REGEX_VAR_SUFFIX . ')\}#', "<?php echo ((isset(\$_rootref['L_\\1'])) ? \$_rootref['L_\\1'] : ((isset(\$_lang['\\1'])) ? \$_lang['\\1'] : '{ \\1 }')); /**/?>", $text_blocks, -1, $replacements);
|
||||
return (bool) $replacements;
|
||||
}
|
||||
|
||||
|
@ -382,7 +383,7 @@ class phpbb_template_filter extends php_user_filter
|
|||
// If a template variable already exist, it will be used in favor of it...
|
||||
if (strpos($text_blocks, '{LA_') !== false)
|
||||
{
|
||||
$text_blocks = preg_replace('#\{LA_(' . self::REGEX_VAR . '+)\}#', "<?php echo ((isset(\$_rootref['LA_\\1'])) ? \$_rootref['LA_\\1'] : ((isset(\$_rootref['L_\\1'])) ? addslashes(\$_rootref['L_\\1']) : ((isset(\$_lang['\\1'])) ? addslashes(\$_lang['\\1']) : '{ \\1 }'))); /**/?>", $text_blocks, -1, $replacements);
|
||||
$text_blocks = preg_replace('#\{LA_(' . self::REGEX_VAR_SUFFIX . '+)\}#', "<?php echo ((isset(\$_rootref['LA_\\1'])) ? \$_rootref['LA_\\1'] : ((isset(\$_rootref['L_\\1'])) ? addslashes(\$_rootref['L_\\1']) : ((isset(\$_lang['\\1'])) ? addslashes(\$_lang['\\1']) : '{ \\1 }'))); /**/?>", $text_blocks, -1, $replacements);
|
||||
return (bool) $replacements;
|
||||
}
|
||||
|
||||
|
|
|
@ -211,21 +211,21 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
|
|||
array(),
|
||||
array(),
|
||||
array(),
|
||||
"{ VARIABLE }\n{ VARIABLE }",
|
||||
"{ VARIABLE }\n{ 1_VARIABLE }\n{ VARIABLE }\n{ 1_VARIABLE }",
|
||||
),
|
||||
array(
|
||||
'lang.html',
|
||||
array('L_VARIABLE' => "Value'"),
|
||||
array('L_VARIABLE' => "Value'", 'L_1_VARIABLE' => "1 O'Clock"),
|
||||
array(),
|
||||
array(),
|
||||
"Value'\nValue\'",
|
||||
"Value'\n1 O'Clock\nValue\'\n1 O\'Clock",
|
||||
),
|
||||
array(
|
||||
'lang.html',
|
||||
array('LA_VARIABLE' => "Value'"),
|
||||
array('LA_VARIABLE' => "Value'", 'LA_1_VARIABLE' => "1 O'Clock"),
|
||||
array(),
|
||||
array(),
|
||||
"{ VARIABLE }\nValue'",
|
||||
"{ VARIABLE }\n{ 1_VARIABLE }\nValue'\n1 O'Clock",
|
||||
),
|
||||
array(
|
||||
'loop_nested_multilevel_ref.html',
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
{L_VARIABLE}
|
||||
{L_1_VARIABLE}
|
||||
|
||||
{LA_VARIABLE}
|
||||
{LA_1_VARIABLE}
|
||||
|
|
Loading…
Add table
Reference in a new issue