[Twig] made code compatible with Twig 1.5
This commit is contained in:
parent
bebdd07f41
commit
adea589a3d
@ -89,17 +89,26 @@ class TransNode extends \Twig_Node
|
|||||||
return array($body, $vars);
|
return array($body, $vars);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
preg_match_all('/(?<!%)%([^%]+)%/', $msg, $matches);
|
||||||
|
|
||||||
|
if (version_compare(\Twig_Environment::VERSION, '1.5', '>=')) {
|
||||||
|
foreach ($matches[1] as $var) {
|
||||||
|
$key = new \Twig_Node_Expression_Constant('%'.$var.'%', $body->getLine());
|
||||||
|
if (!$vars->hasElement($key)) {
|
||||||
|
$vars->addElement(new \Twig_Node_Expression_Name($var, $body->getLine()), $key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
$current = array();
|
$current = array();
|
||||||
foreach ($vars as $name => $var) {
|
foreach ($vars as $name => $var) {
|
||||||
$current[$name] = true;
|
$current[$name] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
preg_match_all('/(?<!%)%([^%]+)%/', $msg, $matches);
|
|
||||||
foreach ($matches[1] as $var) {
|
foreach ($matches[1] as $var) {
|
||||||
if (!isset($current['%'.$var.'%'])) {
|
if (!isset($current['%'.$var.'%'])) {
|
||||||
$vars->setNode('%'.$var.'%', new \Twig_Node_Expression_Name($var, $body->getLine()));
|
$vars->setNode('%'.$var.'%', new \Twig_Node_Expression_Name($var, $body->getLine()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return array(new \Twig_Node_Expression_Constant(str_replace('%%', '%', trim($msg)), $body->getLine()), $vars);
|
return array(new \Twig_Node_Expression_Constant(str_replace('%%', '%', trim($msg)), $body->getLine()), $vars);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user