From 51a305b4457b2d7047edd94447c5aa1a63cb2075 Mon Sep 17 00:00:00 2001 From: Eric Espie Date: Wed, 30 Nov 2022 13:40:44 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B05725=20-=20Twig=20update=20'filter',=20'?= =?UTF-8?q?map'=20and=20'reduce'=20filters=20(twig=20functions=20signature?= =?UTF-8?q?=20changed)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itop-portal-base/portal/src/Twig/AppExtension.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php b/datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php index 164c1e71b2..9f28a98508 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php @@ -23,7 +23,9 @@ use AttributeDate; use AttributeDateTime; use AttributeText; use Dict; +use Twig\Environment; use Twig\Extension\AbstractExtension; +use Twig\Loader\FilesystemLoader; use Twig_SimpleFilter; use Twig_SimpleFunction; use utils; @@ -166,14 +168,16 @@ class AppExtension extends AbstractExtension if ($ret !== false) { return [$ret]; } - return twig_array_filter($array, $arrow); + $oEnv = new Environment(new FilesystemLoader()); + return twig_array_filter($oEnv, $array, $arrow); }); $filters[] = new Twig_SimpleFilter('map', function ($array, $arrow) { $ret = $this->SanitizeFilter($array, $arrow); if ($ret !== false) { return [$ret]; } - return twig_array_map($array, $arrow); + $oEnv = new Environment(new FilesystemLoader()); + return twig_array_map($oEnv, $array, $arrow); }); $filters[] = new Twig_SimpleFilter('reduce', function ($array, $arrow, $initial = null) { $ret = $this->SanitizeFilter($array, $arrow); @@ -181,7 +185,8 @@ class AppExtension extends AbstractExtension return $ret; } // reduce return mixed results not only arrays - return twig_array_reduce($array, $arrow, $initial); + $oEnv = new Environment(new FilesystemLoader()); + return twig_array_reduce($oEnv, $array, $arrow, $initial); }); return $filters;