diff --git a/CHANGELOG.md b/CHANGELOG.md index 16feced8d..ccdbe3405 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# v1.5.1 +## mm/dd/2018 + +1. [](#improved) + * Updated deprecated Twig code so it works in both in Twig 1.34+ and Twig 2.4+ + # v1.5.0 ## 08/17/2018 diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeScript.php b/system/src/Grav/Common/Twig/Node/TwigNodeScript.php index 35ca20f7a..c1c02580d 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeScript.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeScript.php @@ -14,7 +14,7 @@ class TwigNodeScript extends \Twig_Node implements \Twig_NodeOutputInterface /** * TwigNodeScript constructor. - * @param \Twig_NodeInterface|null $body + * @param \Twig_Node|null $body * @param \Twig_Node_Expression|null $file * @param \Twig_Node_Expression|null $group * @param \Twig_Node_Expression|null $priority @@ -23,12 +23,12 @@ class TwigNodeScript extends \Twig_Node implements \Twig_NodeOutputInterface * @param string|null $tag */ public function __construct( - \Twig_NodeInterface $body = null, + \Twig_Node $body = null, \Twig_Node_Expression $file = null, \Twig_Node_Expression $group = null, \Twig_Node_Expression $priority = null, \Twig_Node_Expression $attributes = null, - $lineno, + $lineno = 0, $tag = null ) { diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php b/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php index 8c0b3b87c..726e5a69b 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php @@ -14,18 +14,18 @@ class TwigNodeStyle extends \Twig_Node implements \Twig_NodeOutputInterface /** * TwigNodeAssets constructor. - * @param \Twig_NodeInterface|null $body + * @param \Twig_Node|null $body * @param \Twig_Node_Expression|null $attributes * @param int $lineno * @param null $tag */ public function __construct( - \Twig_NodeInterface $body = null, + \Twig_Node $body = null, \Twig_Node_Expression $file = null, \Twig_Node_Expression $group = null, \Twig_Node_Expression $priority = null, \Twig_Node_Expression $attributes = null, - $lineno, + $lineno = 0, $tag = null ) { diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php b/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php index 1630e5eae..97824cf03 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php @@ -10,7 +10,13 @@ namespace Grav\Common\Twig\Node; class TwigNodeSwitch extends \Twig_Node implements \Twig_NodeOutputInterface { - public function __construct(\Twig_NodeInterface $value, \Twig_NodeInterface $cases, \Twig_NodeInterface $default = null, $lineno, $tag = null) + public function __construct( + \Twig_Node $value, + \Twig_Node $cases, + \Twig_Node $default = null, + $lineno = 0, + $tag = null + ) { parent::__construct(array('value' => $value, 'cases' => $cases, 'default' => $default), array(), $lineno, $tag); } diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php b/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php index e37c31992..ecfcdab61 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php @@ -10,7 +10,12 @@ namespace Grav\Common\Twig\Node; class TwigNodeTryCatch extends \Twig_Node { - public function __construct(\Twig_NodeInterface $try, \Twig_NodeInterface $catch = null, $lineno, $tag = null) + public function __construct( + \Twig_Node $try, + \Twig_Node $catch = null, + $lineno = 0, + $tag = null + ) { parent::__construct(array('try' => $try, 'catch' => $catch), array(), $lineno, $tag); } diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php index 98c72e21b..fd87b1bce 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php @@ -27,7 +27,7 @@ class TwigTokenParserScript extends \Twig_TokenParser * * @param \Twig_Token $token A Twig_Token instance * - * @return \Twig_NodeInterface A Twig_NodeInterface instance + * @return \Twig_Node A Twig_Node instance */ public function parse(\Twig_Token $token) { diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php index f207686bd..0c09ed40c 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php @@ -26,7 +26,7 @@ class TwigTokenParserStyle extends \Twig_TokenParser * * @param \Twig_Token $token A Twig_Token instance * - * @return \Twig_NodeInterface A Twig_NodeInterface instance + * @return \Twig_Node A Twig_Node instance */ public function parse(\Twig_Token $token) { diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php index d639c57a0..b20586136 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php @@ -28,7 +28,7 @@ class TwigTokenParserTryCatch extends \Twig_TokenParser * * @param \Twig_Token $token A Twig_Token instance * - * @return \Twig_NodeInterface A Twig_NodeInterface instance + * @return \Twig_Node A Twig_Node instance */ public function parse(\Twig_Token $token) { diff --git a/system/src/Grav/Common/Twig/Twig.php b/system/src/Grav/Common/Twig/Twig.php index a69c1623d..c276aafcf 100644 --- a/system/src/Grav/Common/Twig/Twig.php +++ b/system/src/Grav/Common/Twig/Twig.php @@ -125,10 +125,10 @@ class Twig if ($config->get('system.twig.undefined_functions')) { $this->twig->registerUndefinedFunctionCallback(function ($name) { if (function_exists($name)) { - return new \Twig_Function_Function($name); + return new \Twig_SimpleFunction($name, $name); } - return new \Twig_Function_Function(function () { + return new \Twig_SimpleFunction($name, function () { }); }); } @@ -136,10 +136,10 @@ class Twig if ($config->get('system.twig.undefined_filters')) { $this->twig->registerUndefinedFilterCallback(function ($name) { if (function_exists($name)) { - return new \Twig_Filter_Function($name); + return new \Twig_SimpleFilter($name, $name); } - return new \Twig_Filter_Function(function () { + return new \Twig_SimpleFilter($name, function () { }); }); } @@ -148,7 +148,7 @@ class Twig // set default date format if set in config if ($config->get('system.pages.dateformat.long')) { - $this->twig->getExtension('core')->setDateFormat($config->get('system.pages.dateformat.long')); + $this->twig->getExtension('Twig_Extension_Core')->setDateFormat($config->get('system.pages.dateformat.long')); } // enable the debug extension if required if ($config->get('system.twig.debug')) { @@ -162,7 +162,7 @@ class Twig $pages = $this->grav['pages']; // Set some standard variables for twig - $this->twig_vars = $this->twig_vars + [ + $this->twig_vars += [ 'config' => $config, 'system' => $config->get('system'), 'theme' => $config->get('theme'),