src/Hitso/Bundle/CommonBundle/Twig/MediaUrlExtension.php line 51

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Hitso\Bundle\CommonBundle\Twig;
  4. use Hitso\Bundle\CommonBundle\Media\UrlGenerator;
  5. use Hitso\Bundle\FileManagerBundle\Entity\File;
  6. use Twig\Extension\AbstractExtension;
  7. use Twig\TwigFilter;
  8. /**
  9.  * Class MediaUrlExtension
  10.  * @package Hitso\Bundle\CommonBundle\Twig
  11.  */
  12. class MediaUrlExtension extends AbstractExtension
  13. {
  14.     /**
  15.      * @var UrlGenerator
  16.      */
  17.     protected $urlGenerator;
  18.     /**
  19.      * MediaUrlExtension constructor.
  20.      * @param UrlGenerator $urlGenerator
  21.      */
  22.     public function __construct(UrlGenerator $urlGenerator)
  23.     {
  24.         $this->urlGenerator $urlGenerator;
  25.     }
  26.     public function getFilters()
  27.     {
  28.         return [
  29.             new TwigFilter('file_url', [$this'fileUrl']),
  30.             new TwigFilter('image_url', [$this'imageUrl']),
  31.             new TwigFilter('valid_url', [$this'validUrl']),
  32.             new TwigFilter('img_src', [$this->urlGenerator'imgSrc']),
  33.             new TwigFilter('file_org_url', [$this->urlGenerator'fileOrgUrl']),
  34.         ];
  35.     }
  36.     public function fileUrl($file): ?string
  37.     {
  38.         if (null === $file) {
  39.             return null;
  40.         }
  41.         return $this->urlGenerator->fileUrl($file);
  42.     }
  43.     public function imageUrl($file$imagineFilterName$runtimeConfig = [], $version null): ?string
  44.     {
  45.         if (null === $file) {
  46.             return null;
  47.         }
  48.         return $this->urlGenerator->imageUrl($file$imagineFilterName$runtimeConfig$version);
  49.     }
  50.     public function validUrl($file): bool
  51.     {
  52.         if (null === $file) {
  53.             return false;
  54.         }
  55.         return $this->urlGenerator->validUrl($file);
  56.     }
  57. }