src/Entity/Gos/PortalSettings.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gos;
  3. use App\Entity\ContactSegmentationableInterface;
  4. use App\Entity\Gos\Tmpl\Template;
  5. use App\Entity\Gos\Uniqskills\Course;
  6. use App\Entity\Gos\Uniqskills\FmCompanySettings;
  7. use App\Entity\Gos\Uniqskills\PromoBox;
  8. use App\Entity\Gos\Uniqskills\Slider;
  9. use App\Entity\Gos\VirtualCurrency\VirtualCurrency;
  10. use App\Enum\PortalHashes;
  11. use Doctrine\Common\Collections\Collection;
  12. use Doctrine\ORM\Mapping as ORM;
  13. use Doctrine\Common\Collections\ArrayCollection;
  14. use JMS\Serializer\Annotation as JMS;
  15. /**
  16.  * portalSettings
  17.  *
  18.  * @ORM\Table()
  19.  * @ORM\Entity(repositoryClass="App\Repository\PortalSettingsRepository")
  20.  * @ORM\HasLifecycleCallbacks
  21.  */
  22. class PortalSettings implements ContactSegmentationableInterface
  23. {
  24.     /**
  25.      * @var int
  26.      *
  27.      * @ORM\Column(name="id", type="integer")
  28.      * @ORM\Id
  29.      * @ORM\GeneratedValue(strategy="AUTO")
  30.      * @JMS\Groups({"PortalSettings"})
  31.      */
  32.     private $id;
  33.     /**
  34.      * @var string
  35.      *
  36.      * @ORM\Column(type="string", length=255)
  37.      * @JMS\Groups({"PortalSettings"})
  38.      *
  39.      *
  40.      */
  41.     private $domain;
  42.     /**
  43.      * @var string
  44.      *
  45.      * @ORM\Column(name="hash", type="string", length=255, unique=true)
  46.      * @JMS\Groups({"PortalSettings"})
  47.      */
  48.     private $hash;
  49.     /**
  50.      * @var string
  51.      *
  52.      * @ORM\Column(type="string", length=255)
  53.      * @JMS\Groups({"PortalSettings"})
  54.      */
  55.     private $title;
  56.     /**
  57.      * @var bool
  58.      *
  59.      * @ORM\Column(type="boolean", nullable=true)
  60.      */
  61.     private $isActive;
  62.     /**
  63.      * @ORM\Column(type="string", length=8)
  64.      * @JMS\Groups({"PortalSettings"})
  65.      */
  66.     private $actionNumber;
  67.     /**
  68.      * @ORM\Column(type="string", length=100)
  69.      * @JMS\Groups({"PortalSettings"})
  70.      */
  71.     private $fromSource;
  72.     /**
  73.      * @ORM\Column(type="text", nullable=true)
  74.      * @JMS\Groups({"PortalSettings"})
  75.      */
  76.     private $portalCss;
  77.     /**
  78.      * @ORM\Column(type="text", nullable=true)
  79.      * @JMS\Groups({"PortalSettings"})
  80.      */
  81.     private $portalHeadScripts;
  82.     /**
  83.      * @ORM\Column(type="text", nullable=true)
  84.      * @JMS\Groups({"PortalSettings"})
  85.      */
  86.     private $portalStartBodyScripts;
  87.     /**
  88.      * @ORM\Column(type="text", nullable=true)
  89.      * @JMS\Groups({"PortalSettings"})
  90.      */
  91.     private $portalBodyScripts;
  92.     /**
  93.      * @ORM\Column(type="text", nullable=true)
  94.      */
  95.     private $robotsTxt;
  96.     /**
  97.      * @ORM\Column(type="text", nullable=true)
  98.      * @JMS\Groups({"PortalSettings"})
  99.      */
  100.     private $cartAdditionalInfo;
  101.     /**
  102.      * @ORM\Column(type="string", length=100)
  103.      * @JMS\Groups({"PortalSettings"})
  104.      */
  105.     private $portalNumberSB;
  106.     /**
  107.      * @var string
  108.      *
  109.      * @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
  110.      * @JMS\Groups({"PortalSettings"})
  111.      */
  112.     private $leadingColor1;
  113.     /**
  114.      * @var string
  115.      *
  116.      * @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
  117.      * @JMS\Groups({"PortalSettings"})
  118.      */
  119.     private $leadingColor2;
  120.     /**
  121.      * @var string
  122.      *
  123.      * @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
  124.      * @JMS\Groups({"PortalSettings"})
  125.      */
  126.     private $leadingColor3;
  127.     /**
  128.      * @ORM\Column(type="string", length=255, nullable=true)
  129.      */
  130.     private $logo;
  131.     /**
  132.      * @ORM\ManyToOne(targetEntity="App\Entity\Gos\EmailSettings", inversedBy="portalSettings")
  133.      * @ORM\JoinColumn()
  134.      */
  135.     private $emailSettings;
  136.     /**
  137.      * @ORM\Column(type="string", length=255, nullable=true)
  138.      */
  139.     private $contactMail;
  140.     /**
  141.      * @ORM\Column(type="text", nullable=true)
  142.      * @JMS\Groups({"PortalSettings"})
  143.      */
  144.     private $registrationAdditionalContent;
  145.     /**
  146.      * @ORM\Column(type="text", nullable=true)
  147.      * @JMS\Groups({"PortalSettings"})
  148.      */
  149.     private $loginAdditionalContent;
  150.     /**
  151.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\Orders", mappedBy="portalSettings")
  152.      */
  153.     private $orders;
  154.     /**
  155.      * @ORM\ManyToOne(targetEntity="OrderType", inversedBy="portalSettings")
  156.      * @ORM\JoinColumn(nullable=false)
  157.      */
  158.     private $orderType;
  159.     /**
  160.      * @ORM\ManyToMany(targetEntity="App\Entity\Gos\ProductVariant", inversedBy="portalSettings")
  161.      * @ORM\JoinTable()
  162.      */
  163.     private $productVariant;
  164.     /**
  165.      * @ORM\ManyToMany(targetEntity="App\Entity\Gos\PaymentSystem", inversedBy="portalSettings")
  166.      * @ORM\JoinColumn()
  167.      */
  168.     private $paymentSystem;
  169.     /**
  170.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\EmailTemplate", mappedBy="portalSettings")
  171.      */
  172.     private $emailTemplate;
  173.     /**
  174.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\AccessLevel", mappedBy="portalSettings")
  175.      */
  176.     private $accessLevels;
  177.     /**
  178.      * @ORM\ManyToMany(targetEntity="App\Entity\Gos\Term", mappedBy="portalSettings")
  179.      */
  180.     private $terms;
  181.     /**
  182.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\PasswordFromImport", mappedBy="portalSettings")
  183.      */
  184.     private $passwordFromImport;
  185.     /**
  186.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\OrdersDataTemp", mappedBy="portalSettings")
  187.      */
  188.     private $ordersDataTemp;
  189.     /**
  190.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\StaticPage", mappedBy="portalSettings")
  191.      */
  192.     private $staticPage;
  193.     /**
  194.      * @ORM\Column(type="datetime")
  195.      */
  196.     private $createdAt;
  197.     /**
  198.      * @ORM\Column(type="datetime", nullable=true)
  199.      */
  200.     private $updatedAt;
  201.     /**
  202.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\Tmpl\Template", mappedBy="portalSettings")
  203.      */
  204.     private $templates;
  205.     /**
  206.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\ProductAssociation", mappedBy="portalSettings")
  207.      */
  208.     private $productAssociations;
  209.     /**
  210.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\TouchPoint", mappedBy="portalSettings")
  211.      */
  212.     private $touchPoint;
  213.     /**
  214.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\TouchPointAll", mappedBy="portalSettings")
  215.      */
  216.     private $touchPointAll;
  217.     /**
  218.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\Category", mappedBy="portalSettings")
  219.      */
  220.     private $categories;
  221.     /**
  222.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\Uniqskills\Course", mappedBy="portalSettings")
  223.      */
  224.     private $course;
  225.     /**
  226.      * @ORM\Column(type="boolean", nullable=true)
  227.      */
  228.     private $isUniqskillsPortal;
  229.     /**
  230.      * @ORM\OneToOne(targetEntity="App\Entity\Gos\Uniqskills\FmCompanySettings", mappedBy="portalSettings")
  231.      */
  232.     private $fmCompanySettings;
  233.     /**
  234.      * @ORM\ManyToMany(targetEntity="User", mappedBy="accessToPortalSettings")
  235.      */
  236.     private $accessUser;
  237.     /**
  238.      * @ORM\OneToMany(targetEntity="User", mappedBy="registeredFrom")
  239.      */
  240.     private $registeredUser;
  241.     /**
  242.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\Uniqskills\PromoBox", mappedBy="portalSettings")
  243.      */
  244.     private $promoBox;
  245.     /**
  246.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\Uniqskills\Slider", mappedBy="portalSettings")
  247.      */
  248.     private $slider;
  249.     /**
  250.      * @ORM\OneToMany(targetEntity="App\Entity\Gos\SalesManagoEvent", mappedBy="portalSettings")
  251.      */
  252.     private $salesManagoEvents;
  253.     /**
  254.      * @ORM\ManyToMany(targetEntity="App\Entity\Gos\ProductVariantPack", mappedBy="portalSettings")
  255.      */
  256.     private $productVariantPacks;
  257.     /**
  258.      * @ORM\ManyToMany(targetEntity="UserPosition", mappedBy="portalSettings")
  259.      */
  260.     private $positions;
  261.     /**
  262.      * @ORM\Column(type="boolean", nullable=true)
  263.      */
  264.     private $isNetflixPortal;
  265.     /**
  266.      * @ORM\Column(type="boolean")
  267.      */
  268.     private $isPresale;
  269.     /**
  270.      * @ORM\Column(type="boolean")
  271.      * @JMS\Groups({"PortalSettings"})
  272.      */
  273.     private $isSimplePrice;
  274.     /**
  275.      * @ORM\OneToMany(targetEntity=Newsletter::class, mappedBy="portalSettings")
  276.      */
  277.     private $newsletters;
  278.     /**
  279.      * @ORM\Column(type="string", length=255, nullable=true)
  280.      * @JMS\Groups({"PortalSettings"})
  281.      */
  282.     private $redirectAfterLogin;
  283.     /**
  284.      * @ORM\Column(type="text", nullable=true)
  285.      */
  286.     private $messageAfterLogin;
  287.     /**
  288.      * @ORM\Column(type="integer", nullable=true)
  289.      */
  290.     private $messageTimeAfterLogin;
  291.     /**
  292.      * @ORM\OneToMany(targetEntity=UserFirstLoginInfo::class, mappedBy="portal")
  293.      */
  294.     private $userFirstLoginInfos;
  295.     /**
  296.      * @ORM\Column(type="boolean", nullable=true)
  297.      */
  298.     private $deviceAuthNeeded;
  299.     /**
  300.      * @ORM\Column(type="string", length=255, nullable=true)
  301.      */
  302.     private $sender;
  303.     /**
  304.      * @ORM\Column(type="boolean", nullable=true)
  305.      */
  306.     private $isCmsPortal;
  307.     /**
  308.      * @ORM\ManyToOne(targetEntity=VirtualCurrency::class, inversedBy="portalSettings")
  309.      */
  310.     private $virtualCurrency;
  311.     /**
  312.      * @ORM\Column(type="boolean", nullable=true)
  313.      */
  314.     private $multiAccessFromMaxUser;
  315.     /**
  316.      * @ORM\Column(type="boolean", nullable=true)
  317.      */
  318.     private $enableNewBasket;
  319.     /**
  320.      * @ORM\OneToMany(targetEntity=Cart::class, mappedBy="portalSettings")
  321.      */
  322.     private $carts;
  323.     /**
  324.      * @ORM\Column(type="float", nullable=true)
  325.      * @JMS\Groups({"PortalSettings"})
  326.      */
  327.     private $priceAfterFreePostageCost;
  328.     /**
  329.      * also default price type in new cart
  330.      * @ORM\Column(type="string", length=255, nullable=true)
  331.      */
  332.     private $priceAfterFreePostageCostType;
  333.     /**
  334.      * @ORM\Column(type="string", length=255, nullable=true)
  335.      */
  336.     private $gtm;
  337.     /**
  338.      * @ORM\Column(type="text", nullable=true)
  339.      * @JMS\Groups({"PortalSettings"})
  340.      */
  341.     private $passwordAdditionalContent;
  342.     /**
  343.      * @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
  344.      * @JMS\Groups({"PortalSettings"})
  345.      */
  346.     private $leadingColor4;
  347.     /**
  348.      * @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
  349.      * @JMS\Groups({"PortalSettings"})
  350.      */
  351.     private $userbarColor;
  352.     /**
  353.      * @ORM\Column(type="boolean", options={"default":0})
  354.      */
  355.     private $isBookcaseVisibleInUserbar false;
  356.     /**
  357.      * @ORM\Column(type="boolean", options={"default":0})
  358.      */
  359.     private $isShelfVisibleInUserbar false;
  360.     /**
  361.      * @ORM\Column(type="text", nullable=true)
  362.      */
  363.     private $userbarHtml;
  364.     /**
  365.      * @ORM\Column(type="boolean", options={"default":0})
  366.      */
  367.     private $displayUserbar2 false;
  368.     // TESTS A/B
  369.     /**
  370.      * @ORM\Column(type="float", nullable=true)
  371.      */
  372.     private $testPriceAfterFreePostageCost;
  373.     /**
  374.      * @ORM\Column(type="text", nullable=true)
  375.      */
  376.     private $testUserbarHtml;
  377.     /**
  378.      * @ORM\Column(type="boolean", nullable=true)
  379.      */
  380.     private $lifetimeAccess;
  381.     /**
  382.      * @ORM\Column(type="string", length=20, nullable=true)
  383.      */
  384.     private $fbPixelId;
  385.     /**
  386.      * @ORM\Column(type="string", length=255, nullable=true)
  387.      */
  388.     private $fbPixelAccessToken;
  389.     /**
  390.      * @ORM\Column(type="boolean", nullable=true)
  391.      * @JMS\Groups({"PortalSettings"})
  392.      */
  393.     private $hideFieldPosition;
  394.     /**
  395.      * @ORM\Column(type="boolean", options={"default":0})
  396.      * @JMS\Groups({"PortalSettings"})
  397.      */
  398.     private $redirectingToFocus false;
  399.     /**
  400.      * @ORM\Column(type="boolean", options={"default":0})
  401.      */
  402.     private $showGrossPrice false;
  403.     /**
  404.      * @ORM\Column(type="string", length=255, nullable=true)
  405.      */
  406.     private $csMail;
  407.     /**
  408.      * @ORM\Column(type="boolean", options={"default":1})
  409.      * @JMS\Groups({"PortalSettings"})
  410.      */
  411.     private $isPhoneRequired true;
  412.     /**
  413.      * @ORM\Column(type="integer", nullable=true)
  414.      */
  415.     private $webeMidNumber;
  416.     /**
  417.      * @ORM\ManyToOne(targetEntity=PaymentSystem::class)
  418.      */
  419.     private $defaultPaymentSystem;
  420.     /**
  421.      * @ORM\Column(type="boolean", nullable=true)
  422.      */
  423.     private $useFbPixelInIframe;
  424.     /**
  425.      * @ORM\ManyToOne(targetEntity=ClientType::class)
  426.      * @ORM\JoinColumn(nullable=false)
  427.      */
  428.     private $defaultCartClientType;
  429.     /**
  430.      * @ORM\Column(type="boolean", options={"default":0})
  431.      */
  432.     private $isPaymentBeforeConfirmation;
  433.     /**
  434.      * @ORM\ManyToMany(targetEntity=Honorifics::class, mappedBy="portalSettings")
  435.      */
  436.     private $honorifics;
  437.     /**
  438.      * @ORM\Column(type="boolean")
  439.      */
  440.     private $paymentReward;
  441.     /**
  442.      * @ORM\Column(type="text", nullable=true)
  443.      */
  444.     private $paymentRewardContent;
  445.     /**
  446.      * @ORM\Column(type="integer", nullable=true)
  447.      */
  448.     private $paymentRewardDeadline;
  449.     /**
  450.      * @ORM\Column(type="integer", nullable=true)
  451.      * @JMS\Groups({"PortalSettings"})
  452.      */
  453.     private $cartTemplate;
  454.     /**
  455.      * @ORM\ManyToMany(targetEntity=User::class, mappedBy="usingPortals")
  456.      * @ORM\JoinTable(name="user_uses_portal")
  457.      */
  458.     private $users;
  459.     /**
  460.      * @ORM\Column(type="boolean", nullable=true, options={"default": 1})
  461.      */
  462.     private $useCacheInAccess true;
  463.     /**
  464.      * @ORM\Column(type="text", nullable=true)
  465.      */
  466.     private $orderConfirmationAdditionalContent;
  467.     /**
  468.      * @ORM\Column(type="text", nullable=true)
  469.      */
  470.     private $additionalContentForMail;
  471.     /**
  472.      * @ORM\Column(type="text", nullable=true)
  473.      */
  474.     private $matomoSiteId;
  475.     /**
  476.      * @ORM\Column(type="json", nullable=true)
  477.      */
  478.     private $positionsOrder = [];
  479.     /**
  480.      * @ORM\ManyToMany(targetEntity=ContactSegmentation::class, inversedBy="portalSettings")
  481.      */
  482.     private $contactSegmentations;
  483.     /**
  484.      * @ORM\OneToOne(targetEntity=OnboardingSettings::class, mappedBy="portalSettings", cascade={"persist", "remove"})
  485.      */
  486.     private $onboardingSettings;
  487.     // END OF TESTS A/B
  488.     /**
  489.      * @JMS\VirtualProperty
  490.      * @JMS\Type("boolean")
  491.      * @JMS\Groups({"PortalSettings"})
  492.      */
  493.     public function isVirtualCurrencyEnabled(): bool
  494.     {
  495.         return (bool)$this->virtualCurrency;
  496.     }
  497.     /** @ORM\PrePersist() */
  498.     public function prePersist()
  499.     {
  500.         $this->createdAt = new \DateTime();
  501.     }
  502.     /** @ORM\PreUpdate() */
  503.     public function preUpdate()
  504.     {
  505.         foreach ($this->productVariant as $productVariant)
  506.         {
  507.             if (!$productVariant->isActive())
  508.             {
  509.                 $this->removeProductVariant($productVariant);
  510.             }
  511.         }
  512.         $this->updatedAt = new \DateTime();
  513.     }
  514.     public function hasPaymentSystem(String $paymentSystemName)
  515.     {
  516.         /** @var PaymentSystem $paymentSystem */
  517.         foreach ($this->getPaymentSystem() as $paymentSystem)
  518.         {
  519.             if ($paymentSystem->getSlug() == $paymentSystemName)
  520.             {
  521.                 return true;
  522.             }
  523.         }
  524.         return false;
  525.     }
  526.     public function checkIsCmsLiterkaPortal() : bool
  527.     {
  528.         // literka.pl, fizmedio.pl
  529.         if (in_array($this->getHash(), ['12b95121caa23e69201ce170e2ba62''80d05fe8bdee4ce587d6d0e0bdb7a9']))
  530.         {
  531.             return true;
  532.         }
  533.         return false;
  534.     }
  535.     public function isEforumPortal(): bool
  536.     {
  537.         return $this->hash === $_ENV['EF_PORTAL_SETTINGS'];
  538.     }
  539.     public function __toString()
  540.     {
  541.         return (string)$this->title;
  542.     }
  543.     /**
  544.      * Constructor
  545.      */
  546.     public function __construct()
  547.     {
  548.         $this->orders               = new ArrayCollection();
  549.         $this->productVariant       = new ArrayCollection();
  550.         $this->paymentSystem        = new ArrayCollection();
  551.         $this->emailTemplate        = new ArrayCollection();
  552.         $this->accessLevels         = new ArrayCollection();
  553.         $this->terms                = new ArrayCollection();
  554.         $this->passwordFromImport   = new ArrayCollection();
  555.         $this->ordersDataTemp       = new ArrayCollection();
  556.         $this->templates            = new ArrayCollection();
  557.         $this->staticPage           = new ArrayCollection();
  558.         $this->touchPoint           = new ArrayCollection();
  559.         $this->touchPointAll        = new ArrayCollection();
  560.         $this->productAssociations  = new ArrayCollection();
  561.         $this->categories           = new ArrayCollection();
  562.         $this->course               = new ArrayCollection();
  563.         $this->accessUser           = new ArrayCollection();
  564.         $this->registeredUser       = new ArrayCollection();
  565.         $this->promoBox             = new ArrayCollection();
  566.         $this->slider               = new ArrayCollection();
  567.         $this->salesManagoEvents    = new ArrayCollection();
  568.         $this->productVariantPacks  = new ArrayCollection();
  569.         $this->positions            = new ArrayCollection();
  570.         $this->newsletters          = new ArrayCollection();
  571.         $this->userFirstLoginInfos  = new ArrayCollection();
  572.         $this->carts                = new ArrayCollection();
  573.         $this->honorifics           = new ArrayCollection();
  574.         $this->users                = new ArrayCollection();
  575.         $this->contactSegmentations = new ArrayCollection();
  576.     }
  577.     /**
  578.      * Add accessLevel
  579.      *
  580.      * @param AccessLevel $accessLevel
  581.      *
  582.      * @return PortalSettings
  583.      */
  584.     public function addAccessLevel(AccessLevel $accessLevel)
  585.     {
  586.         $accessLevel->setPortalSettings($this);
  587.         $this->accessLevels[] = $accessLevel;
  588.         return $this;
  589.     }
  590.     /**
  591.      * Remove accessLevel
  592.      *
  593.      * @param AccessLevel $accessLevel
  594.      */
  595.     public function removeAccessLevel(AccessLevel $accessLevel)
  596.     {
  597.         $accessLevel->setPortalSettings(null);
  598.         $this->accessLevels->removeElement($accessLevel);
  599.     }  /**
  600.  * Get leadingColor1
  601.  *
  602.  * @return string
  603.  */
  604.     public function getLeadingColor1()
  605.     {
  606.         return $this->checkColor($this->leadingColor1);
  607.     }
  608.     /**
  609.      * Get leadingColor2
  610.      *
  611.      * @return string
  612.      */
  613.     public function getLeadingColor2()
  614.     {
  615.         return $this->checkColor($this->leadingColor2);
  616.     }
  617.     /**
  618.      * Get leadingColor3
  619.      *
  620.      * @return string
  621.      */
  622.     public function getLeadingColor3()
  623.     {
  624.         return $this->checkColor($this->leadingColor3);
  625.     }
  626.     private function checkColor($color)
  627.     {
  628.         if (empty($color))
  629.         {
  630.             return null;
  631.         }
  632.         if ($color[0] != '#')
  633.         {
  634.             $color '#' $color;
  635.         }
  636.         if (strlen($color) < 7)
  637.         {
  638.             return null;
  639.         }
  640.         return $color;
  641.     }
  642.     /**
  643.      * Get accessLevels
  644.      *
  645.      * @return \Doctrine\Common\Collections\Collection
  646.      */
  647.     public function getAccessLevels()
  648.     {
  649.         return $this->accessLevels;
  650.     }
  651.     /**
  652.      *
  653.      * Getters and setters
  654.      *
  655.      */
  656.     /**
  657.      * Get id
  658.      *
  659.      * @return integer
  660.      */
  661.     public function getId()
  662.     {
  663.         return $this->id;
  664.     }
  665.     /**
  666.      * Set domain
  667.      *
  668.      * @param string $domain
  669.      *
  670.      * @return PortalSettings
  671.      */
  672.     public function setDomain($domain)
  673.     {
  674.         $this->domain $domain;
  675.         return $this;
  676.     }
  677.     /**
  678.      * Get domain
  679.      *
  680.      * @return string
  681.      */
  682.     public function getDomain()
  683.     {
  684.         return $this->domain;
  685.     }
  686.     /**
  687.      * Set hash
  688.      *
  689.      * @param string $hash
  690.      *
  691.      * @return PortalSettings
  692.      */
  693.     public function setHash($hash)
  694.     {
  695.         $this->hash $hash;
  696.         return $this;
  697.     }
  698.     /**
  699.      * Get hash
  700.      *
  701.      * @return string
  702.      */
  703.     public function getHash()
  704.     {
  705.         return $this->hash;
  706.     }
  707.     /**
  708.      * Set title
  709.      *
  710.      * @param string $title
  711.      *
  712.      * @return PortalSettings
  713.      */
  714.     public function setTitle($title)
  715.     {
  716.         $this->title $title;
  717.         return $this;
  718.     }
  719.     /**
  720.      * Get title
  721.      *
  722.      * @return string
  723.      */
  724.     public function getTitle()
  725.     {
  726.         return $this->title;
  727.     }
  728.     /**
  729.      * Set isActive
  730.      *
  731.      * @param boolean $isActive
  732.      *
  733.      * @return PortalSettings
  734.      */
  735.     public function setIsActive($isActive)
  736.     {
  737.         $this->isActive $isActive;
  738.         return $this;
  739.     }
  740.     /**
  741.      * Get isActive
  742.      *
  743.      * @return boolean
  744.      */
  745.     public function getIsActive()
  746.     {
  747.         return $this->isActive;
  748.     }
  749.     /**
  750.      * Set actionNumber
  751.      *
  752.      * @param string $actionNumber
  753.      *
  754.      * @return PortalSettings
  755.      */
  756.     public function setActionNumber($actionNumber)
  757.     {
  758.         $this->actionNumber $actionNumber;
  759.         return $this;
  760.     }
  761.     /**
  762.      * Get actionNumber
  763.      *
  764.      * @return string
  765.      */
  766.     public function getActionNumber()
  767.     {
  768.         return $this->actionNumber;
  769.     }
  770.     /**
  771.      * Set fromSource
  772.      *
  773.      * @param string $fromSource
  774.      *
  775.      * @return PortalSettings
  776.      */
  777.     public function setFromSource($fromSource)
  778.     {
  779.         $this->fromSource $fromSource;
  780.         return $this;
  781.     }
  782.     /**
  783.      * Get fromSource
  784.      *
  785.      * @return string
  786.      */
  787.     public function getFromSource()
  788.     {
  789.         return $this->fromSource;
  790.     }
  791.     /**
  792.      * Set portalCss
  793.      *
  794.      * @param string $portalCss
  795.      *
  796.      * @return PortalSettings
  797.      */
  798.     public function setPortalCss($portalCss)
  799.     {
  800.         $this->portalCss $portalCss;
  801.         return $this;
  802.     }
  803.     /**
  804.      * Get portalCss
  805.      *
  806.      * @return string
  807.      */
  808.     public function getPortalCss()
  809.     {
  810.         return $this->portalCss;
  811.     }
  812.     /**
  813.      * Set createdAt
  814.      *
  815.      * @param \DateTime $createdAt
  816.      *
  817.      * @return PortalSettings
  818.      */
  819.     public function setCreatedAt($createdAt)
  820.     {
  821.         $this->createdAt $createdAt;
  822.         return $this;
  823.     }
  824.     /**
  825.      * Get createdAt
  826.      *
  827.      * @return \DateTime
  828.      */
  829.     public function getCreatedAt()
  830.     {
  831.         return $this->createdAt;
  832.     }
  833.     /**
  834.      * Set updatedAt
  835.      *
  836.      * @param \DateTime $updatedAt
  837.      *
  838.      * @return PortalSettings
  839.      */
  840.     public function setUpdatedAt($updatedAt)
  841.     {
  842.         $this->updatedAt $updatedAt;
  843.         return $this;
  844.     }
  845.     /**
  846.      * Get updatedAt
  847.      *
  848.      * @return \DateTime
  849.      */
  850.     public function getUpdatedAt()
  851.     {
  852.         return $this->updatedAt;
  853.     }
  854.     /**
  855.      * Add order
  856.      *
  857.      * @param \App\Entity\Gos\Orders $order
  858.      *
  859.      * @return PortalSettings
  860.      */
  861.     public function addOrder(\App\Entity\Gos\Orders $order)
  862.     {
  863.         $this->orders[] = $order;
  864.         return $this;
  865.     }
  866.     /**
  867.      * Remove order
  868.      *
  869.      * @param \App\Entity\Gos\Orders $order
  870.      */
  871.     public function removeOrder(\App\Entity\Gos\Orders $order)
  872.     {
  873.         $this->orders->removeElement($order);
  874.     }
  875.     /**
  876.      * Get orders
  877.      *
  878.      * @return \Doctrine\Common\Collections\Collection
  879.      */
  880.     public function getOrders()
  881.     {
  882.         return $this->orders;
  883.     }
  884.     /**
  885.      * Set orderType
  886.      *
  887.      * @param \App\Entity\Gos\OrderType $orderType
  888.      *
  889.      * @return PortalSettings
  890.      */
  891.     public function setOrderType(\App\Entity\Gos\OrderType $orderType null)
  892.     {
  893.         $this->orderType $orderType;
  894.         return $this;
  895.     }
  896.     /**
  897.      * Get orderType
  898.      *
  899.      * @return \App\Entity\Gos\OrderType
  900.      */
  901.     public function getOrderType()
  902.     {
  903.         return $this->orderType;
  904.     }
  905.     /**
  906.      * Add productVariant
  907.      *
  908.      * @param ProductVariant $productVariant
  909.      *
  910.      * @return PortalSettings
  911.      */
  912.     public function addProductVariant(ProductVariant $productVariant): static
  913.     {
  914.         $this->productVariant[] = $productVariant;
  915.         return $this;
  916.     }
  917.     /**
  918.      * Remove productVariant
  919.      *
  920.      * @param ProductVariant $productVariant
  921.      */
  922.     public function removeProductVariant(ProductVariant $productVariant)
  923.     {
  924.         $this->productVariant->removeElement($productVariant);
  925.     }
  926.     /**
  927.      * Get productVariant
  928.      *
  929.      * @return \Doctrine\Common\Collections\Collection
  930.      */
  931.     public function getProductVariant()
  932.     {
  933.         return $this->productVariant;
  934.     }
  935.     /**
  936.      * Add paymentSystem
  937.      *
  938.      * @param \App\Entity\Gos\PaymentSystem $paymentSystem
  939.      *
  940.      * @return PortalSettings
  941.      */
  942.     public function addPaymentSystem(\App\Entity\Gos\PaymentSystem $paymentSystem)
  943.     {
  944.         $this->paymentSystem[] = $paymentSystem;
  945.         return $this;
  946.     }
  947.     /**
  948.      * Remove paymentSystem
  949.      *
  950.      * @param \App\Entity\Gos\PaymentSystem $paymentSystem
  951.      */
  952.     public function removePaymentSystem(\App\Entity\Gos\PaymentSystem $paymentSystem)
  953.     {
  954.         $this->paymentSystem->removeElement($paymentSystem);
  955.     }
  956.     /**
  957.      * Get paymentSystem
  958.      *
  959.      * @return \Doctrine\Common\Collections\Collection
  960.      */
  961.     public function getPaymentSystem()
  962.     {
  963.         return $this->paymentSystem;
  964.     }
  965.     /**
  966.      * Add emailTemplate
  967.      *
  968.      * @param \App\Entity\Gos\EmailTemplate $emailTemplate
  969.      *
  970.      * @return PortalSettings
  971.      */
  972.     public function addEmailTemplate(\App\Entity\Gos\EmailTemplate $emailTemplate)
  973.     {
  974.         $this->emailTemplate[] = $emailTemplate;
  975.         return $this;
  976.     }
  977.     /**
  978.      * Remove emailTemplate
  979.      *
  980.      * @param \App\Entity\Gos\EmailTemplate $emailTemplate
  981.      */
  982.     public function removeEmailTemplate(\App\Entity\Gos\EmailTemplate $emailTemplate)
  983.     {
  984.         $this->emailTemplate->removeElement($emailTemplate);
  985.     }
  986.     /**
  987.      * Get emailTemplate
  988.      *
  989.      * @return \Doctrine\Common\Collections\Collection
  990.      */
  991.     public function getEmailTemplate()
  992.     {
  993.         return $this->emailTemplate;
  994.     }
  995.     /**
  996.      * Add term
  997.      *
  998.      * @param \App\Entity\Gos\Term $term
  999.      *
  1000.      * @return PortalSettings
  1001.      */
  1002.     public function addTerm(\App\Entity\Gos\Term $term)
  1003.     {
  1004.         $term->addPortalSetting($this);
  1005.         $this->terms[] = $term;
  1006.         return $this;
  1007.     }
  1008.     /**
  1009.      * Remove term
  1010.      *
  1011.      * @param \App\Entity\Gos\Term $term
  1012.      */
  1013.     public function removeTerm(\App\Entity\Gos\Term $term)
  1014.     {
  1015.         $term->removePortalSetting($this);
  1016.         $this->terms->removeElement($term);
  1017.     }
  1018.     /**
  1019.      * Get terms
  1020.      *
  1021.      * @return \Doctrine\Common\Collections\Collection
  1022.      */
  1023.     public function getTerms()
  1024.     {
  1025.         return $this->terms;
  1026.     }
  1027.     /**
  1028.      * Add passwordFromImport
  1029.      *
  1030.      * @param \App\Entity\Gos\PasswordFromImport $passwordFromImport
  1031.      *
  1032.      * @return PortalSettings
  1033.      */
  1034.     public function addPasswordFromImport(\App\Entity\Gos\PasswordFromImport $passwordFromImport)
  1035.     {
  1036.         $this->passwordFromImport[] = $passwordFromImport;
  1037.         return $this;
  1038.     }
  1039.     /**
  1040.      * Remove passwordFromImport
  1041.      *
  1042.      * @param \App\Entity\Gos\PasswordFromImport $passwordFromImport
  1043.      */
  1044.     public function removePasswordFromImport(\App\Entity\Gos\PasswordFromImport $passwordFromImport)
  1045.     {
  1046.         $this->passwordFromImport->removeElement($passwordFromImport);
  1047.     }
  1048.     /**
  1049.      * Get passwordFromImport
  1050.      *
  1051.      * @return \Doctrine\Common\Collections\Collection
  1052.      */
  1053.     public function getPasswordFromImport()
  1054.     {
  1055.         return $this->passwordFromImport;
  1056.     }
  1057.     /**
  1058.      * Add ordersDataTemp
  1059.      *
  1060.      * @param \App\Entity\Gos\OrdersDataTemp $ordersDataTemp
  1061.      *
  1062.      * @return PortalSettings
  1063.      */
  1064.     public function addOrdersDataTemp(\App\Entity\Gos\OrdersDataTemp $ordersDataTemp)
  1065.     {
  1066.         $this->ordersDataTemp[] = $ordersDataTemp;
  1067.         return $this;
  1068.     }
  1069.     /**
  1070.      * Remove ordersDataTemp
  1071.      *
  1072.      * @param \App\Entity\Gos\OrdersDataTemp $ordersDataTemp
  1073.      */
  1074.     public function removeOrdersDataTemp(\App\Entity\Gos\OrdersDataTemp $ordersDataTemp)
  1075.     {
  1076.         $this->ordersDataTemp->removeElement($ordersDataTemp);
  1077.     }
  1078.     /**
  1079.      * Get ordersDataTemp
  1080.      *
  1081.      * @return \Doctrine\Common\Collections\Collection
  1082.      */
  1083.     public function getOrdersDataTemp()
  1084.     {
  1085.         return $this->ordersDataTemp;
  1086.     }
  1087.     /**
  1088.      * Set portalNumberSB
  1089.      *
  1090.      * @param string $portalNumberSB
  1091.      *
  1092.      * @return PortalSettings
  1093.      */
  1094.     public function setPortalNumberSB($portalNumberSB)
  1095.     {
  1096.         $this->portalNumberSB $portalNumberSB;
  1097.         return $this;
  1098.     }
  1099.     /**
  1100.      * Get portalNumberSB
  1101.      *
  1102.      * @return string
  1103.      */
  1104.     public function getPortalNumberSB()
  1105.     {
  1106.         return $this->portalNumberSB;
  1107.     }
  1108.     /**
  1109.      * Set leadingColor1
  1110.      *
  1111.      * @param string $leadingColor1
  1112.      *
  1113.      * @return PortalSettings
  1114.      */
  1115.     public function setLeadingColor1($leadingColor1)
  1116.     {
  1117.         $this->leadingColor1 $leadingColor1;
  1118.         return $this;
  1119.     }
  1120.     /**
  1121.      * Set leadingColor2
  1122.      *
  1123.      * @param string $leadingColor2
  1124.      *
  1125.      * @return PortalSettings
  1126.      */
  1127.     public function setLeadingColor2($leadingColor2)
  1128.     {
  1129.         $this->leadingColor2 $leadingColor2;
  1130.         return $this;
  1131.     }
  1132.     /**
  1133.      * Set leadingColor3
  1134.      *
  1135.      * @param string $leadingColor3
  1136.      *
  1137.      * @return PortalSettings
  1138.      */
  1139.     public function setLeadingColor3($leadingColor3)
  1140.     {
  1141.         $this->leadingColor3 $leadingColor3;
  1142.         return $this;
  1143.     }
  1144.     /**
  1145.      * Set logo
  1146.      *
  1147.      * @param string $logo
  1148.      * @return PortalSettings
  1149.      */
  1150.     public function setLogo($logo)
  1151.     {
  1152.         $this->logo $logo;
  1153.         return $this;
  1154.     }
  1155.     /**
  1156.      * Get logo
  1157.      *
  1158.      * @return string
  1159.      */
  1160.     public function getLogo()
  1161.     {
  1162.         return $this->logo;
  1163.     }
  1164.     /**
  1165.      * Set emailSettings
  1166.      *
  1167.      * @param \App\Entity\Gos\EmailSettings|null $emailSettings
  1168.      * @return PortalSettings
  1169.      */
  1170.     public function setEmailSettings($emailSettings)
  1171.     {
  1172.         $this->emailSettings $emailSettings;
  1173.         return $this;
  1174.     }
  1175.     /**
  1176.      * Get emailSettings
  1177.      *
  1178.      * @return \App\Entity\Gos\EmailSettings
  1179.      */
  1180.     public function getEmailSettings()
  1181.     {
  1182.         return $this->emailSettings;
  1183.     }
  1184.     /**
  1185.      * Set contactMail
  1186.      *
  1187.      * @param string $contactMail
  1188.      * @return PortalSettings
  1189.      */
  1190.     public function setContactMail($contactMail)
  1191.     {
  1192.         $this->contactMail $contactMail;
  1193.         return $this;
  1194.     }
  1195.     /**
  1196.      * Get contactMail
  1197.      *
  1198.      * @return string
  1199.      */
  1200.     public function getContactMail()
  1201.     {
  1202.         return $this->contactMail;
  1203.     }
  1204.     /**
  1205.      * Set registrationAdditionalContent
  1206.      *
  1207.      * @param string $registrationAdditionalContent
  1208.      *
  1209.      * @return PortalSettings
  1210.      */
  1211.     public function setRegistrationAdditionalContent($registrationAdditionalContent)
  1212.     {
  1213.         $this->registrationAdditionalContent $registrationAdditionalContent;
  1214.         return $this;
  1215.     }
  1216.     /**
  1217.      * Get registrationAdditionalContent
  1218.      *
  1219.      * @return string
  1220.      */
  1221.     public function getRegistrationAdditionalContent()
  1222.     {
  1223.         return $this->registrationAdditionalContent;
  1224.     }
  1225.     /**
  1226.      * Set loginAdditionalContent
  1227.      *
  1228.      * @param string $loginAdditionalContent
  1229.      * @return PortalSettings
  1230.      */
  1231.     public function setLoginAdditionalContent($loginAdditionalContent)
  1232.     {
  1233.         $this->loginAdditionalContent $loginAdditionalContent;
  1234.         return $this;
  1235.     }
  1236.     /**
  1237.      * Get loginAdditionalContent
  1238.      *
  1239.      * @return string
  1240.      */
  1241.     public function getLoginAdditionalContent()
  1242.     {
  1243.         return $this->loginAdditionalContent;
  1244.     }
  1245.     /**
  1246.      * @return Collection|StaticPage[]
  1247.      */
  1248.     public function getStaticPage(): Collection
  1249.     {
  1250.         return $this->staticPage;
  1251.     }
  1252.     public function addStaticPage(StaticPage $staticPage): self
  1253.     {
  1254.         if (!$this->staticPage->contains($staticPage)) {
  1255.             $this->staticPage[] = $staticPage;
  1256.             $staticPage->setPortalSettings($this);
  1257.         }
  1258.         return $this;
  1259.     }
  1260.     public function removeStaticPage(StaticPage $staticPage): self
  1261.     {
  1262.         if ($this->staticPage->contains($staticPage)) {
  1263.             $this->staticPage->removeElement($staticPage);
  1264.             // set the owning side to null (unless already changed)
  1265.             if ($staticPage->getPortalSettings() === $this) {
  1266.                 $staticPage->setPortalSettings(null);
  1267.             }
  1268.         }
  1269.         return $this;
  1270.     }
  1271.     /**
  1272.      * @return Collection|Template[]
  1273.      */
  1274.     public function getTemplates(): Collection
  1275.     {
  1276.         return $this->templates;
  1277.     }
  1278.     public function addTemplate(Template $template): self
  1279.     {
  1280.         if (!$this->templates->contains($template))
  1281.         {
  1282.             $this->templates[] = $template;
  1283.             $template->setPortalSettings($this);
  1284.         }
  1285.         return $this;
  1286.     }
  1287.     public function removeTemplate(Template $template): self
  1288.     {
  1289.         if ($this->templates->contains($template))
  1290.         {
  1291.             $this->templates->removeElement($template);
  1292.             // set the owning side to null (unless already changed)
  1293.             if ($template->getPortalSettings() === $this)
  1294.             {
  1295.                 $template->setPortalSettings(null);
  1296.             }
  1297.         }
  1298.         return $this;
  1299.     }
  1300.     /**
  1301.      * @return Collection|TouchPoint[]
  1302.      */
  1303.     public function getTouchPoint(): Collection
  1304.     {
  1305.         return $this->touchPoint;
  1306.     }
  1307.     public function addTouchPoint(TouchPoint $touchPoint): self
  1308.     {
  1309.         if (!$this->touchPoint->contains($touchPoint)) {
  1310.             $this->touchPoint[] = $touchPoint;
  1311.             $touchPoint->setPortalSettings($this);
  1312.         }
  1313.         return $this;
  1314.     }
  1315.     public function removeTouchPoint(TouchPoint $touchPoint): self
  1316.     {
  1317.         if ($this->touchPoint->contains($touchPoint)) {
  1318.             $this->touchPoint->removeElement($touchPoint);
  1319.             // set the owning side to null (unless already changed)
  1320.             if ($touchPoint->getPortalSettings() === $this) {
  1321.                 $touchPoint->setPortalSettings(null);
  1322.             }
  1323.         }
  1324.         return $this;
  1325.     }
  1326.     public function getPortalHeadScripts(): ?string
  1327.     {
  1328.         return $this->portalHeadScripts;
  1329.     }
  1330.     public function setPortalHeadScripts(?string $portalHeadScripts): self
  1331.     {
  1332.         $this->portalHeadScripts $portalHeadScripts;
  1333.         return $this;
  1334.     }
  1335.     public function getPortalBodyScripts(): ?string
  1336.     {
  1337.         return $this->portalBodyScripts;
  1338.     }
  1339.     public function setPortalBodyScripts(?string $portalBodyScripts): self
  1340.     {
  1341.         $this->portalBodyScripts $portalBodyScripts;
  1342.         return $this;
  1343.     }
  1344.     /**
  1345.      * @return Collection|ProductAssociation[]
  1346.      */
  1347.     public function getProductAssociations(): Collection
  1348.     {
  1349.         return $this->productAssociations;
  1350.     }
  1351.     public function addProductAssociation(ProductAssociation $productAssociation): self
  1352.     {
  1353.         if (!$this->productAssociations->contains($productAssociation)) {
  1354.             $this->productAssociations[] = $productAssociation;
  1355.             $productAssociation->setPortalSettings($this);
  1356.         }
  1357.         return $this;
  1358.     }
  1359.     public function removeProductAssociation(ProductAssociation $productAssociation): self
  1360.     {
  1361.         if ($this->productAssociations->contains($productAssociation)) {
  1362.             $this->productAssociations->removeElement($productAssociation);
  1363.             // set the owning side to null (unless already changed)
  1364.             if ($productAssociation->getPortalSettings() === $this) {
  1365.                 $productAssociation->setPortalSettings(null);
  1366.             }
  1367.         }
  1368.         return $this;
  1369.     }
  1370.     /**
  1371.      * @return Collection|Category[]
  1372.      */
  1373.     public function getCategories(): Collection
  1374.     {
  1375.         return $this->categories;
  1376.     }
  1377.     public function addCategory(Category $category): self
  1378.     {
  1379.         if (!$this->categories->contains($category)) {
  1380.             $this->categories[] = $category;
  1381.             $category->setPortalSettings($this);
  1382.         }
  1383.         return $this;
  1384.     }
  1385.     public function removeCategory(Category $category): self
  1386.     {
  1387.         if ($this->categories->contains($category)) {
  1388.             $this->categories->removeElement($category);
  1389.             // set the owning side to null (unless already changed)
  1390.             if ($category->getPortalSettings() === $this) {
  1391.                 $category->setPortalSettings(null);
  1392.             }
  1393.         }
  1394.         return $this;
  1395.     }
  1396.     /**
  1397.      * @return Collection|Course[]
  1398.      */
  1399.     public function getCourse(): Collection
  1400.     {
  1401.         return $this->course;
  1402.     }
  1403.     public function addCourse(Course $course): self
  1404.     {
  1405.         if (!$this->course->contains($course)) {
  1406.             $this->course[] = $course;
  1407.             $course->setPortalSettings($this);
  1408.         }
  1409.         return $this;
  1410.     }
  1411.     public function removeCourse(Course $course): self
  1412.     {
  1413.         if ($this->course->contains($course)) {
  1414.             $this->course->removeElement($course);
  1415.             // set the owning side to null (unless already changed)
  1416.             if ($course->getPortalSettings() === $this) {
  1417.                 $course->setPortalSettings(null);
  1418.             }
  1419.         }
  1420.         return $this;
  1421.     }
  1422.     public function getRobotsTxt(): ?string
  1423.     {
  1424.         return $this->robotsTxt;
  1425.     }
  1426.     public function setRobotsTxt(?string $robotsTxt): self
  1427.     {
  1428.         $this->robotsTxt $robotsTxt;
  1429.         return $this;
  1430.     }
  1431.     public function getCartAdditionalInfo(): ?string
  1432.     {
  1433.         return $this->cartAdditionalInfo;
  1434.     }
  1435.     public function setCartAdditionalInfo(?string $cartAdditionalInfo): self
  1436.     {
  1437.         $this->cartAdditionalInfo $cartAdditionalInfo;
  1438.         return $this;
  1439.     }
  1440.     /**
  1441.      * @return Collection|TouchPointAll[]
  1442.      */
  1443.     public function getTouchPointAll(): Collection
  1444.     {
  1445.         return $this->touchPointAll;
  1446.     }
  1447.     public function addTouchPointAll(TouchPointAll $touchPointAll): self
  1448.     {
  1449.         if (!$this->touchPointAll->contains($touchPointAll)) {
  1450.             $this->touchPointAll[] = $touchPointAll;
  1451.             $touchPointAll->setPortalSettings($this);
  1452.         }
  1453.         return $this;
  1454.     }
  1455.     public function removeTouchPointAll(TouchPointAll $touchPointAll): self
  1456.     {
  1457.         if ($this->touchPointAll->contains($touchPointAll)) {
  1458.             $this->touchPointAll->removeElement($touchPointAll);
  1459.             // set the owning side to null (unless already changed)
  1460.             if ($touchPointAll->getPortalSettings() === $this) {
  1461.                 $touchPointAll->setPortalSettings(null);
  1462.             }
  1463.         }
  1464.         return $this;
  1465.     }
  1466.     public function getIsUniqskillsPortal(): ?bool
  1467.     {
  1468.         return $this->isUniqskillsPortal;
  1469.     }
  1470.     public function setIsUniqskillsPortal(?bool $isUniqskillsPortal): self
  1471.     {
  1472.         $this->isUniqskillsPortal $isUniqskillsPortal;
  1473.         return $this;
  1474.     }
  1475.     public function getFmCompanySettings(): ?FmCompanySettings
  1476.     {
  1477.         return $this->fmCompanySettings;
  1478.     }
  1479.     public function setFmCompanySettings(?FmCompanySettings $fmCompanySettings): self
  1480.     {
  1481.         $this->fmCompanySettings $fmCompanySettings;
  1482.         // set (or unset) the owning side of the relation if necessary
  1483.         $newPortalSettings $fmCompanySettings === null null $this;
  1484.         if ($newPortalSettings !== $fmCompanySettings->getPortalSettings()) {
  1485.             $fmCompanySettings->setPortalSettings($newPortalSettings);
  1486.         }
  1487.         return $this;
  1488.     }
  1489.     /**
  1490.      * @return Collection|User[]
  1491.      */
  1492.     public function getAccessUser(): Collection
  1493.     {
  1494.         return $this->accessUser;
  1495.     }
  1496.     public function addAccessUser(User $accessUser): self
  1497.     {
  1498.         if (!$this->accessUser->contains($accessUser)) {
  1499.             $this->accessUser[] = $accessUser;
  1500.             $accessUser->addAccessToPortalSetting($this);
  1501.         }
  1502.         return $this;
  1503.     }
  1504.     public function removeAccessUser(User $accessUser): self
  1505.     {
  1506.         if ($this->accessUser->contains($accessUser)) {
  1507.             $this->accessUser->removeElement($accessUser);
  1508.             $accessUser->removeAccessToPortalSetting($this);
  1509.         }
  1510.         return $this;
  1511.     }
  1512.     /**
  1513.      * @return Collection|User[]
  1514.      */
  1515.     public function getRegisteredUser(): Collection
  1516.     {
  1517.         return $this->registeredUser;
  1518.     }
  1519.     public function addRegisteredUser(User $registeredUser): self
  1520.     {
  1521.         if (!$this->registeredUser->contains($registeredUser)) {
  1522.             $this->registeredUser[] = $registeredUser;
  1523.             $registeredUser->setRegisteredFrom($this);
  1524.         }
  1525.         return $this;
  1526.     }
  1527.     public function removeRegisteredUser(User $registeredUser): self
  1528.     {
  1529.         if ($this->registeredUser->contains($registeredUser)) {
  1530.             $this->registeredUser->removeElement($registeredUser);
  1531.             // set the owning side to null (unless already changed)
  1532.             if ($registeredUser->getRegisteredFrom() === $this) {
  1533.                 $registeredUser->setRegisteredFrom(null);
  1534.             }
  1535.         }
  1536.         return $this;
  1537.     }
  1538.     public function getPortalStartBodyScripts(): ?string
  1539.     {
  1540.         return $this->portalStartBodyScripts;
  1541.     }
  1542.     public function setPortalStartBodyScripts(?string $portalStartBodyScripts): self
  1543.     {
  1544.         $this->portalStartBodyScripts $portalStartBodyScripts;
  1545.         return $this;
  1546.     }
  1547.     /**
  1548.      * @return Collection|PromoBox[]
  1549.      */
  1550.     public function getPromoBox(): Collection
  1551.     {
  1552.         return $this->promoBox;
  1553.     }
  1554.     public function addPromoBox(PromoBox $promoBox): self
  1555.     {
  1556.         if (!$this->promoBox->contains($promoBox)) {
  1557.             $this->promoBox[] = $promoBox;
  1558.             $promoBox->setPortalSettings($this);
  1559.         }
  1560.         return $this;
  1561.     }
  1562.     public function removePromoBox(PromoBox $promoBox): self
  1563.     {
  1564.         if ($this->promoBox->contains($promoBox)) {
  1565.             $this->promoBox->removeElement($promoBox);
  1566.             // set the owning side to null (unless already changed)
  1567.             if ($promoBox->getPortalSettings() === $this) {
  1568.                 $promoBox->setPortalSettings(null);
  1569.             }
  1570.         }
  1571.         return $this;
  1572.     }
  1573.     /**
  1574.      * @return Collection|Slider[]
  1575.      */
  1576.     public function getSlider(): Collection
  1577.     {
  1578.         return $this->slider;
  1579.     }
  1580.     public function addSlider(Slider $slider): self
  1581.     {
  1582.         if (!$this->slider->contains($slider)) {
  1583.             $this->slider[] = $slider;
  1584.             $slider->setPortalSettings($this);
  1585.         }
  1586.         return $this;
  1587.     }
  1588.     public function removeSlider(Slider $slider): self
  1589.     {
  1590.         if ($this->slider->contains($slider)) {
  1591.             $this->slider->removeElement($slider);
  1592.             // set the owning side to null (unless already changed)
  1593.             if ($slider->getPortalSettings() === $this) {
  1594.                 $slider->setPortalSettings(null);
  1595.             }
  1596.         }
  1597.         return $this;
  1598.     }
  1599.     /**
  1600.      * Add salesManagoEvents
  1601.      *
  1602.      * @param \App\Entity\Gos\SalesManagoEvent $salesManagoEvent
  1603.      *
  1604.      * @return PortalSettings
  1605.      */
  1606.     public function addSalesManagoEvent(\App\Entity\Gos\SalesManagoEvent $salesManagoEvent)
  1607.     {
  1608.         $this->salesManagoEvents[] = $salesManagoEvent;
  1609.         return $this;
  1610.     }
  1611.     /**
  1612.      * Remove salesManagoEvents
  1613.      *
  1614.      * @param \App\Entity\Gos\SalesManagoEvent $salesManagoEvent
  1615.      */
  1616.     public function removeSalesManagoEvent(\App\Entity\Gos\SalesManagoEvent $salesManagoEvent)
  1617.     {
  1618.         $this->salesManagoEvents->removeElement($salesManagoEvent);
  1619.     }
  1620.     /**
  1621.      * Get salesManagoEvents
  1622.      *
  1623.      * @return \Doctrine\Common\Collections\Collection
  1624.      */
  1625.     public function getSalesManagoEvents()
  1626.     {
  1627.         return $this->salesManagoEvents;
  1628.     }
  1629.     public function getResetPasswordUrl($confirmationToken$locale 'pl')
  1630.     {
  1631.         if ($this->getHash() === $_ENV['EF_PORTAL_SETTINGS'])
  1632.         {
  1633.             return $this->getDomain() . '/reset/haslo/' $confirmationToken;
  1634.         }
  1635.         if ($this->isNetflixPortal)
  1636.         {
  1637.             switch ($locale)
  1638.             {
  1639.                 case 'en':
  1640.                     $routeTranslation 'activation';
  1641.                     break;
  1642.                 case 'es':
  1643.                     $routeTranslation 'activacion';
  1644.                     break;
  1645.                 default:
  1646.                     $routeTranslation 'aktywacja';
  1647.             }
  1648.             return $this->getDomain() . '/'$routeTranslation'/' $confirmationToken;
  1649.         }
  1650.         if ($this->getIsUniqskillsPortal())
  1651.         {
  1652.             return 'https://' $this->getDomain() . '/' $locale '/reset/password/' $confirmationToken;
  1653.         }
  1654.         if ($this->getOrderType()->getName() === 'focus')
  1655.         {
  1656.             return $this->getDomain() . '/ustaw-haslo/' $confirmationToken;
  1657.         }
  1658.         if ($this->getHash() === PortalHashes::ZAUFANY_TERAPEUTA)
  1659.         {
  1660.             return $this->getDomain() . '/reset-password/' $confirmationToken;
  1661.         }
  1662.         return $this->getDomain() . '/gos/resetting/password/' $confirmationToken;
  1663.     }
  1664.     /**
  1665.      * @return Collection|ProductVariantPack[]
  1666.      */
  1667.     public function getProductVariantPacks(): Collection
  1668.     {
  1669.         return $this->productVariantPacks;
  1670.     }
  1671.     public function addProductVariantPack(ProductVariantPack $productVariantPack): self
  1672.     {
  1673.         if (!$this->productVariantPacks->contains($productVariantPack)) {
  1674.             $this->productVariantPacks[] = $productVariantPack;
  1675.             $productVariantPack->addPortalSetting($this);
  1676.         }
  1677.         return $this;
  1678.     }
  1679.     public function removeProductVariantPack(ProductVariantPack $productVariantPack): self
  1680.     {
  1681.         if ($this->productVariantPacks->contains($productVariantPack)) {
  1682.             $this->productVariantPacks->removeElement($productVariantPack);
  1683.             $productVariantPack->removePortalSetting($this);
  1684.         }
  1685.         return $this;
  1686.     }
  1687.     /**
  1688.      * @return Collection|UserPosition[]
  1689.      */
  1690.     public function getPositions(): Collection
  1691.     {
  1692.         return $this->positions;
  1693.     }
  1694.     public function addPosition(UserPosition $position): self
  1695.     {
  1696.         if (!$this->positions->contains($position)) {
  1697.             $this->positions[] = $position;
  1698.             $position->addPortalSetting($this);
  1699.         }
  1700.         return $this;
  1701.     }
  1702.     public function removePosition(UserPosition $position): self
  1703.     {
  1704.         if ($this->positions->contains($position)) {
  1705.             $this->positions->removeElement($position);
  1706.             $position->removePortalSetting($this);
  1707.         }
  1708.         return $this;
  1709.     }
  1710.     public function hasPositions(): bool
  1711.     {
  1712.         return !$this->getPositions()->isEmpty();
  1713.     }
  1714.     public function getSortedPositions(): ArrayCollection
  1715.     {
  1716.         $positions $this->getPositions()->toArray();
  1717.         $positionsOrder $this->getPositionsOrder();
  1718.         if ($positionsOrder !== null) {
  1719.             usort($positions, static function($a$b) use ($positionsOrder) {
  1720.                 $posA array_search($a->getId(), $positionsOrderfalse);
  1721.                 $posB array_search($b->getId(), $positionsOrderfalse);
  1722.                 return $posA $posB;
  1723.             });
  1724.         }
  1725.         return new ArrayCollection($positions);
  1726.     }
  1727.     public function getIsNetflixPortal(): ?bool
  1728.     {
  1729.         return $this->isNetflixPortal;
  1730.     }
  1731.     public function setIsNetflixPortal(?bool $isNetflixPortal): self
  1732.     {
  1733.         $this->isNetflixPortal $isNetflixPortal;
  1734.         return $this;
  1735.     }
  1736.     public function getIsPresale(): ?bool
  1737.     {
  1738.         return $this->isPresale;
  1739.     }
  1740.     public function setIsPresale(bool $isPresale): self
  1741.     {
  1742.         $this->isPresale $isPresale;
  1743.         return $this;
  1744.     }
  1745.     public function getIsSimplePrice(): ?bool
  1746.     {
  1747.         return $this->isSimplePrice;
  1748.     }
  1749.     public function setIsSimplePrice(bool $isSimplePrice): self
  1750.     {
  1751.         $this->isSimplePrice $isSimplePrice;
  1752.         return $this;
  1753.     }
  1754.     /**
  1755.      * @return Collection|Newsletter[]
  1756.      */
  1757.     public function getNewsletters(): Collection
  1758.     {
  1759.         return $this->newsletters;
  1760.     }
  1761.     public function addNewsletter(Newsletter $newsletter): self
  1762.     {
  1763.         if (!$this->newsletters->contains($newsletter)) {
  1764.             $this->newsletters[] = $newsletter;
  1765.             $newsletter->setPortalSettings($this);
  1766.         }
  1767.         return $this;
  1768.     }
  1769.     public function removeNewsletter(Newsletter $newsletter): self
  1770.     {
  1771.         if ($this->newsletters->contains($newsletter)) {
  1772.             $this->newsletters->removeElement($newsletter);
  1773.             // set the owning side to null (unless already changed)
  1774.             if ($newsletter->getPortalSettings() === $this) {
  1775.                 $newsletter->setPortalSettings(null);
  1776.             }
  1777.         }
  1778.         return $this;
  1779.     }
  1780.     public function getRedirectAfterLogin(): ?string
  1781.     {
  1782.         return $this->redirectAfterLogin;
  1783.     }
  1784.     public function setRedirectAfterLogin(?string $redirectAfterLogin): self
  1785.     {
  1786.         $this->redirectAfterLogin $redirectAfterLogin;
  1787.         return $this;
  1788.     }
  1789.     public function getMessageAfterLogin(): ?string
  1790.     {
  1791.         return $this->messageAfterLogin;
  1792.     }
  1793.     public function setMessageAfterLogin(?string $messageAfterLogin): self
  1794.     {
  1795.         $this->messageAfterLogin $messageAfterLogin;
  1796.         return $this;
  1797.     }
  1798.     public function getMessageTimeAfterLogin(): ?int
  1799.     {
  1800.         return $this->messageTimeAfterLogin;
  1801.     }
  1802.     public function setMessageTimeAfterLogin(?int $messageTimeAfterLogin): self
  1803.     {
  1804.         $this->messageTimeAfterLogin $messageTimeAfterLogin;
  1805.         return $this;
  1806.     }
  1807.     /**
  1808.      * @return Collection|UserFirstLoginInfo[]
  1809.      */
  1810.     public function getUserFirstLoginInfos(): Collection
  1811.     {
  1812.         return $this->userFirstLoginInfos;
  1813.     }
  1814.     public function addUserFirstLoginInfo(UserFirstLoginInfo $userFirstLoginInfo): self
  1815.     {
  1816.         if (!$this->userFirstLoginInfos->contains($userFirstLoginInfo)) {
  1817.             $this->userFirstLoginInfos[] = $userFirstLoginInfo;
  1818.             $userFirstLoginInfo->setPortal($this);
  1819.         }
  1820.         return $this;
  1821.     }
  1822.     public function removeUserFirstLoginInfo(UserFirstLoginInfo $userFirstLoginInfo): self
  1823.     {
  1824.         if ($this->userFirstLoginInfos->contains($userFirstLoginInfo)) {
  1825.             $this->userFirstLoginInfos->removeElement($userFirstLoginInfo);
  1826.             // set the owning side to null (unless already changed)
  1827.             if ($userFirstLoginInfo->getPortal() === $this) {
  1828.                 $userFirstLoginInfo->setPortal(null);
  1829.             }
  1830.         }
  1831.         return $this;
  1832.     }
  1833.     public function getDeviceAuthNeeded(): ?bool
  1834.     {
  1835.         return $this->deviceAuthNeeded;
  1836.     }
  1837.     public function setDeviceAuthNeeded(?bool $deviceAuthNeeded): self
  1838.     {
  1839.         $this->deviceAuthNeeded $deviceAuthNeeded;
  1840.         return $this;
  1841.     }
  1842.     public function getSender(): ?string
  1843.     {
  1844.         return $this->sender;
  1845.     }
  1846.     public function setSender(?string $sender): self
  1847.     {
  1848.         $this->sender $sender;
  1849.         return $this;
  1850.     }
  1851.     public function getIsCmsPortal(): ?bool
  1852.     {
  1853.         return $this->isCmsPortal;
  1854.     }
  1855.     public function setIsCmsPortal(?bool $isCmsPortal): self
  1856.     {
  1857.         $this->isCmsPortal $isCmsPortal;
  1858.         return $this;
  1859.     }
  1860.     public function getVirtualCurrency(): ?VirtualCurrency
  1861.     {
  1862.         return $this->virtualCurrency;
  1863.     }
  1864.     public function setVirtualCurrency(?VirtualCurrency $virtualCurrency): self
  1865.     {
  1866.         $this->virtualCurrency $virtualCurrency;
  1867.         return $this;
  1868.     }
  1869.     public function getMultiAccessFromMaxUser(): ?bool
  1870.     {
  1871.         return $this->multiAccessFromMaxUser;
  1872.     }
  1873.     public function setMultiAccessFromMaxUser(?bool $multiAccessFromMaxUser): self
  1874.     {
  1875.         $this->multiAccessFromMaxUser $multiAccessFromMaxUser;
  1876.         return $this;
  1877.     }
  1878.     public function getEnableNewBasket(): ?bool
  1879.     {
  1880.         return $this->enableNewBasket;
  1881.     }
  1882.     public function setEnableNewBasket(?bool $enableNewBasket): self
  1883.     {
  1884.         $this->enableNewBasket $enableNewBasket;
  1885.         return $this;
  1886.     }
  1887.     /**
  1888.      * @return Collection|Cart[]
  1889.      */
  1890.     public function getCarts(): Collection
  1891.     {
  1892.         return $this->carts;
  1893.     }
  1894.     public function addCart(Cart $cart): self
  1895.     {
  1896.         if (!$this->carts->contains($cart)) {
  1897.             $this->carts[] = $cart;
  1898.             $cart->setPortalSettings($this);
  1899.         }
  1900.         return $this;
  1901.     }
  1902.     public function removeCart(Cart $cart): self
  1903.     {
  1904.         if ($this->carts->contains($cart)) {
  1905.             $this->carts->removeElement($cart);
  1906.             // set the owning side to null (unless already changed)
  1907.             if ($cart->getPortalSettings() === $this) {
  1908.                 $cart->setPortalSettings(null);
  1909.             }
  1910.         }
  1911.         return $this;
  1912.     }
  1913.     public function getPriceAfterFreePostageCost(): ?float
  1914.     {
  1915.         return $this->priceAfterFreePostageCost;
  1916.     }
  1917.     public function setPriceAfterFreePostageCost(?float $priceAfterFreePostageCost): self
  1918.     {
  1919.         $this->priceAfterFreePostageCost $priceAfterFreePostageCost;
  1920.         return $this;
  1921.     }
  1922.     public function getPriceAfterFreePostageCostType(): ?string
  1923.     {
  1924.         return $this->priceAfterFreePostageCostType;
  1925.     }
  1926.     public function setPriceAfterFreePostageCostType(?string $priceAfterFreePostageCostType): self
  1927.     {
  1928.         $this->priceAfterFreePostageCostType $priceAfterFreePostageCostType;
  1929.         return $this;
  1930.     }
  1931.     public function showGrossPriceInOrderConfirmation(): bool
  1932.     {
  1933.         return $this->showGrossPrice;
  1934.     }
  1935.     public function getGtm(): ?string
  1936.     {
  1937.         return $this->gtm;
  1938.     }
  1939.     public function setGtm(?string $gtm): self
  1940.     {
  1941.         $this->gtm $gtm;
  1942.         return $this;
  1943.     }
  1944.     public function getPasswordAdditionalContent(): ?string
  1945.     {
  1946.         return $this->passwordAdditionalContent;
  1947.     }
  1948.     public function setPasswordAdditionalContent(?string $passwordAdditionalContent): self
  1949.     {
  1950.         $this->passwordAdditionalContent $passwordAdditionalContent;
  1951.         return $this;
  1952.     }
  1953.     public function getLeadingColor4(): ?string
  1954.     {
  1955.         return $this->leadingColor4;
  1956.     }
  1957.     public function setLeadingColor4(?string $leadingColor4): self
  1958.     {
  1959.         $this->leadingColor4 $leadingColor4;
  1960.         return $this;
  1961.     }
  1962.     public function getUserbarColor(): ?string
  1963.     {
  1964.         return $this->checkColor($this->userbarColor);
  1965.     }
  1966.     public function setUserbarColor(?string $userbarColor): self
  1967.     {
  1968.         $this->userbarColor $userbarColor;
  1969.         return $this;
  1970.     }
  1971.     public function getIsBookcaseVisibleInUserbar(): ?bool
  1972.     {
  1973.         return $this->isBookcaseVisibleInUserbar;
  1974.     }
  1975.     public function setIsBookcaseVisibleInUserbar(bool $isBookcaseVisibleInUserbar): self
  1976.     {
  1977.         $this->isBookcaseVisibleInUserbar $isBookcaseVisibleInUserbar;
  1978.         return $this;
  1979.     }
  1980.     public function getIsShelfVisibleInUserbar(): ?bool
  1981.     {
  1982.         return $this->isShelfVisibleInUserbar;
  1983.     }
  1984.     public function setIsShelfVisibleInUserbar(bool $isShelfVisibleInUserbar): self
  1985.     {
  1986.         $this->isShelfVisibleInUserbar $isShelfVisibleInUserbar;
  1987.         return $this;
  1988.     }
  1989.     public function getUserbarHtml(): ?string
  1990.     {
  1991.         return $this->userbarHtml;
  1992.     }
  1993.     public function setUserbarHtml(?string $userbarHtml): self
  1994.     {
  1995.         $this->userbarHtml $userbarHtml;
  1996.         return $this;
  1997.     }
  1998.     public function getDisplayUserbar2(): ?bool
  1999.     {
  2000.         return $this->displayUserbar2;
  2001.     }
  2002.     public function setDisplayUserbar2(bool $displayUserbar2): self
  2003.     {
  2004.         $this->displayUserbar2 $displayUserbar2;
  2005.         return $this;
  2006.     }
  2007.     // TESTS A/B
  2008.     public function getTestPriceAfterFreePostageCost(): ?float
  2009.     {
  2010.         return $this->testPriceAfterFreePostageCost;
  2011.     }
  2012.     public function setTestPriceAfterFreePostageCost(?float $testPriceAfterFreePostageCost): self
  2013.     {
  2014.         $this->testPriceAfterFreePostageCost $testPriceAfterFreePostageCost;
  2015.         return $this;
  2016.     }
  2017.     public function getTestUserbarHtml(): ?string
  2018.     {
  2019.         return $this->testUserbarHtml;
  2020.     }
  2021.     public function setTestUserbarHtml(?string $testUserbarHtml): self
  2022.     {
  2023.         $this->testUserbarHtml $testUserbarHtml;
  2024.         return $this;
  2025.     }
  2026.     // END OF TESTS A/B
  2027.     public function getLifetimeAccess(): ?bool
  2028.     {
  2029.         return $this->lifetimeAccess;
  2030.     }
  2031.     public function setLifetimeAccess(?bool $lifetimeAccess): self
  2032.     {
  2033.         $this->lifetimeAccess $lifetimeAccess;
  2034.         return $this;
  2035.     }
  2036.     public function getFbPixelId(): ?string
  2037.     {
  2038.         return $this->fbPixelId;
  2039.     }
  2040.     public function setFbPixelId(?string $fbPixelId): self
  2041.     {
  2042.         $this->fbPixelId $fbPixelId;
  2043.         return $this;
  2044.     }
  2045.     public function getFbPixelAccessToken(): ?string
  2046.     {
  2047.         return $this->fbPixelAccessToken;
  2048.     }
  2049.     public function setFbPixelAccessToken(?string $fbPixelAccessToken): self
  2050.     {
  2051.         $this->fbPixelAccessToken $fbPixelAccessToken;
  2052.         return $this;
  2053.     }
  2054.     public function getHideFieldPosition(): ?bool
  2055.     {
  2056.         return $this->hideFieldPosition;
  2057.     }
  2058.     public function setHideFieldPosition(?bool $hideFieldPosition): self
  2059.     {
  2060.         $this->hideFieldPosition $hideFieldPosition;
  2061.         return $this;
  2062.     }
  2063.     public function isRedirectingToFocus(): ?bool
  2064.     {
  2065.         return $this->redirectingToFocus;
  2066.     }
  2067.     public function setRedirectingToFocus(bool $redirectingToFocus): self
  2068.     {
  2069.         $this->redirectingToFocus $redirectingToFocus;
  2070.         return $this;
  2071.     }
  2072.     public function getShowGrossPrice(): ?bool
  2073.     {
  2074.         return $this->showGrossPrice;
  2075.     }
  2076.     public function setShowGrossPrice(bool $showGrossPrice): self
  2077.     {
  2078.         $this->showGrossPrice $showGrossPrice;
  2079.         return $this;
  2080.     }
  2081.     /**
  2082.      * Set csMail
  2083.      *
  2084.      * @param string $csMail
  2085.      * @return PortalSettings
  2086.      */
  2087.     public function setCsMail(string $csMail): self
  2088.     {
  2089.         $this->csMail $csMail;
  2090.         return $this;
  2091.     }
  2092.     /**
  2093.      * Get csMail
  2094.      *
  2095.      * @return string|null
  2096.      */
  2097.     public function getCsMail(): ?string
  2098.     {
  2099.         return $this->csMail;
  2100.     }
  2101.     public function getIsPhoneRequired(): bool
  2102.     {
  2103.         return $this->isPhoneRequired;
  2104.     }
  2105.     public function setIsPhoneRequired(bool $isPhoneRequired): self
  2106.     {
  2107.         $this->isPhoneRequired $isPhoneRequired;
  2108.         return $this;
  2109.     }
  2110.     public function getWebeMidNumber(): ?int
  2111.     {
  2112.         return $this->webeMidNumber;
  2113.     }
  2114.     public function setWebeMidNumber(?int $webeMidNumber): self
  2115.     {
  2116.         $this->webeMidNumber $webeMidNumber;
  2117.         return $this;
  2118.     }
  2119.     public function getDefaultPaymentSystem(): ?PaymentSystem
  2120.     {
  2121.         return $this->defaultPaymentSystem;
  2122.     }
  2123.     public function setDefaultPaymentSystem(?PaymentSystem $defaultPaymentSystem): self
  2124.     {
  2125.         $this->defaultPaymentSystem $defaultPaymentSystem;
  2126.         return $this;
  2127.     }
  2128.     public function getUseFbPixelInIframe(): ?bool
  2129.     {
  2130.         return $this->useFbPixelInIframe;
  2131.     }
  2132.     public function setUseFbPixelInIframe(?bool $useFbPixelInIframe): self
  2133.     {
  2134.         $this->useFbPixelInIframe $useFbPixelInIframe;
  2135.         return $this;
  2136.     }
  2137.     public function getDefaultCartClientType(): ?ClientType
  2138.     {
  2139.         return $this->defaultCartClientType;
  2140.     }
  2141.     public function setDefaultCartClientType(?ClientType $defaultCartClientType): self
  2142.     {
  2143.         $this->defaultCartClientType $defaultCartClientType;
  2144.         return $this;
  2145.     }
  2146.     /**
  2147.      * @JMS\VirtualProperty("defaultCartClientTypeSlug")
  2148.      * @JMS\Type("string")
  2149.      * @JMS\Groups({"PortalSettings"})
  2150.      */
  2151.     public function getDefaultCartClientTypeSlug(): string
  2152.     {
  2153.         return (string)$this->defaultCartClientType->getSlug();
  2154.     }
  2155.     public function getIsPaymentBeforeConfirmation(): ?bool
  2156.     {
  2157.         return $this->isPaymentBeforeConfirmation;
  2158.     }
  2159.     public function setIsPaymentBeforeConfirmation(bool $isPaymentBeforeConfirmation): self
  2160.     {
  2161.         $this->isPaymentBeforeConfirmation $isPaymentBeforeConfirmation;
  2162.         return $this;
  2163.     }
  2164.     /**
  2165.      * @return Collection|Honorifics[]
  2166.      */
  2167.     public function getHonorifics(): Collection
  2168.     {
  2169.         return $this->honorifics;
  2170.     }
  2171.     public function addHonorific(Honorifics $honorific): self
  2172.     {
  2173.         if (!$this->honorifics->contains($honorific)) {
  2174.             $this->honorifics[] = $honorific;
  2175.             $honorific->addPortalSetting($this);
  2176.         }
  2177.         return $this;
  2178.     }
  2179.     public function removeHonorific(Honorifics $honorific): self
  2180.     {
  2181.         if ($this->honorifics->contains($honorific)) {
  2182.             $this->honorifics->removeElement($honorific);
  2183.             $honorific->removePortalSetting($this);
  2184.         }
  2185.         return $this;
  2186.     }
  2187.     public function getPaymentReward(): ?bool
  2188.     {
  2189.         return $this->paymentReward;
  2190.     }
  2191.     public function setPaymentReward(bool $paymentReward): self
  2192.     {
  2193.         $this->paymentReward $paymentReward;
  2194.         return $this;
  2195.     }
  2196.     public function getPaymentRewardContent(): ?string
  2197.     {
  2198.         return $this->paymentRewardContent;
  2199.     }
  2200.     public function setPaymentRewardContent(?string $paymentRewardContent): self
  2201.     {
  2202.         $this->paymentRewardContent $paymentRewardContent;
  2203.         return $this;
  2204.     }
  2205.     public function getPaymentRewardDeadline(): ?int
  2206.     {
  2207.         return $this->paymentRewardDeadline;
  2208.     }
  2209.     public function setPaymentRewardDeadline(?int $paymentRewardDeadline): self
  2210.     {
  2211.         $this->paymentRewardDeadline $paymentRewardDeadline;
  2212.         return $this;
  2213.     }
  2214.     public function getCartTemplate(): ?int
  2215.     {
  2216.         return $this->cartTemplate;
  2217.     }
  2218.     public function setCartTemplate(?int $cartTemplate): self
  2219.     {
  2220.         $this->cartTemplate $cartTemplate;
  2221.         return $this;
  2222.     }
  2223.     /**
  2224.      * @return Collection|User[]
  2225.      */
  2226.     public function getUsers(): Collection
  2227.     {
  2228.         return $this->users;
  2229.     }
  2230.     public function addUser(User $user): self
  2231.     {
  2232.         if (!$this->users->contains($user)) {
  2233.             $this->users[] = $user;
  2234.             $user->addUsingPortal($this);
  2235.         }
  2236.         return $this;
  2237.     }
  2238.     public function removeUser(User $user): self
  2239.     {
  2240.         if ($this->users->contains($user)) {
  2241.             $this->users->removeElement($user);
  2242.             $user->removeUsingPortal($this);
  2243.         }
  2244.         return $this;
  2245.     }
  2246.     public function getUseCacheInAccess(): ?bool
  2247.     {
  2248.         return $this->useCacheInAccess;
  2249.     }
  2250.     public function setUseCacheInAccess(?bool $useCacheInAccess): self
  2251.     {
  2252.         $this->useCacheInAccess $useCacheInAccess;
  2253.         return $this;
  2254.     }
  2255.     public function getOrderConfirmationAdditionalContent(): ?string
  2256.     {
  2257.         return $this->orderConfirmationAdditionalContent;
  2258.     }
  2259.     public function setOrderConfirmationAdditionalContent(?string $orderConfirmationAdditionalContent): self
  2260.     {
  2261.         $this->orderConfirmationAdditionalContent $orderConfirmationAdditionalContent;
  2262.         return $this;
  2263.     }
  2264.     public function getAdditionalContentForMail(): ?string
  2265.     {
  2266.         return $this->additionalContentForMail;
  2267.     }
  2268.     public function setAdditionalContentForMail(?string $additionalContentForMail): self
  2269.     {
  2270.         $this->additionalContentForMail $additionalContentForMail;
  2271.         return $this;
  2272.     }
  2273.     public function getMatomoSiteId(): ?string
  2274.     {
  2275.         return $this->matomoSiteId;
  2276.     }
  2277.     public function setMatomoSiteId(?string $matomoSiteId): self
  2278.     {
  2279.         $this->matomoSiteId $matomoSiteId;
  2280.         return $this;
  2281.     }
  2282.     public function getPositionsOrder(): ?array
  2283.     {
  2284.         return $this->positionsOrder;
  2285.     }
  2286.     public function setPositionsOrder(?array $positionsOrder): self
  2287.     {
  2288.         $this->positionsOrder $positionsOrder;
  2289.         return $this;
  2290.     }
  2291.     /**
  2292.      * @return Collection|ContactSegmentation[]
  2293.      */
  2294.     public function getContactSegmentations(): Collection
  2295.     {
  2296.         return $this->contactSegmentations;
  2297.     }
  2298.     public function addContactSegmentation(ContactSegmentation $contactSegmentation): self
  2299.     {
  2300.         if (!$this->contactSegmentations->contains($contactSegmentation)) {
  2301.             $this->contactSegmentations[] = $contactSegmentation;
  2302.         }
  2303.         return $this;
  2304.     }
  2305.     public function removeContactSegmentation(ContactSegmentation $contactSegmentation): self
  2306.     {
  2307.         if ($this->contactSegmentations->contains($contactSegmentation)) {
  2308.             $this->contactSegmentations->removeElement($contactSegmentation);
  2309.         }
  2310.         return $this;
  2311.     }
  2312.     public function getSalesmanagoTags(): array
  2313.     {
  2314.         return array_values(
  2315.             $this->contactSegmentations
  2316.                 ->map(function (ContactSegmentation $seg) {
  2317.                     return $seg->getSalesmanagoTag();
  2318.                 })
  2319.                 ->filter(function (?string $tag) {
  2320.                     return $tag !== null && $tag !== '';
  2321.                 })
  2322.                 ->toArray()
  2323.         );
  2324.     }
  2325.     public function getSalesManagoSourceTag(): ?string
  2326.     {
  2327.         return null;
  2328.     }
  2329.     public function isEventPortal(): bool
  2330.     {
  2331.         return $this->getEmailSettings() && $this->getEmailSettings()->getName() === 'Event';
  2332.     }
  2333.     public function getOnboardingSettings(): ?OnboardingSettings
  2334.     {
  2335.         return $this->onboardingSettings;
  2336.     }
  2337.     public function setOnboardingSettings(OnboardingSettings $onboardingSettings): self
  2338.     {
  2339.         $this->onboardingSettings $onboardingSettings;
  2340.         // set the owning side of the relation if necessary
  2341.         if ($onboardingSettings->getPortalSettings() !== $this) {
  2342.             $onboardingSettings->setPortalSettings($this);
  2343.         }
  2344.         return $this;
  2345.     }
  2346.     public function isOnboardingNotificationsEnabled(): bool
  2347.     {
  2348.         return $this->getOnboardingSettings() && $this->getOnboardingSettings()->getIsActive();
  2349.     }
  2350.     public function getOnboardingPollLink(): ?string
  2351.     {
  2352.         return $this->getOnboardingSettings() ? $this->getOnboardingSettings()->getPollLink() : null;
  2353.     }
  2354.     public function getOnboardingEditorialEmail(): ?string
  2355.     {
  2356.         return $this->getOnboardingSettings() ? $this->getOnboardingSettings()->getEditorialEmail() : null;
  2357.     }
  2358. }