diff options
| author | David King <imkingdavid@gmail.com> | 2013-09-12 21:15:32 -0700 |
|---|---|---|
| committer | David King <imkingdavid@gmail.com> | 2013-09-12 21:15:32 -0700 |
| commit | 70399fe66d559ddfccb5e5ebfa5c340ca4c90313 (patch) | |
| tree | 154c1f820f4c9ef7197d04cee4b8ed1db599c874 /phpBB/phpbb | |
| parent | 12ede5f2a783bbdb8dc8ba9a94b4cd1ffa750e49 (diff) | |
| parent | bcb1392351c2da921f477b56ab2c0777e7bbf4fc (diff) | |
| download | forums-70399fe66d559ddfccb5e5ebfa5c340ca4c90313.tar forums-70399fe66d559ddfccb5e5ebfa5c340ca4c90313.tar.gz forums-70399fe66d559ddfccb5e5ebfa5c340ca4c90313.tar.bz2 forums-70399fe66d559ddfccb5e5ebfa5c340ca4c90313.tar.xz forums-70399fe66d559ddfccb5e5ebfa5c340ca4c90313.zip | |
Merge pull request #1683 from EXreaction/ticket/11816
[ticket/11816] Fix define/loop checks in IF statements containing parenthesis
Diffstat (limited to 'phpBB/phpbb')
| -rw-r--r-- | phpBB/phpbb/template/twig/lexer.php | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/phpBB/phpbb/template/twig/lexer.php b/phpBB/phpbb/template/twig/lexer.php index bd9ece57fd..d47162951d 100644 --- a/phpBB/phpbb/template/twig/lexer.php +++ b/phpBB/phpbb/template/twig/lexer.php @@ -229,18 +229,18 @@ class phpbb_template_twig_lexer extends Twig_Lexer { $inner = $matches[2]; // Replace $TEST with definition.TEST - $inner = preg_replace('#\s\$([a-zA-Z_0-9]+)#', ' definition.$1', $inner); + $inner = preg_replace('#(\s\(?!?)\$([a-zA-Z_0-9]+)#', '$1definition.$2', $inner); // Replace .foo with loops.foo|length - $inner = preg_replace('#\s\.([a-zA-Z_0-9]+)([^a-zA-Z_0-9\.])#', ' loops.$1|length$2', $inner); + $inner = preg_replace('#(\s\(?!?)\.([a-zA-Z_0-9]+)([^a-zA-Z_0-9\.])#', '$1loops.$2|length$3', $inner); // Replace .foo.bar with foo.bar|length - $inner = preg_replace('#\s\.([a-zA-Z_0-9\.]+)([^a-zA-Z_0-9\.])#', ' $1|length$2', $inner); + $inner = preg_replace('#(\s\(?!?)\.([a-zA-Z_0-9\.]+)([^a-zA-Z_0-9\.])#', '$1$2|length$3', $inner); return "<!-- {$matches[1]}IF{$inner}-->"; }; - return preg_replace_callback('#<!-- (ELSE)?IF((.*?)[\s][\$|\.|!]([^\s]+)(.*?))-->#', $callback, $code); + return preg_replace_callback('#<!-- (ELSE)?IF((.*?) \(?!?[\$|\.]([^\s]+)(.*?))-->#', $callback, $code); } /** |
