vendor/pimcore/pimcore/lib/Twig/Extension/Templating/Inc.php line 56

Open in your IDE?
  1. <?php
  2. /**
  3.  * Pimcore
  4.  *
  5.  * This source file is available under two different licenses:
  6.  * - GNU General Public License version 3 (GPLv3)
  7.  * - Pimcore Commercial License (PCL)
  8.  * Full copyright and license information is available in
  9.  * LICENSE.md which is distributed with this source code.
  10.  *
  11.  *  @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  12.  *  @license    http://www.pimcore.org/license     GPLv3 and PCL
  13.  */
  14. namespace Pimcore\Twig\Extension\Templating;
  15. use Pimcore\Http\Request\Resolver\EditmodeResolver;
  16. use Pimcore\Model\Document\PageSnippet;
  17. use Pimcore\Templating\Renderer\IncludeRenderer;
  18. use Pimcore\Twig\Extension\Templating\Traits\HelperCharsetTrait;
  19. use Twig\Extension\RuntimeExtensionInterface;
  20. class Inc implements RuntimeExtensionInterface
  21. {
  22.     use HelperCharsetTrait;
  23.     /**
  24.      * @var IncludeRenderer
  25.      */
  26.     protected $includeRenderer;
  27.     /**
  28.      * @var EditmodeResolver
  29.      */
  30.     protected $editmodeResolver;
  31.     /**
  32.      * @param IncludeRenderer $includeRenderer
  33.      * @param EditmodeResolver $editmodeResolver
  34.      */
  35.     public function __construct(IncludeRenderer $includeRendererEditmodeResolver $editmodeResolver)
  36.     {
  37.         $this->includeRenderer $includeRenderer;
  38.         $this->editmodeResolver $editmodeResolver;
  39.     }
  40.     /**
  41.      * @param PageSnippet|int|string $include
  42.      * @param array $params
  43.      * @param bool $cacheEnabled
  44.      * @param bool|null $editmode
  45.      *
  46.      * @return string
  47.      */
  48.     public function __invoke($include, array $params = [], $cacheEnabled true$editmode null)
  49.     {
  50.         if (null === $editmode) {
  51.             $editmode $this->editmodeResolver->isEditmode();
  52.         }
  53.         return $this->includeRenderer->render($include$params$editmode$cacheEnabled);
  54.     }
  55. }