vendor/pimcore/pimcore/models/Document/Newsletter.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;
  15. use Pimcore\Model;
  16. /**
  17.  * @method \Pimcore\Model\Document\Newsletter\Dao getDao()
  18.  */
  19. class Newsletter extends Model\Document\PageSnippet
  20. {
  21.     /**
  22.      * {@inheritdoc}
  23.      */
  24.     protected string $type 'newsletter';
  25.     /**
  26.      * Contains the email subject
  27.      *
  28.      * @internal
  29.      *
  30.      * @var string
  31.      */
  32.     protected string $subject '';
  33.     /**
  34.      * Contains the plain text part of the email
  35.      *
  36.      * @internal
  37.      *
  38.      * @var string
  39.      */
  40.     protected string $plaintext '';
  41.     /**
  42.      * Contains the from email address
  43.      *
  44.      * @internal
  45.      *
  46.      * @var string
  47.      */
  48.     protected string $from '';
  49.     /**
  50.      * enables adding tracking parameters to all links
  51.      *
  52.      * @internal
  53.      *
  54.      * @var bool
  55.      */
  56.     protected bool $enableTrackingParameters false;
  57.     /**
  58.      * @internal
  59.      *
  60.      * @var string
  61.      */
  62.     protected string $trackingParameterSource 'newsletter';
  63.     /**
  64.      * @internal
  65.      *
  66.      * @var string
  67.      */
  68.     protected string $trackingParameterMedium 'email';
  69.     /**
  70.      * @internal
  71.      *
  72.      * @var string|null
  73.      */
  74.     protected ?string $trackingParameterName null;
  75.     /**
  76.      * @internal
  77.      *
  78.      * @var string
  79.      */
  80.     protected string $sendingMode \Pimcore\Tool\Newsletter::SENDING_MODE_SINGLE;
  81.     /**
  82.      * {@inheritdoc}
  83.      */
  84.     protected bool $supportsContentMaster false;
  85.     /**
  86.      * Contains the email subject
  87.      *
  88.      * @param string $subject
  89.      *
  90.      * @return $this
  91.      */
  92.     public function setSubject($subject)
  93.     {
  94.         $this->subject $subject;
  95.         return $this;
  96.     }
  97.     /**
  98.      * Returns the email subject
  99.      *
  100.      * @return string
  101.      */
  102.     public function getSubject()
  103.     {
  104.         return $this->subject;
  105.     }
  106.     /**
  107.      * Sets the "from" email address
  108.      *
  109.      * @param string $from
  110.      *
  111.      * @return $this
  112.      */
  113.     public function setFrom($from)
  114.     {
  115.         $this->from $from;
  116.         return $this;
  117.     }
  118.     /**
  119.      * Contains the email plain text part
  120.      *
  121.      * @param string $plaintext
  122.      *
  123.      * @return $this
  124.      */
  125.     public function setPlaintext($plaintext)
  126.     {
  127.         $this->plaintext $plaintext;
  128.         return $this;
  129.     }
  130.     /**
  131.      * Returns the email plain text part
  132.      *
  133.      * @return string
  134.      */
  135.     public function getPlaintext()
  136.     {
  137.         return $this->plaintext;
  138.     }
  139.     /**
  140.      * Returns the "from" email address
  141.      *
  142.      * @return string
  143.      */
  144.     public function getFrom()
  145.     {
  146.         return $this->from;
  147.     }
  148.     /**
  149.      * @return bool
  150.      */
  151.     public function getEnableTrackingParameters()
  152.     {
  153.         return $this->enableTrackingParameters;
  154.     }
  155.     /**
  156.      * @param bool $enableTrackingParameters
  157.      */
  158.     public function setEnableTrackingParameters($enableTrackingParameters)
  159.     {
  160.         $this->enableTrackingParameters $enableTrackingParameters;
  161.     }
  162.     /**
  163.      * @return string
  164.      */
  165.     public function getTrackingParameterSource()
  166.     {
  167.         return $this->trackingParameterSource;
  168.     }
  169.     /**
  170.      * @param string $trackingParameterSource
  171.      */
  172.     public function setTrackingParameterSource($trackingParameterSource)
  173.     {
  174.         $this->trackingParameterSource $trackingParameterSource;
  175.     }
  176.     /**
  177.      * @return string
  178.      */
  179.     public function getTrackingParameterMedium()
  180.     {
  181.         return $this->trackingParameterMedium;
  182.     }
  183.     /**
  184.      * @param string $trackingParameterMedium
  185.      */
  186.     public function setTrackingParameterMedium($trackingParameterMedium)
  187.     {
  188.         $this->trackingParameterMedium $trackingParameterMedium;
  189.     }
  190.     /**
  191.      * returns key by default
  192.      *
  193.      * @return string
  194.      */
  195.     public function getTrackingParameterName()
  196.     {
  197.         if (is_null($this->trackingParameterName)) {
  198.             return $this->getKey();
  199.         }
  200.         return $this->trackingParameterName;
  201.     }
  202.     /**
  203.      * @param string $trackingParameterName
  204.      */
  205.     public function setTrackingParameterName($trackingParameterName)
  206.     {
  207.         $this->trackingParameterName $trackingParameterName;
  208.     }
  209.     /**
  210.      * @return string
  211.      */
  212.     public function getSendingMode()
  213.     {
  214.         return $this->sendingMode;
  215.     }
  216.     /**
  217.      * @param string $sendingMode
  218.      */
  219.     public function setSendingMode($sendingMode)
  220.     {
  221.         $this->sendingMode $sendingMode;
  222.     }
  223.     /**
  224.      * @internal
  225.      *
  226.      * @return string
  227.      */
  228.     public function getTmpStoreId()
  229.     {
  230.         return 'newsletter__' $this->getId();
  231.     }
  232. }