vendor/sulu/sulu/src/Sulu/Bundle/SnippetBundle/Twig/DefaultSnippetTwigExtension.php line 62

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of Sulu.
  4.  *
  5.  * (c) Sulu GmbH
  6.  *
  7.  * This source file is subject to the MIT license that is bundled
  8.  * with this source code in the file LICENSE.
  9.  */
  10. namespace Sulu\Bundle\SnippetBundle\Twig;
  11. use Sulu\Bundle\SnippetBundle\Snippet\DefaultSnippetManagerInterface;
  12. use Sulu\Bundle\SnippetBundle\Snippet\SnippetResolverInterface;
  13. use Sulu\Component\Webspace\Analyzer\RequestAnalyzerInterface;
  14. use Twig\Extension\AbstractExtension;
  15. use Twig\TwigFunction;
  16. /**
  17.  * @deprecated
  18.  *
  19.  * Load snippets over the sulu_snippet_load_default is deprecated
  20.  * and will be removed in 2.0 use sulu_snippet_load_by_area instead.
  21.  *
  22.  * Provides default snippets.
  23.  */
  24. class DefaultSnippetTwigExtension extends AbstractExtension
  25. {
  26.     /**
  27.      * @var DefaultSnippetManagerInterface
  28.      */
  29.     private $defaultSnippetManager;
  30.     /**
  31.      * @var RequestAnalyzerInterface
  32.      */
  33.     private $requestAnalyzer;
  34.     /**
  35.      * @var SnippetResolverInterface
  36.      */
  37.     private $snippetResolver;
  38.     public function __construct(
  39.         DefaultSnippetManagerInterface $defaultSnippetManager,
  40.         RequestAnalyzerInterface $requestAnalyzer,
  41.         SnippetResolverInterface $snippetResolver
  42.     ) {
  43.         $this->defaultSnippetManager $defaultSnippetManager;
  44.         $this->requestAnalyzer $requestAnalyzer;
  45.         $this->snippetResolver $snippetResolver;
  46.     }
  47.     public function getFunctions()
  48.     {
  49.         return [
  50.             new TwigFunction('sulu_snippet_load_default', [$this'getDefault']),
  51.         ];
  52.     }
  53.     public function getDefault($snippetType$webspaceKey null$locale null)
  54.     {
  55.         @\trigger_error('Load snippets over the sulu_snippet_load_default is deprecated and will be removed in 2.0 use sulu_snippet_load_by_area instead'\E_USER_DEPRECATED);
  56.         if (!$webspaceKey) {
  57.             $webspaceKey $this->requestAnalyzer->getWebspace()->getKey();
  58.         }
  59.         if (!$locale) {
  60.             $locale $this->requestAnalyzer->getCurrentLocalization()->getLocale();
  61.         }
  62.         $ids = [
  63.             $this->defaultSnippetManager->loadIdentifier($webspaceKey$snippetType),
  64.         ];
  65.         // to filter null default snippet
  66.         $ids \array_filter($ids);
  67.         return $this->snippetResolver->resolve($ids$webspaceKey$locale);
  68.     }
  69. }