vendor/pimcore/pimcore/models/Document/Editable/Textarea.php line 25

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.  * @category   Pimcore
  12.  * @package    Document
  13.  *
  14.  * @copyright  Copyright (c) Pimcore GmbH (http://www.pimcore.org)
  15.  * @license    http://www.pimcore.org/license     GPLv3 and PEL
  16.  */
  17. namespace Pimcore\Model\Document\Editable;
  18. use Pimcore\Model;
  19. /**
  20.  * @method \Pimcore\Model\Document\Editable\Dao getDao()
  21.  */
  22. class Textarea extends Model\Document\Editable
  23. {
  24.     /**
  25.      * Contains the text
  26.      *
  27.      * @var string
  28.      */
  29.     public $text;
  30.     /**
  31.      * @see EditableInterface::getType
  32.      *
  33.      * @return string
  34.      */
  35.     public function getType()
  36.     {
  37.         return 'textarea';
  38.     }
  39.     /**
  40.      * @see EditableInterface::getData
  41.      *
  42.      * @return mixed
  43.      */
  44.     public function getData()
  45.     {
  46.         return $this->text;
  47.     }
  48.     /**
  49.      * @see EditableInterface::frontend
  50.      *
  51.      * @return string
  52.      */
  53.     public function frontend()
  54.     {
  55.         $config $this->getConfig();
  56.         $text $this->text;
  57.         if (!isset($config['htmlspecialchars']) || $config['htmlspecialchars'] !== false) {
  58.             $text htmlspecialchars($this->text);
  59.         }
  60.         if (isset($config['nl2br']) && $config['nl2br']) {
  61.             $text nl2br($text);
  62.         }
  63.         return $text;
  64.     }
  65.     public function getDataEditmode()
  66.     {
  67.         return htmlentities($this->text);
  68.     }
  69.     /**
  70.      * @see EditableInterface::setDataFromResource
  71.      *
  72.      * @param mixed $data
  73.      *
  74.      * @return $this
  75.      */
  76.     public function setDataFromResource($data)
  77.     {
  78.         $this->text $data;
  79.         return $this;
  80.     }
  81.     /**
  82.      * @see EditableInterface::setDataFromEditmode
  83.      *
  84.      * @param mixed $data
  85.      *
  86.      * @return $this
  87.      */
  88.     public function setDataFromEditmode($data)
  89.     {
  90.         $data html_entity_decode($dataENT_HTML5); // this is because the input is now an div contenteditable -> therefore in entities
  91.         $this->text $data;
  92.         return $this;
  93.     }
  94.     /**
  95.      * @return bool
  96.      */
  97.     public function isEmpty()
  98.     {
  99.         return empty($this->text);
  100.     }
  101.     /**
  102.      * @deprecated
  103.      *
  104.      * @param Model\Webservice\Data\Document\Element $wsElement
  105.      * @param Model\Document\PageSnippet $document
  106.      * @param array $params
  107.      * @param Model\Webservice\IdMapperInterface|null $idMapper
  108.      *
  109.      * @throws \Exception
  110.      */
  111.     public function getFromWebserviceImport($wsElement$document null$params = [], $idMapper null)
  112.     {
  113.         $data $this->sanitizeWebserviceData($wsElement->value);
  114.         if ($data->text === null or is_string($data->text)) {
  115.             $this->text $data->text;
  116.         } else {
  117.             throw new \Exception('cannot get values from web service import - invalid data');
  118.         }
  119.     }
  120. }
  121. class_alias(Textarea::class, 'Pimcore\Model\Document\Tag\Textarea');