vendor/ezsystems/ezpublish-kernel/eZ/Bundle/EzPublishCoreBundle/Fragment/InlineFragmentRenderer.php line 60

Open in your IDE?
  1. <?php
  2. /**
  3.  * @copyright Copyright (C) eZ Systems AS. All rights reserved.
  4.  * @license For full copyright and license information view LICENSE file distributed with this source code.
  5.  */
  6. namespace eZ\Bundle\EzPublishCoreBundle\Fragment;
  7. use eZ\Publish\Core\MVC\Symfony\SiteAccess\SiteAccessAware;
  8. use eZ\Publish\Core\MVC\Symfony\SiteAccess;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpKernel\Controller\ControllerReference;
  11. use Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface;
  12. use Symfony\Component\HttpKernel\Fragment\InlineFragmentRenderer as BaseRenderer;
  13. use Symfony\Component\HttpKernel\Fragment\RoutableFragmentRenderer;
  14. class InlineFragmentRenderer extends BaseRenderer implements SiteAccessAware
  15. {
  16.     use SiteAccessSerializationTrait;
  17.     /** @var \Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface */
  18.     private $innerRenderer;
  19.     /** @var \eZ\Publish\Core\MVC\Symfony\SiteAccess */
  20.     private $siteAccess;
  21.     public function __construct(FragmentRendererInterface $innerRenderer)
  22.     {
  23.         $this->innerRenderer $innerRenderer;
  24.     }
  25.     public function setFragmentPath($path)
  26.     {
  27.         if ($this->innerRenderer instanceof RoutableFragmentRenderer) {
  28.             $this->innerRenderer->setFragmentPath($path);
  29.         }
  30.     }
  31.     public function setSiteAccess(SiteAccess $siteAccess null)
  32.     {
  33.         $this->siteAccess $siteAccess;
  34.     }
  35.     public function render($uriRequest $request, array $options = [])
  36.     {
  37.         if ($uri instanceof ControllerReference) {
  38.             if ($request->attributes->has('siteaccess')) {
  39.                 /** @var \eZ\Publish\Core\MVC\Symfony\SiteAccess $siteAccess */
  40.                 $siteAccess $request->attributes->get('siteaccess');
  41.                 $this->serializeSiteAccess($siteAccess$uri);
  42.             }
  43.             if ($request->attributes->has('semanticPathinfo')) {
  44.                 $uri->attributes['semanticPathinfo'] = $request->attributes->get('semanticPathinfo');
  45.             }
  46.             if ($request->attributes->has('viewParametersString')) {
  47.                 $uri->attributes['viewParametersString'] = $request->attributes->get('viewParametersString');
  48.             }
  49.         }
  50.         return $this->innerRenderer->render($uri$request$options);
  51.     }
  52.     public function getName()
  53.     {
  54.         return $this->innerRenderer->getName();
  55.     }
  56. }