src/Twig/AppExtension.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Twig;
  3. use Symfony\Component\HttpFoundation\RequestStack;
  4. use Twig\Extension\AbstractExtension;
  5. use Twig\TwigFilter;
  6. use Twig\TwigFunction;
  7. class AppExtension extends AbstractExtension
  8. {
  9.     /**
  10.      * @var RequestStack
  11.      */
  12.     protected $requestStack;
  13.     public function setRequest(RequestStack $requestStack)
  14.     {
  15.         $this->requestStack $requestStack;
  16.     }
  17.     public function getFunctions()
  18.     {
  19.         return array(
  20.             new TwigFunction('getSiteDivision', array($this'getSiteDivision'))
  21.         );
  22.     }
  23.     public function getFilters()
  24.     {
  25.         return [
  26.             new TwigFilter('anymaze', [$this'formatAnymaze']),
  27.         ];
  28.     }
  29.     public function getSiteDivision()
  30.     {
  31.         $masterRequest $this->requestStack->getMasterRequest();
  32.         $division $this->requestStack->getMasterRequest()->get('division');
  33.         if (!$division) {
  34.             $explodedPath array_values(array_filter(explode('/'$masterRequest->getPathInfo())));
  35.             if (count($explodedPath)) {
  36.                 $division $explodedPath[0];
  37.             }
  38.         }
  39.         return $division;
  40.     }
  41.     public function formatAnymaze($productName)
  42.     {
  43.         if (strpos(strtolower($productName), 'any-maze video tracking') !== false) {
  44.             $tradeMark '®';
  45.             return str_replace('maze''maze'.$tradeMark$productName);
  46.         }
  47.         return $productName;
  48.     }
  49. }