X-Git-Url: https://git.rapsys.eu/packbundle/blobdiff_plain/b4279c702b5ec4553538e19b2ecaab2348791331..55a896d78af2f339ce675640248c2a6a05f7cb7f:/Extension/PackExtension.php

diff --git a/Extension/PackExtension.php b/Extension/PackExtension.php
index ac0071a..697f469 100644
--- a/Extension/PackExtension.php
+++ b/Extension/PackExtension.php
@@ -18,51 +18,34 @@ use Twig\Extension\AbstractExtension;
 
 use Rapsys\PackBundle\Parser\TokenParser;
 use Rapsys\PackBundle\RapsysPackBundle;
+use Rapsys\PackBundle\Util\IntlUtil;
 use Rapsys\PackBundle\Util\SluggerUtil;
 
 /**
  * {@inheritdoc}
  */
 class PackExtension extends AbstractExtension {
-	//The config
-	private $config;
-
-	//The output
-	private $output;
-
-	//The filter
-	private $filters;
-
-	//The intl util
-	protected $intl;
-
-	//The file locator
-	protected $locator;
+	/**
+	 * The config array
+	 */
+	protected array $config;
 
-	//The assets package
-	protected $package;
+	/**
+	 * The output array
+	 */
+	protected array $output;
 
-	//The slugger util
-	protected $slugger;
+	/**
+	 * The filter array
+	 */
+	protected array $filters;
 
 	/**
 	 * @link https://twig.symfony.com/doc/2.x/advanced.html
 	 *
 	 * {@inheritdoc}
 	 */
-	public function __construct(ContainerInterface $container, IntlUtil $intl, FileLocator $locator, PackageInterface $package, SluggerUtil $slugger) {
-		//Set intl util
-		$this->intl = $intl;
-
-		//Set file locator
-		$this->locator = $locator;
-
-		//Set assets packages
-		$this->package = $package;
-
-		//Set slugger util
-		$this->slugger = $slugger;
-
+	public function __construct(protected ContainerInterface $container, protected IntlUtil $intl, protected FileLocator $locator, protected PackageInterface $package, protected SluggerUtil $slugger) {
 		//Retrieve bundle config
 		if ($parameters = $container->getParameter(self::getAlias())) {
 			//Set config, output and filters arrays
@@ -100,7 +83,10 @@ class PackExtension extends AbstractExtension {
 			new \Twig\TwigFilter('slug', [$this->slugger, 'slug']),
 			new \Twig\TwigFilter('intldate', [$this->intl, 'date'], ['needs_environment' => true]),
 			new \Twig\TwigFilter('intlnumber', [$this->intl, 'number']),
-			new \Twig\TwigFilter('intlcurrency', [$this->intl, 'currency'])
+			new \Twig\TwigFilter('intlcurrency', [$this->intl, 'currency']),
+			new \Twig\TwigFilter('download', 'file_get_contents', [false, null]),
+			new \Twig\TwigFilter('base64_encode', 'base64_encode'),
+			new \Twig\TwigFilter('base64_decode', 'base64_decode')
 		];
 	}