fixed Twig support for 1.26 and 2.0
This commit is contained in:
parent
da6c664e98
commit
24e9cf2155
@ -21,7 +21,7 @@
|
|||||||
"paragonie/random_compat": "~1.0",
|
"paragonie/random_compat": "~1.0",
|
||||||
"symfony/polyfill-apcu": "~1.1",
|
"symfony/polyfill-apcu": "~1.1",
|
||||||
"symfony/polyfill-mbstring": "~1.1",
|
"symfony/polyfill-mbstring": "~1.1",
|
||||||
"twig/twig": "~1.23|~2.0",
|
"twig/twig": "~1.26|~2.0",
|
||||||
"psr/log": "~1.0"
|
"psr/log": "~1.0"
|
||||||
},
|
},
|
||||||
"replace": {
|
"replace": {
|
||||||
|
@ -30,7 +30,7 @@ class FormThemeNode extends \Twig_Node
|
|||||||
{
|
{
|
||||||
$compiler
|
$compiler
|
||||||
->addDebugInfo($this)
|
->addDebugInfo($this)
|
||||||
->write('$this->env->getExtension(\'form\')->renderer->setTheme(')
|
->write('$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->setTheme(')
|
||||||
->subcompile($this->getNode('form'))
|
->subcompile($this->getNode('form'))
|
||||||
->raw(', ')
|
->raw(', ')
|
||||||
->subcompile($this->getNode('resources'))
|
->subcompile($this->getNode('resources'))
|
||||||
|
@ -25,7 +25,7 @@ class RenderBlockNode extends \Twig_Node_Expression_Function
|
|||||||
{
|
{
|
||||||
$compiler->addDebugInfo($this);
|
$compiler->addDebugInfo($this);
|
||||||
$arguments = iterator_to_array($this->getNode('arguments'));
|
$arguments = iterator_to_array($this->getNode('arguments'));
|
||||||
$compiler->write('$this->env->getExtension(\'form\')->renderer->renderBlock(');
|
$compiler->write('$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->renderBlock(');
|
||||||
|
|
||||||
if (isset($arguments[0])) {
|
if (isset($arguments[0])) {
|
||||||
$compiler->subcompile($arguments[0]);
|
$compiler->subcompile($arguments[0]);
|
||||||
|
@ -19,7 +19,7 @@ class SearchAndRenderBlockNode extends \Twig_Node_Expression_Function
|
|||||||
public function compile(\Twig_Compiler $compiler)
|
public function compile(\Twig_Compiler $compiler)
|
||||||
{
|
{
|
||||||
$compiler->addDebugInfo($this);
|
$compiler->addDebugInfo($this);
|
||||||
$compiler->raw('$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(');
|
$compiler->raw('$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(');
|
||||||
|
|
||||||
preg_match('/_([^_]+)$/', $this->getAttribute('name'), $matches);
|
preg_match('/_([^_]+)$/', $this->getAttribute('name'), $matches);
|
||||||
|
|
||||||
|
@ -32,11 +32,11 @@ class StopwatchNode extends \Twig_Node
|
|||||||
->raw(' = ')
|
->raw(' = ')
|
||||||
->subcompile($this->getNode('name'))
|
->subcompile($this->getNode('name'))
|
||||||
->write(";\n")
|
->write(";\n")
|
||||||
->write("\$this->env->getExtension('stopwatch')->getStopwatch()->start(")
|
->write("\$this->env->getExtension('Symfony\Bridge\Twig\Extension\StopwatchExtension')->getStopwatch()->start(")
|
||||||
->subcompile($this->getNode('var'))
|
->subcompile($this->getNode('var'))
|
||||||
->raw(", 'template');\n")
|
->raw(", 'template');\n")
|
||||||
->subcompile($this->getNode('body'))
|
->subcompile($this->getNode('body'))
|
||||||
->write("\$this->env->getExtension('stopwatch')->getStopwatch()->stop(")
|
->write("\$this->env->getExtension('Symfony\Bridge\Twig\Extension\StopwatchExtension')->getStopwatch()->stop(")
|
||||||
->subcompile($this->getNode('var'))
|
->subcompile($this->getNode('var'))
|
||||||
->raw(");\n")
|
->raw(");\n")
|
||||||
;
|
;
|
||||||
|
@ -54,7 +54,7 @@ class TransNode extends \Twig_Node
|
|||||||
$method = !$this->hasNode('count') ? 'trans' : 'transChoice';
|
$method = !$this->hasNode('count') ? 'trans' : 'transChoice';
|
||||||
|
|
||||||
$compiler
|
$compiler
|
||||||
->write('echo $this->env->getExtension(\'translator\')->getTranslator()->'.$method.'(')
|
->write('echo $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->getTranslator()->'.$method.'(')
|
||||||
->subcompile($msg)
|
->subcompile($msg)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ class FormThemeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->setTheme(%s, array(0 => "tpl1", 1 => "tpl2"));',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->setTheme(%s, array(0 => "tpl1", 1 => "tpl2"));',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -57,7 +57,7 @@ class FormThemeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->setTheme(%s, "tpl1");',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->setTheme(%s, "tpl1");',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
|
@ -27,7 +27,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'widget\')',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'widget\')',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -50,7 +50,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'widget\', array("foo" => "bar"))',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'widget\', array("foo" => "bar"))',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -70,7 +70,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("label" => "my label"))',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("label" => "my label"))',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -92,7 +92,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
// Otherwise the default label is overwritten with null.
|
// Otherwise the default label is overwritten with null.
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\')',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\')',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -114,7 +114,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
// Otherwise the default label is overwritten with null.
|
// Otherwise the default label is overwritten with null.
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\')',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\')',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -133,7 +133,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\')',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\')',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -160,7 +160,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
// https://github.com/symfony/symfony/issues/5029
|
// https://github.com/symfony/symfony/issues/5029
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar"))',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar"))',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -186,7 +186,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in argument"))',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in argument"))',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -217,7 +217,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
// https://github.com/symfony/symfony/issues/5029
|
// https://github.com/symfony/symfony/issues/5029
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
@ -254,7 +254,7 @@ class SearchAndRenderBlockNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
// https://github.com/symfony/symfony/issues/5029
|
// https://github.com/symfony/symfony/issues/5029
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in attributes") + (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))',
|
'$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in attributes") + (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))',
|
||||||
$this->getVariableGetter('form')
|
$this->getVariableGetter('form')
|
||||||
),
|
),
|
||||||
trim($compiler->compile($node)->getSource())
|
trim($compiler->compile($node)->getSource())
|
||||||
|
@ -29,7 +29,7 @@ class TransNodeTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
sprintf(
|
sprintf(
|
||||||
'echo $this->env->getExtension(\'translator\')->getTranslator()->trans("trans %%var%%", array_merge(array("%%var%%" => %s), %s), "messages");',
|
'echo $this->env->getExtension(\'Symfony\Bridge\Twig\Extension\TranslationExtension\')->getTranslator()->trans("trans %%var%%", array_merge(array("%%var%%" => %s), %s), "messages");',
|
||||||
$this->getVariableGetterWithoutStrictCheck('var'),
|
$this->getVariableGetterWithoutStrictCheck('var'),
|
||||||
$this->getVariableGetterWithStrictCheck('foo')
|
$this->getVariableGetterWithStrictCheck('foo')
|
||||||
),
|
),
|
||||||
|
@ -82,7 +82,7 @@ class TwigExtractor extends AbstractFileExtractor implements ExtractorInterface
|
|||||||
|
|
||||||
protected function extractTemplate($template, MessageCatalogue $catalogue)
|
protected function extractTemplate($template, MessageCatalogue $catalogue)
|
||||||
{
|
{
|
||||||
$visitor = $this->twig->getExtension('translator')->getTranslationNodeVisitor();
|
$visitor = $this->twig->getExtension('Symfony\Bridge\Twig\Extension\TranslationExtension')->getTranslationNodeVisitor();
|
||||||
$visitor->enable();
|
$visitor->enable();
|
||||||
|
|
||||||
$this->twig->parse($this->twig->tokenize($template));
|
$this->twig->parse($this->twig->tokenize($template));
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3.9",
|
"php": ">=5.3.9",
|
||||||
"twig/twig": "~1.23|~2.0"
|
"twig/twig": "~1.26|~2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"symfony/asset": "~2.7",
|
"symfony/asset": "~2.7",
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
"symfony/yaml": "~2.0,>=2.0.5",
|
"symfony/yaml": "~2.0,>=2.0.5",
|
||||||
"symfony/expression-language": "~2.6",
|
"symfony/expression-language": "~2.6",
|
||||||
"doctrine/doctrine-bundle": "~1.2",
|
"doctrine/doctrine-bundle": "~1.2",
|
||||||
"twig/twig": "~1.23|~2.0",
|
"twig/twig": "~1.26|~2.0",
|
||||||
"ircmaxell/password-compat": "~1.0"
|
"ircmaxell/password-compat": "~1.0"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -37,12 +37,12 @@ class EnvironmentConfigurator
|
|||||||
|
|
||||||
public function configure(\Twig_Environment $environment)
|
public function configure(\Twig_Environment $environment)
|
||||||
{
|
{
|
||||||
$environment->getExtension('core')->setDateFormat($this->dateFormat, $this->intervalFormat);
|
$environment->getExtension('Twig_Extension_Core')->setDateFormat($this->dateFormat, $this->intervalFormat);
|
||||||
|
|
||||||
if (null !== $this->timezone) {
|
if (null !== $this->timezone) {
|
||||||
$environment->getExtension('core')->setTimezone($this->timezone);
|
$environment->getExtension('Twig_Extension_Core')->setTimezone($this->timezone);
|
||||||
}
|
}
|
||||||
|
|
||||||
$environment->getExtension('core')->setNumberFormat($this->decimals, $this->decimalPoint, $this->thousandsSeparator);
|
$environment->getExtension('Twig_Extension_Core')->setNumberFormat($this->decimals, $this->decimalPoint, $this->thousandsSeparator);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ class RenderNode extends \Twig_Node
|
|||||||
{
|
{
|
||||||
$compiler
|
$compiler
|
||||||
->addDebugInfo($this)
|
->addDebugInfo($this)
|
||||||
->write("echo \$this->env->getExtension('actions')->renderUri(")
|
->write("echo \$this->env->getExtension('Symfony\Bundle\TwigBundle\Extension\ActionsExtension')->renderUri(")
|
||||||
->subcompile($this->getNode('expr'))
|
->subcompile($this->getNode('expr'))
|
||||||
->raw(', ')
|
->raw(', ')
|
||||||
->subcompile($this->getNode('options'))
|
->subcompile($this->getNode('options'))
|
||||||
|
@ -49,7 +49,7 @@ class TwigEngine extends BaseEngine implements EngineInterface
|
|||||||
{
|
{
|
||||||
@trigger_error('The '.__METHOD__.' method is deprecated since version 2.7 and will be removed in 3.0. Inject the escaping strategy in the Twig_Environment object instead.', E_USER_DEPRECATED);
|
@trigger_error('The '.__METHOD__.' method is deprecated since version 2.7 and will be removed in 3.0. Inject the escaping strategy in the Twig_Environment object instead.', E_USER_DEPRECATED);
|
||||||
|
|
||||||
$this->environment->getExtension('escaper')->setDefaultStrategy($strategy);
|
$this->environment->getExtension('Twig_Extension_Escaper')->setDefaultStrategy($strategy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
"php": ">=5.3.9",
|
"php": ">=5.3.9",
|
||||||
"symfony/asset": "~2.7",
|
"symfony/asset": "~2.7",
|
||||||
"symfony/twig-bridge": "~2.7",
|
"symfony/twig-bridge": "~2.7",
|
||||||
|
"twig/twig": "~1.26|~2.0",
|
||||||
"symfony/http-foundation": "~2.5",
|
"symfony/http-foundation": "~2.5",
|
||||||
"symfony/http-kernel": "~2.7"
|
"symfony/http-kernel": "~2.7"
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user