vendor/pimcore/pimcore/lib/Templating/HelperBroker/DocumentEditable.php line 53

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 Enterprise License (PEL)
  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 PEL
  13.  */
  14. namespace Pimcore\Templating\HelperBroker;
  15. use Pimcore\Templating\PhpEngine;
  16. use Pimcore\Templating\Renderer\EditableRenderer;
  17. /**
  18.  * @deprecated
  19.  */
  20. class DocumentEditable implements HelperBrokerInterface
  21. {
  22.     /**
  23.      * @var EditableRenderer
  24.      */
  25.     protected $editableRenderer;
  26.     /**
  27.      * @param EditableRenderer $editableRenderer
  28.      */
  29.     public function __construct(EditableRenderer $editableRenderer)
  30.     {
  31.         $this->editableRenderer $editableRenderer;
  32.     }
  33.     /**
  34.      * @inheritDoc
  35.      */
  36.     public function supports(PhpEngine $engine$method)
  37.     {
  38.         if ($this->editableRenderer->editableExists($method)) {
  39.             return true;
  40.         }
  41.         return false;
  42.     }
  43.     /**
  44.      * @inheritDoc
  45.      */
  46.     public function helper(PhpEngine $engine$method, array $arguments)
  47.     {
  48.         $document $engine->getViewParameter('document');
  49.         // if editmode is set as parameter override the editmode resolver value
  50.         $editmode $engine->getViewParameter('editmode');
  51.         if (null !== $editmode) {
  52.             $editmode = (bool)$editmode;
  53.         }
  54.         if (null === $document) {
  55.             throw new \RuntimeException(sprintf('Trying to render the tag "%s", but no document was found'$method));
  56.         }
  57.         if (!isset($arguments[0])) {
  58.             throw new \Exception('You have to set a name for the called tag (editable): ' $method);
  59.         }
  60.         // set default if there is no editable configuration provided
  61.         if (!isset($arguments[1])) {
  62.             $arguments[1] = [];
  63.         }
  64.         return $this->editableRenderer->render($document$method$arguments[0], $arguments[1], $editmode);
  65.     }
  66. }
  67. class_alias(DocumentEditable::class, 'Pimcore\Templating\HelperBroker\DocumentTag');