[ticket/11943] Do not quote the value when it is exactly true, false, or null

Quoting these can change the meaning of the value (e.g. 'false' == true)

PHPBB3-11943
This commit is contained in:
Nathan Guse 2013-11-04 12:21:12 -06:00
parent c609f25bae
commit b49d3a1851

View file

@ -129,6 +129,14 @@ class lexer extends \Twig_Lexer
// Replace template variables with start/end to parse variables (' ~ TEST ~ '.html)
$matches[2] = preg_replace('#{([a-zA-Z0-9_\.$]+)}#', "'~ \$1 ~'", $matches[2]);
// If the second item is exactly one of a few key words,
// do not quote it as it changes the meaning
// http://tracker.phpbb.com/browse/PHPBB3-11943
if (in_array($matches[2], array('false', 'true', 'null')))
{
return "<!-- {$matches[1]} {$matches[2]} -->";
}
// Surround the matches in single quotes ('' ~ TEST ~ '.html')
return "<!-- {$matches[1]} '{$matches[2]}' -->";
};