vendor/pimcore/pimcore/models/Document/Editable/Area/Info.php line 22

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\Model\Document\Editable\Area;
  15. use Pimcore\Model\Document;
  16. use Pimcore\Model\Document\Editable;
  17. use Symfony\Component\HttpFoundation\Request;
  18. class Info
  19. {
  20.     /**
  21.      * @internal
  22.      *
  23.      * @var string|null
  24.      */
  25.     protected $id;
  26.     /**
  27.      * @internal
  28.      *
  29.      * @var Editable|null
  30.      */
  31.     protected $editable;
  32.     /**
  33.      * @internal
  34.      *
  35.      * @var array
  36.      */
  37.     protected $params = [];
  38.     /**
  39.      * @internal
  40.      *
  41.      * @var Request|null
  42.      */
  43.     protected $request;
  44.     /**
  45.      * @internal
  46.      *
  47.      * @var string|null
  48.      */
  49.     protected $type;
  50.     /**
  51.      * @internal
  52.      *
  53.      * @var int|null
  54.      */
  55.     protected $index;
  56.     /**
  57.      * @return string|null
  58.      */
  59.     public function getId()
  60.     {
  61.         return $this->id;
  62.     }
  63.     /**
  64.      * @param string|null $id
  65.      *
  66.      * @return $this
  67.      */
  68.     public function setId($id)
  69.     {
  70.         $this->id $id;
  71.         return $this;
  72.     }
  73.     /**
  74.      * @return Editable|null
  75.      */
  76.     public function getEditable()
  77.     {
  78.         return $this->editable;
  79.     }
  80.     /**
  81.      * @param Editable $editable
  82.      */
  83.     public function setEditable(Editable $editable)
  84.     {
  85.         $this->editable $editable;
  86.     }
  87.     /**
  88.      * @return string|null
  89.      */
  90.     public function getType()
  91.     {
  92.         return $this->type;
  93.     }
  94.     /**
  95.      * @param string|null $type
  96.      *
  97.      * @return $this
  98.      */
  99.     public function setType($type)
  100.     {
  101.         $this->type $type;
  102.         return $this;
  103.     }
  104.     /**
  105.      * @return array
  106.      */
  107.     public function getParams()
  108.     {
  109.         return $this->params;
  110.     }
  111.     /**
  112.      * @param string $name
  113.      *
  114.      * @return mixed|null
  115.      */
  116.     public function getParam(string $name)
  117.     {
  118.         if (isset($this->params[$name])) {
  119.             return $this->params[$name];
  120.         }
  121.         return null;
  122.     }
  123.     /**
  124.      * @param string $name
  125.      * @param mixed $value
  126.      *
  127.      * @return $this
  128.      */
  129.     public function setParam(string $name$value)
  130.     {
  131.         $this->params[$name] = $value;
  132.         return $this;
  133.     }
  134.     /**
  135.      * @param array $params
  136.      *
  137.      * @return $this
  138.      */
  139.     public function setParams(array $params)
  140.     {
  141.         $this->params $params;
  142.         return $this;
  143.     }
  144.     /**
  145.      * @return Request|null
  146.      */
  147.     public function getRequest()
  148.     {
  149.         return $this->request;
  150.     }
  151.     /**
  152.      * @param Request $request
  153.      *
  154.      * @return $this
  155.      */
  156.     public function setRequest(Request $request)
  157.     {
  158.         $this->request $request;
  159.         return $this;
  160.     }
  161.     /**
  162.      * @param int|null $index
  163.      *
  164.      * @return $this
  165.      */
  166.     public function setIndex($index)
  167.     {
  168.         $this->index $index;
  169.         return $this;
  170.     }
  171.     /**
  172.      * @return int|null
  173.      */
  174.     public function getIndex()
  175.     {
  176.         return $this->index;
  177.     }
  178.     /**
  179.      * @return Document\PageSnippet
  180.      */
  181.     public function getDocument()
  182.     {
  183.         return $this->editable->getDocument();
  184.     }
  185.     /**
  186.      * @param string $name
  187.      * @param string $type
  188.      *
  189.      * @return Editable|null
  190.      *
  191.      * @throws \Exception
  192.      */
  193.     public function getDocumentElement($name$type '')
  194.     {
  195.         $editable null;
  196.         $document $this->getDocument();
  197.         if ($document instanceof Document\PageSnippet) {
  198.             $name Editable::buildEditableName($type$name$document);
  199.             $editable $document->getEditable($name);
  200.         }
  201.         return $editable;
  202.     }
  203. }