vendor/pimcore/pimcore/models/Document/Editable/Multiselect.php line 23

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;
  15. use Pimcore\Model;
  16. /**
  17.  * @method \Pimcore\Model\Document\Editable\Dao getDao()
  18.  */
  19. class Multiselect extends Model\Document\Editable
  20. {
  21.     /**
  22.      * Contains the current selected values
  23.      *
  24.      * @internal
  25.      *
  26.      * @var array
  27.      */
  28.     protected $values = [];
  29.     /**
  30.      * {@inheritdoc}
  31.      */
  32.     public function getType()
  33.     {
  34.         return 'multiselect';
  35.     }
  36.     /**
  37.      * {@inheritdoc}
  38.      */
  39.     public function getData()
  40.     {
  41.         return $this->values;
  42.     }
  43.     /**
  44.      * @return array
  45.      */
  46.     public function getValues()
  47.     {
  48.         return $this->getData();
  49.     }
  50.     /**
  51.      * {@inheritdoc}
  52.      */
  53.     public function frontend()
  54.     {
  55.         return implode(','$this->values);
  56.     }
  57.     /**
  58.      * @return array
  59.      */
  60.     public function getDataEditmode()
  61.     {
  62.         return $this->values;
  63.     }
  64.     /**
  65.      * {@inheritdoc}
  66.      */
  67.     public function setDataFromResource($data)
  68.     {
  69.         $this->values \Pimcore\Tool\Serialize::unserialize($data);
  70.         return $this;
  71.     }
  72.     /**
  73.      * {@inheritdoc}
  74.      */
  75.     public function setDataFromEditmode($data)
  76.     {
  77.         if (empty($data)) {
  78.             $this->values = [];
  79.         } elseif (is_string($data)) {
  80.             $this->values explode(','$data);
  81.         } elseif (is_array($data)) {
  82.             $this->values $data;
  83.         }
  84.         return $this;
  85.     }
  86.     /**
  87.      * {@inheritdoc}
  88.      */
  89.     public function isEmpty()
  90.     {
  91.         return empty($this->values);
  92.     }
  93. }