<?php
namespace App\Entity\Gos;
use App\Entity\ContactSegmentationableInterface;
use App\Entity\Gos\Tmpl\Template;
use App\Entity\Gos\Uniqskills\Course;
use App\Entity\Gos\Uniqskills\FmCompanySettings;
use App\Entity\Gos\Uniqskills\PromoBox;
use App\Entity\Gos\Uniqskills\Slider;
use App\Entity\Gos\VirtualCurrency\VirtualCurrency;
use App\Enum\PortalHashes;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use JMS\Serializer\Annotation as JMS;
/**
* portalSettings
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="App\Repository\PortalSettingsRepository")
* @ORM\HasLifecycleCallbacks
*/
class PortalSettings implements ContactSegmentationableInterface
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @JMS\Groups({"PortalSettings"})
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="string", length=255)
* @JMS\Groups({"PortalSettings"})
*
*
*/
private $domain;
/**
* @var string
*
* @ORM\Column(name="hash", type="string", length=255, unique=true)
* @JMS\Groups({"PortalSettings"})
*/
private $hash;
/**
* @var string
*
* @ORM\Column(type="string", length=255)
* @JMS\Groups({"PortalSettings"})
*/
private $title;
/**
* @var bool
*
* @ORM\Column(type="boolean", nullable=true)
*/
private $isActive;
/**
* @ORM\Column(type="string", length=8)
* @JMS\Groups({"PortalSettings"})
*/
private $actionNumber;
/**
* @ORM\Column(type="string", length=100)
* @JMS\Groups({"PortalSettings"})
*/
private $fromSource;
/**
* @ORM\Column(type="text", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $portalCss;
/**
* @ORM\Column(type="text", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $portalHeadScripts;
/**
* @ORM\Column(type="text", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $portalStartBodyScripts;
/**
* @ORM\Column(type="text", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $portalBodyScripts;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $robotsTxt;
/**
* @ORM\Column(type="string", length=100)
* @JMS\Groups({"PortalSettings"})
*/
private $portalNumberSB;
/**
* @var string
*
* @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
* @JMS\Groups({"PortalSettings"})
*/
private $leadingColor1;
/**
* @var string
*
* @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
* @JMS\Groups({"PortalSettings"})
*/
private $leadingColor2;
/**
* @var string
*
* @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
* @JMS\Groups({"PortalSettings"})
*/
private $leadingColor3;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $logo;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Gos\EmailSettings", inversedBy="portalSettings")
* @ORM\JoinColumn()
*/
private $emailSettings;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $contactMail;
/**
* @ORM\Column(type="text", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $registrationAdditionalContent;
/**
* @ORM\Column(type="text", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $loginAdditionalContent;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\Orders", mappedBy="portalSettings")
*/
private $orders;
/**
* @ORM\ManyToOne(targetEntity="OrderType", inversedBy="portalSettings")
* @ORM\JoinColumn(nullable=false)
*/
private $orderType;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Gos\ProductVariant", inversedBy="portalSettings")
* @ORM\JoinTable()
*/
private $productVariant;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Gos\PaymentSystem", inversedBy="portalSettings")
* @ORM\JoinColumn()
*/
private $paymentSystem;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\EmailTemplate", mappedBy="portalSettings")
*/
private $emailTemplate;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\AccessLevel", mappedBy="portalSettings")
*/
private $accessLevels;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Gos\Term", mappedBy="portalSettings")
*/
private $terms;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\PasswordFromImport", mappedBy="portalSettings")
*/
private $passwordFromImport;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\OrdersDataTemp", mappedBy="portalSettings")
*/
private $ordersDataTemp;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\StaticPage", mappedBy="portalSettings")
*/
private $staticPage;
/**
* @ORM\Column(type="datetime")
*/
private $createdAt;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $updatedAt;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\Tmpl\Template", mappedBy="portalSettings")
*/
private $templates;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\ProductAssociation", mappedBy="portalSettings")
*/
private $productAssociations;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\TouchPoint", mappedBy="portalSettings")
*/
private $touchPoint;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\TouchPointAll", mappedBy="portalSettings")
*/
private $touchPointAll;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\Category", mappedBy="portalSettings")
*/
private $categories;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\Uniqskills\Course", mappedBy="portalSettings")
*/
private $course;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isUniqskillsPortal;
/**
* @ORM\OneToOne(targetEntity="App\Entity\Gos\Uniqskills\FmCompanySettings", mappedBy="portalSettings")
*/
private $fmCompanySettings;
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="accessToPortalSettings")
*/
private $accessUser;
/**
* @ORM\OneToMany(targetEntity="User", mappedBy="registeredFrom")
*/
private $registeredUser;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\Uniqskills\PromoBox", mappedBy="portalSettings")
*/
private $promoBox;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\Uniqskills\Slider", mappedBy="portalSettings")
*/
private $slider;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Gos\SalesManagoEvent", mappedBy="portalSettings")
*/
private $salesManagoEvents;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Gos\ProductVariantPack", mappedBy="portalSettings")
*/
private $productVariantPacks;
/**
* @ORM\ManyToMany(targetEntity="UserPosition", mappedBy="portalSettings")
*/
private $positions;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isNetflixPortal;
/**
* @ORM\Column(type="boolean")
*/
private $isPresale;
/**
* @ORM\Column(type="boolean")
* @JMS\Groups({"PortalSettings"})
*/
private $isSimplePrice;
/**
* @ORM\OneToMany(targetEntity=Newsletter::class, mappedBy="portalSettings")
*/
private $newsletters;
/**
* @ORM\Column(type="string", length=255, nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $redirectAfterLogin;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $messageAfterLogin;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $messageTimeAfterLogin;
/**
* @ORM\OneToMany(targetEntity=UserFirstLoginInfo::class, mappedBy="portal")
*/
private $userFirstLoginInfos;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $deviceAuthNeeded;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $sender;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $isCmsPortal;
/**
* @ORM\ManyToOne(targetEntity=VirtualCurrency::class, inversedBy="portalSettings")
*/
private $virtualCurrency;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $multiAccessFromMaxUser;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $enableNewBasket;
/**
* @ORM\OneToMany(targetEntity=Cart::class, mappedBy="portalSettings")
*/
private $carts;
/**
* @ORM\Column(type="float", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $priceAfterFreePostageCost;
/**
* also default price type in new cart
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $priceAfterFreePostageCostType;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $gtm;
/**
* @ORM\Column(type="text", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $passwordAdditionalContent;
/**
* @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
* @JMS\Groups({"PortalSettings"})
*/
private $leadingColor4;
/**
* @ORM\Column(type="string", length=7, nullable=true, options={"default":null})
* @JMS\Groups({"PortalSettings"})
*/
private $userbarColor;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
private $isBookcaseVisibleInUserbar = false;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
private $isShelfVisibleInUserbar = false;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $userbarHtml;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
private $displayUserbar2 = false;
// TESTS A/B
/**
* @ORM\Column(type="float", nullable=true)
*/
private $testPriceAfterFreePostageCost;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $testUserbarHtml;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $lifetimeAccess;
/**
* @ORM\Column(type="string", length=20, nullable=true)
*/
private $fbPixelId;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $fbPixelAccessToken;
/**
* @ORM\Column(type="boolean", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $hideFieldPosition;
/**
* @ORM\Column(type="boolean", options={"default":0})
* @JMS\Groups({"PortalSettings"})
*/
private $redirectingToFocus = false;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
private $showGrossPrice = false;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $csMail;
/**
* @ORM\Column(type="boolean", options={"default":1})
* @JMS\Groups({"PortalSettings"})
*/
private $isPhoneRequired = true;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $webeMidNumber;
/**
* @ORM\ManyToOne(targetEntity=PaymentSystem::class)
*/
private $defaultPaymentSystem;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $useFbPixelInIframe;
/**
* @ORM\ManyToOne(targetEntity=ClientType::class)
* @ORM\JoinColumn(nullable=false)
*/
private $defaultCartClientType;
/**
* @ORM\Column(type="boolean", options={"default":0})
*/
private $isPaymentBeforeConfirmation;
/**
* @ORM\ManyToMany(targetEntity=Honorifics::class, mappedBy="portalSettings")
*/
private $honorifics;
/**
* @ORM\Column(type="boolean")
*/
private $paymentReward;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $paymentRewardContent;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $paymentRewardDeadline;
/**
* @ORM\Column(type="integer", nullable=true)
* @JMS\Groups({"PortalSettings"})
*/
private $cartTemplate;
/**
* @ORM\ManyToMany(targetEntity=User::class, mappedBy="usingPortals")
* @ORM\JoinTable(name="user_uses_portal")
*/
private $users;
/**
* @ORM\Column(type="boolean", nullable=true, options={"default": 1})
*/
private $useCacheInAccess = true;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $orderConfirmationAdditionalContent;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $additionalContentForMail;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $matomoSiteId;
/**
* @ORM\Column(type="json", nullable=true)
*/
private $positionsOrder = [];
/**
* @ORM\ManyToMany(targetEntity=ContactSegmentation::class)
*/
private $contactSegmentations;
/**
* @ORM\OneToOne(targetEntity=OnboardingSettings::class, mappedBy="portalSettings", cascade={"persist", "remove"})
*/
private $onboardingSettings;
// END OF TESTS A/B
/**
* @JMS\VirtualProperty
* @JMS\Type("boolean")
* @JMS\Groups({"PortalSettings"})
*/
public function isVirtualCurrencyEnabled(): bool
{
return (bool)$this->virtualCurrency;
}
/** @ORM\PrePersist() */
public function prePersist()
{
$this->createdAt = new \DateTime();
}
/** @ORM\PreUpdate() */
public function preUpdate()
{
foreach ($this->productVariant as $productVariant)
{
if (!$productVariant->isActive())
{
$this->removeProductVariant($productVariant);
}
}
$this->updatedAt = new \DateTime();
}
public function hasPaymentSystem(String $paymentSystemName)
{
/** @var PaymentSystem $paymentSystem */
foreach ($this->getPaymentSystem() as $paymentSystem)
{
if ($paymentSystem->getSlug() == $paymentSystemName)
{
return true;
}
}
return false;
}
public function checkIsCmsLiterkaPortal() : bool
{
// literka.pl, fizmedio.pl
if (in_array($this->getHash(), ['12b95121caa23e69201ce170e2ba62', '80d05fe8bdee4ce587d6d0e0bdb7a9']))
{
return true;
}
return false;
}
public function isEforumPortal(): bool
{
return $this->hash === $_ENV['EF_PORTAL_SETTINGS'];
}
public function __toString()
{
return (string)$this->title;
}
/**
* Constructor
*/
public function __construct()
{
$this->orders = new ArrayCollection();
$this->productVariant = new ArrayCollection();
$this->paymentSystem = new ArrayCollection();
$this->emailTemplate = new ArrayCollection();
$this->accessLevels = new ArrayCollection();
$this->terms = new ArrayCollection();
$this->passwordFromImport = new ArrayCollection();
$this->ordersDataTemp = new ArrayCollection();
$this->templates = new ArrayCollection();
$this->staticPage = new ArrayCollection();
$this->touchPoint = new ArrayCollection();
$this->touchPointAll = new ArrayCollection();
$this->productAssociations = new ArrayCollection();
$this->categories = new ArrayCollection();
$this->course = new ArrayCollection();
$this->accessUser = new ArrayCollection();
$this->registeredUser = new ArrayCollection();
$this->promoBox = new ArrayCollection();
$this->slider = new ArrayCollection();
$this->salesManagoEvents = new ArrayCollection();
$this->productVariantPacks = new ArrayCollection();
$this->positions = new ArrayCollection();
$this->newsletters = new ArrayCollection();
$this->userFirstLoginInfos = new ArrayCollection();
$this->carts = new ArrayCollection();
$this->honorifics = new ArrayCollection();
$this->users = new ArrayCollection();
$this->contactSegmentations = new ArrayCollection();
}
/**
* Add accessLevel
*
* @param AccessLevel $accessLevel
*
* @return PortalSettings
*/
public function addAccessLevel(AccessLevel $accessLevel)
{
$accessLevel->setPortalSettings($this);
$this->accessLevels[] = $accessLevel;
return $this;
}
/**
* Remove accessLevel
*
* @param AccessLevel $accessLevel
*/
public function removeAccessLevel(AccessLevel $accessLevel)
{
$accessLevel->setPortalSettings(null);
$this->accessLevels->removeElement($accessLevel);
} /**
* Get leadingColor1
*
* @return string
*/
public function getLeadingColor1()
{
return $this->checkColor($this->leadingColor1);
}
/**
* Get leadingColor2
*
* @return string
*/
public function getLeadingColor2()
{
return $this->checkColor($this->leadingColor2);
}
/**
* Get leadingColor3
*
* @return string
*/
public function getLeadingColor3()
{
return $this->checkColor($this->leadingColor3);
}
private function checkColor($color)
{
if (empty($color))
{
return null;
}
if ($color[0] != '#')
{
$color = '#' . $color;
}
if (strlen($color) < 7)
{
return null;
}
return $color;
}
/**
* Get accessLevels
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getAccessLevels()
{
return $this->accessLevels;
}
/**
*
* Getters and setters
*
*/
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set domain
*
* @param string $domain
*
* @return PortalSettings
*/
public function setDomain($domain)
{
$this->domain = $domain;
return $this;
}
/**
* Get domain
*
* @return string
*/
public function getDomain()
{
return $this->domain;
}
/**
* Set hash
*
* @param string $hash
*
* @return PortalSettings
*/
public function setHash($hash)
{
$this->hash = $hash;
return $this;
}
/**
* Get hash
*
* @return string
*/
public function getHash()
{
return $this->hash;
}
/**
* Set title
*
* @param string $title
*
* @return PortalSettings
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* Set isActive
*
* @param boolean $isActive
*
* @return PortalSettings
*/
public function setIsActive($isActive)
{
$this->isActive = $isActive;
return $this;
}
/**
* Get isActive
*
* @return boolean
*/
public function getIsActive()
{
return $this->isActive;
}
/**
* Set actionNumber
*
* @param string $actionNumber
*
* @return PortalSettings
*/
public function setActionNumber($actionNumber)
{
$this->actionNumber = $actionNumber;
return $this;
}
/**
* Get actionNumber
*
* @return string
*/
public function getActionNumber()
{
return $this->actionNumber;
}
/**
* Set fromSource
*
* @param string $fromSource
*
* @return PortalSettings
*/
public function setFromSource($fromSource)
{
$this->fromSource = $fromSource;
return $this;
}
/**
* Get fromSource
*
* @return string
*/
public function getFromSource()
{
return $this->fromSource;
}
/**
* Set portalCss
*
* @param string $portalCss
*
* @return PortalSettings
*/
public function setPortalCss($portalCss)
{
$this->portalCss = $portalCss;
return $this;
}
/**
* Get portalCss
*
* @return string
*/
public function getPortalCss()
{
return $this->portalCss;
}
/**
* Set createdAt
*
* @param \DateTime $createdAt
*
* @return PortalSettings
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
*
* @return PortalSettings
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Add order
*
* @param \App\Entity\Gos\Orders $order
*
* @return PortalSettings
*/
public function addOrder(\App\Entity\Gos\Orders $order)
{
$this->orders[] = $order;
return $this;
}
/**
* Remove order
*
* @param \App\Entity\Gos\Orders $order
*/
public function removeOrder(\App\Entity\Gos\Orders $order)
{
$this->orders->removeElement($order);
}
/**
* Get orders
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getOrders()
{
return $this->orders;
}
/**
* Set orderType
*
* @param \App\Entity\Gos\OrderType $orderType
*
* @return PortalSettings
*/
public function setOrderType(\App\Entity\Gos\OrderType $orderType = null)
{
$this->orderType = $orderType;
return $this;
}
/**
* Get orderType
*
* @return \App\Entity\Gos\OrderType
*/
public function getOrderType()
{
return $this->orderType;
}
/**
* Add productVariant
*
* @param \App\Entity\Gos\ProductVariant $productVariant
*
* @return PortalSettings
*/
public function addProductVariant(\App\Entity\Gos\ProductVariant $productVariant)
{
$this->productVariant[] = $productVariant;
return $this;
}
/**
* Remove productVariant
*
* @param \App\Entity\Gos\ProductVariant $productVariant
*/
public function removeProductVariant(\App\Entity\Gos\ProductVariant $productVariant)
{
$this->productVariant->removeElement($productVariant);
}
/**
* Get productVariant
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getProductVariant()
{
return $this->productVariant;
}
/**
* Add paymentSystem
*
* @param \App\Entity\Gos\PaymentSystem $paymentSystem
*
* @return PortalSettings
*/
public function addPaymentSystem(\App\Entity\Gos\PaymentSystem $paymentSystem)
{
$this->paymentSystem[] = $paymentSystem;
return $this;
}
/**
* Remove paymentSystem
*
* @param \App\Entity\Gos\PaymentSystem $paymentSystem
*/
public function removePaymentSystem(\App\Entity\Gos\PaymentSystem $paymentSystem)
{
$this->paymentSystem->removeElement($paymentSystem);
}
/**
* Get paymentSystem
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getPaymentSystem()
{
return $this->paymentSystem;
}
/**
* Add emailTemplate
*
* @param \App\Entity\Gos\EmailTemplate $emailTemplate
*
* @return PortalSettings
*/
public function addEmailTemplate(\App\Entity\Gos\EmailTemplate $emailTemplate)
{
$this->emailTemplate[] = $emailTemplate;
return $this;
}
/**
* Remove emailTemplate
*
* @param \App\Entity\Gos\EmailTemplate $emailTemplate
*/
public function removeEmailTemplate(\App\Entity\Gos\EmailTemplate $emailTemplate)
{
$this->emailTemplate->removeElement($emailTemplate);
}
/**
* Get emailTemplate
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getEmailTemplate()
{
return $this->emailTemplate;
}
/**
* Add term
*
* @param \App\Entity\Gos\Term $term
*
* @return PortalSettings
*/
public function addTerm(\App\Entity\Gos\Term $term)
{
$term->addPortalSetting($this);
$this->terms[] = $term;
return $this;
}
/**
* Remove term
*
* @param \App\Entity\Gos\Term $term
*/
public function removeTerm(\App\Entity\Gos\Term $term)
{
$term->removePortalSetting($this);
$this->terms->removeElement($term);
}
/**
* Get terms
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getTerms()
{
return $this->terms;
}
/**
* Add passwordFromImport
*
* @param \App\Entity\Gos\PasswordFromImport $passwordFromImport
*
* @return PortalSettings
*/
public function addPasswordFromImport(\App\Entity\Gos\PasswordFromImport $passwordFromImport)
{
$this->passwordFromImport[] = $passwordFromImport;
return $this;
}
/**
* Remove passwordFromImport
*
* @param \App\Entity\Gos\PasswordFromImport $passwordFromImport
*/
public function removePasswordFromImport(\App\Entity\Gos\PasswordFromImport $passwordFromImport)
{
$this->passwordFromImport->removeElement($passwordFromImport);
}
/**
* Get passwordFromImport
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getPasswordFromImport()
{
return $this->passwordFromImport;
}
/**
* Add ordersDataTemp
*
* @param \App\Entity\Gos\OrdersDataTemp $ordersDataTemp
*
* @return PortalSettings
*/
public function addOrdersDataTemp(\App\Entity\Gos\OrdersDataTemp $ordersDataTemp)
{
$this->ordersDataTemp[] = $ordersDataTemp;
return $this;
}
/**
* Remove ordersDataTemp
*
* @param \App\Entity\Gos\OrdersDataTemp $ordersDataTemp
*/
public function removeOrdersDataTemp(\App\Entity\Gos\OrdersDataTemp $ordersDataTemp)
{
$this->ordersDataTemp->removeElement($ordersDataTemp);
}
/**
* Get ordersDataTemp
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getOrdersDataTemp()
{
return $this->ordersDataTemp;
}
/**
* Set portalNumberSB
*
* @param string $portalNumberSB
*
* @return PortalSettings
*/
public function setPortalNumberSB($portalNumberSB)
{
$this->portalNumberSB = $portalNumberSB;
return $this;
}
/**
* Get portalNumberSB
*
* @return string
*/
public function getPortalNumberSB()
{
return $this->portalNumberSB;
}
/**
* Set leadingColor1
*
* @param string $leadingColor1
*
* @return PortalSettings
*/
public function setLeadingColor1($leadingColor1)
{
$this->leadingColor1 = $leadingColor1;
return $this;
}
/**
* Set leadingColor2
*
* @param string $leadingColor2
*
* @return PortalSettings
*/
public function setLeadingColor2($leadingColor2)
{
$this->leadingColor2 = $leadingColor2;
return $this;
}
/**
* Set leadingColor3
*
* @param string $leadingColor3
*
* @return PortalSettings
*/
public function setLeadingColor3($leadingColor3)
{
$this->leadingColor3 = $leadingColor3;
return $this;
}
/**
* Set logo
*
* @param string $logo
* @return PortalSettings
*/
public function setLogo($logo)
{
$this->logo = $logo;
return $this;
}
/**
* Get logo
*
* @return string
*/
public function getLogo()
{
return $this->logo;
}
/**
* Set emailSettings
*
* @param \App\Entity\Gos\EmailSettings|null $emailSettings
* @return PortalSettings
*/
public function setEmailSettings($emailSettings)
{
$this->emailSettings = $emailSettings;
return $this;
}
/**
* Get emailSettings
*
* @return \App\Entity\Gos\EmailSettings
*/
public function getEmailSettings()
{
return $this->emailSettings;
}
/**
* Set contactMail
*
* @param string $contactMail
* @return PortalSettings
*/
public function setContactMail($contactMail)
{
$this->contactMail = $contactMail;
return $this;
}
/**
* Get contactMail
*
* @return string
*/
public function getContactMail()
{
return $this->contactMail;
}
/**
* Set registrationAdditionalContent
*
* @param string $registrationAdditionalContent
*
* @return PortalSettings
*/
public function setRegistrationAdditionalContent($registrationAdditionalContent)
{
$this->registrationAdditionalContent = $registrationAdditionalContent;
return $this;
}
/**
* Get registrationAdditionalContent
*
* @return string
*/
public function getRegistrationAdditionalContent()
{
return $this->registrationAdditionalContent;
}
/**
* Set loginAdditionalContent
*
* @param string $loginAdditionalContent
* @return PortalSettings
*/
public function setLoginAdditionalContent($loginAdditionalContent)
{
$this->loginAdditionalContent = $loginAdditionalContent;
return $this;
}
/**
* Get loginAdditionalContent
*
* @return string
*/
public function getLoginAdditionalContent()
{
return $this->loginAdditionalContent;
}
/**
* @return Collection|StaticPage[]
*/
public function getStaticPage(): Collection
{
return $this->staticPage;
}
public function addStaticPage(StaticPage $staticPage): self
{
if (!$this->staticPage->contains($staticPage)) {
$this->staticPage[] = $staticPage;
$staticPage->setPortalSettings($this);
}
return $this;
}
public function removeStaticPage(StaticPage $staticPage): self
{
if ($this->staticPage->contains($staticPage)) {
$this->staticPage->removeElement($staticPage);
// set the owning side to null (unless already changed)
if ($staticPage->getPortalSettings() === $this) {
$staticPage->setPortalSettings(null);
}
}
return $this;
}
/**
* @return Collection|Template[]
*/
public function getTemplates(): Collection
{
return $this->templates;
}
public function addTemplate(Template $template): self
{
if (!$this->templates->contains($template))
{
$this->templates[] = $template;
$template->setPortalSettings($this);
}
return $this;
}
public function removeTemplate(Template $template): self
{
if ($this->templates->contains($template))
{
$this->templates->removeElement($template);
// set the owning side to null (unless already changed)
if ($template->getPortalSettings() === $this)
{
$template->setPortalSettings(null);
}
}
return $this;
}
/**
* @return Collection|TouchPoint[]
*/
public function getTouchPoint(): Collection
{
return $this->touchPoint;
}
public function addTouchPoint(TouchPoint $touchPoint): self
{
if (!$this->touchPoint->contains($touchPoint)) {
$this->touchPoint[] = $touchPoint;
$touchPoint->setPortalSettings($this);
}
return $this;
}
public function removeTouchPoint(TouchPoint $touchPoint): self
{
if ($this->touchPoint->contains($touchPoint)) {
$this->touchPoint->removeElement($touchPoint);
// set the owning side to null (unless already changed)
if ($touchPoint->getPortalSettings() === $this) {
$touchPoint->setPortalSettings(null);
}
}
return $this;
}
public function getPortalHeadScripts(): ?string
{
return $this->portalHeadScripts;
}
public function setPortalHeadScripts(?string $portalHeadScripts): self
{
$this->portalHeadScripts = $portalHeadScripts;
return $this;
}
public function getPortalBodyScripts(): ?string
{
return $this->portalBodyScripts;
}
public function setPortalBodyScripts(?string $portalBodyScripts): self
{
$this->portalBodyScripts = $portalBodyScripts;
return $this;
}
/**
* @return Collection|ProductAssociation[]
*/
public function getProductAssociations(): Collection
{
return $this->productAssociations;
}
public function addProductAssociation(ProductAssociation $productAssociation): self
{
if (!$this->productAssociations->contains($productAssociation)) {
$this->productAssociations[] = $productAssociation;
$productAssociation->setPortalSettings($this);
}
return $this;
}
public function removeProductAssociation(ProductAssociation $productAssociation): self
{
if ($this->productAssociations->contains($productAssociation)) {
$this->productAssociations->removeElement($productAssociation);
// set the owning side to null (unless already changed)
if ($productAssociation->getPortalSettings() === $this) {
$productAssociation->setPortalSettings(null);
}
}
return $this;
}
/**
* @return Collection|Category[]
*/
public function getCategories(): Collection
{
return $this->categories;
}
public function addCategory(Category $category): self
{
if (!$this->categories->contains($category)) {
$this->categories[] = $category;
$category->setPortalSettings($this);
}
return $this;
}
public function removeCategory(Category $category): self
{
if ($this->categories->contains($category)) {
$this->categories->removeElement($category);
// set the owning side to null (unless already changed)
if ($category->getPortalSettings() === $this) {
$category->setPortalSettings(null);
}
}
return $this;
}
/**
* @return Collection|Course[]
*/
public function getCourse(): Collection
{
return $this->course;
}
public function addCourse(Course $course): self
{
if (!$this->course->contains($course)) {
$this->course[] = $course;
$course->setPortalSettings($this);
}
return $this;
}
public function removeCourse(Course $course): self
{
if ($this->course->contains($course)) {
$this->course->removeElement($course);
// set the owning side to null (unless already changed)
if ($course->getPortalSettings() === $this) {
$course->setPortalSettings(null);
}
}
return $this;
}
public function getRobotsTxt(): ?string
{
return $this->robotsTxt;
}
public function setRobotsTxt(?string $robotsTxt): self
{
$this->robotsTxt = $robotsTxt;
return $this;
}
/**
* @return Collection|TouchPointAll[]
*/
public function getTouchPointAll(): Collection
{
return $this->touchPointAll;
}
public function addTouchPointAll(TouchPointAll $touchPointAll): self
{
if (!$this->touchPointAll->contains($touchPointAll)) {
$this->touchPointAll[] = $touchPointAll;
$touchPointAll->setPortalSettings($this);
}
return $this;
}
public function removeTouchPointAll(TouchPointAll $touchPointAll): self
{
if ($this->touchPointAll->contains($touchPointAll)) {
$this->touchPointAll->removeElement($touchPointAll);
// set the owning side to null (unless already changed)
if ($touchPointAll->getPortalSettings() === $this) {
$touchPointAll->setPortalSettings(null);
}
}
return $this;
}
public function getIsUniqskillsPortal(): ?bool
{
return $this->isUniqskillsPortal;
}
public function setIsUniqskillsPortal(?bool $isUniqskillsPortal): self
{
$this->isUniqskillsPortal = $isUniqskillsPortal;
return $this;
}
public function getFmCompanySettings(): ?FmCompanySettings
{
return $this->fmCompanySettings;
}
public function setFmCompanySettings(?FmCompanySettings $fmCompanySettings): self
{
$this->fmCompanySettings = $fmCompanySettings;
// set (or unset) the owning side of the relation if necessary
$newPortalSettings = $fmCompanySettings === null ? null : $this;
if ($newPortalSettings !== $fmCompanySettings->getPortalSettings()) {
$fmCompanySettings->setPortalSettings($newPortalSettings);
}
return $this;
}
/**
* @return Collection|User[]
*/
public function getAccessUser(): Collection
{
return $this->accessUser;
}
public function addAccessUser(User $accessUser): self
{
if (!$this->accessUser->contains($accessUser)) {
$this->accessUser[] = $accessUser;
$accessUser->addAccessToPortalSetting($this);
}
return $this;
}
public function removeAccessUser(User $accessUser): self
{
if ($this->accessUser->contains($accessUser)) {
$this->accessUser->removeElement($accessUser);
$accessUser->removeAccessToPortalSetting($this);
}
return $this;
}
/**
* @return Collection|User[]
*/
public function getRegisteredUser(): Collection
{
return $this->registeredUser;
}
public function addRegisteredUser(User $registeredUser): self
{
if (!$this->registeredUser->contains($registeredUser)) {
$this->registeredUser[] = $registeredUser;
$registeredUser->setRegisteredFrom($this);
}
return $this;
}
public function removeRegisteredUser(User $registeredUser): self
{
if ($this->registeredUser->contains($registeredUser)) {
$this->registeredUser->removeElement($registeredUser);
// set the owning side to null (unless already changed)
if ($registeredUser->getRegisteredFrom() === $this) {
$registeredUser->setRegisteredFrom(null);
}
}
return $this;
}
public function getPortalStartBodyScripts(): ?string
{
return $this->portalStartBodyScripts;
}
public function setPortalStartBodyScripts(?string $portalStartBodyScripts): self
{
$this->portalStartBodyScripts = $portalStartBodyScripts;
return $this;
}
/**
* @return Collection|PromoBox[]
*/
public function getPromoBox(): Collection
{
return $this->promoBox;
}
public function addPromoBox(PromoBox $promoBox): self
{
if (!$this->promoBox->contains($promoBox)) {
$this->promoBox[] = $promoBox;
$promoBox->setPortalSettings($this);
}
return $this;
}
public function removePromoBox(PromoBox $promoBox): self
{
if ($this->promoBox->contains($promoBox)) {
$this->promoBox->removeElement($promoBox);
// set the owning side to null (unless already changed)
if ($promoBox->getPortalSettings() === $this) {
$promoBox->setPortalSettings(null);
}
}
return $this;
}
/**
* @return Collection|Slider[]
*/
public function getSlider(): Collection
{
return $this->slider;
}
public function addSlider(Slider $slider): self
{
if (!$this->slider->contains($slider)) {
$this->slider[] = $slider;
$slider->setPortalSettings($this);
}
return $this;
}
public function removeSlider(Slider $slider): self
{
if ($this->slider->contains($slider)) {
$this->slider->removeElement($slider);
// set the owning side to null (unless already changed)
if ($slider->getPortalSettings() === $this) {
$slider->setPortalSettings(null);
}
}
return $this;
}
/**
* Add salesManagoEvents
*
* @param \App\Entity\Gos\SalesManagoEvent $salesManagoEvent
*
* @return PortalSettings
*/
public function addSalesManagoEvent(\App\Entity\Gos\SalesManagoEvent $salesManagoEvent)
{
$this->salesManagoEvents[] = $salesManagoEvent;
return $this;
}
/**
* Remove salesManagoEvents
*
* @param \App\Entity\Gos\SalesManagoEvent $salesManagoEvent
*/
public function removeSalesManagoEvent(\App\Entity\Gos\SalesManagoEvent $salesManagoEvent)
{
$this->salesManagoEvents->removeElement($salesManagoEvent);
}
/**
* Get salesManagoEvents
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getSalesManagoEvents()
{
return $this->salesManagoEvents;
}
public function getResetPasswordUrl($confirmationToken, $locale = 'pl')
{
if ($this->getHash() === $_ENV['EF_PORTAL_SETTINGS'])
{
return $this->getDomain() . '/reset/haslo/' . $confirmationToken;
}
if ($this->isNetflixPortal)
{
switch ($locale)
{
case 'en':
$routeTranslation = 'activation';
break;
case 'es':
$routeTranslation = 'activacion';
break;
default:
$routeTranslation = 'aktywacja';
}
return $this->getDomain() . '/'. $routeTranslation. '/' . $confirmationToken;
}
if ($this->getIsUniqskillsPortal())
{
return 'https://' . $this->getDomain() . '/' . $locale . '/reset/password/' . $confirmationToken;
}
if ($this->getOrderType()->getName() === 'focus')
{
return $this->getDomain() . '/ustaw-haslo/' . $confirmationToken;
}
if ($this->getHash() === PortalHashes::ZAUFANY_TERAPEUTA)
{
return $this->getDomain() . '/reset-password/' . $confirmationToken;
}
return $this->getDomain() . '/gos/resetting/password/' . $confirmationToken;
}
/**
* @return Collection|ProductVariantPack[]
*/
public function getProductVariantPacks(): Collection
{
return $this->productVariantPacks;
}
public function addProductVariantPack(ProductVariantPack $productVariantPack): self
{
if (!$this->productVariantPacks->contains($productVariantPack)) {
$this->productVariantPacks[] = $productVariantPack;
$productVariantPack->addPortalSetting($this);
}
return $this;
}
public function removeProductVariantPack(ProductVariantPack $productVariantPack): self
{
if ($this->productVariantPacks->contains($productVariantPack)) {
$this->productVariantPacks->removeElement($productVariantPack);
$productVariantPack->removePortalSetting($this);
}
return $this;
}
/**
* @return Collection|UserPosition[]
*/
public function getPositions(): Collection
{
return $this->positions;
}
public function addPosition(UserPosition $position): self
{
if (!$this->positions->contains($position)) {
$this->positions[] = $position;
$position->addPortalSetting($this);
}
return $this;
}
public function removePosition(UserPosition $position): self
{
if ($this->positions->contains($position)) {
$this->positions->removeElement($position);
$position->removePortalSetting($this);
}
return $this;
}
public function hasPositions(): bool
{
return !$this->getPositions()->isEmpty();
}
public function getSortedPositions(): ArrayCollection
{
$positions = $this->getPositions()->toArray();
$positionsOrder = $this->getPositionsOrder();
if ($positionsOrder !== null) {
usort($positions, static function($a, $b) use ($positionsOrder) {
$posA = array_search($a->getId(), $positionsOrder, false);
$posB = array_search($b->getId(), $positionsOrder, false);
return $posA - $posB;
});
}
return new ArrayCollection($positions);
}
public function getIsNetflixPortal(): ?bool
{
return $this->isNetflixPortal;
}
public function setIsNetflixPortal(?bool $isNetflixPortal): self
{
$this->isNetflixPortal = $isNetflixPortal;
return $this;
}
public function getIsPresale(): ?bool
{
return $this->isPresale;
}
public function setIsPresale(bool $isPresale): self
{
$this->isPresale = $isPresale;
return $this;
}
public function getIsSimplePrice(): ?bool
{
return $this->isSimplePrice;
}
public function setIsSimplePrice(bool $isSimplePrice): self
{
$this->isSimplePrice = $isSimplePrice;
return $this;
}
/**
* @return Collection|Newsletter[]
*/
public function getNewsletters(): Collection
{
return $this->newsletters;
}
public function addNewsletter(Newsletter $newsletter): self
{
if (!$this->newsletters->contains($newsletter)) {
$this->newsletters[] = $newsletter;
$newsletter->setPortalSettings($this);
}
return $this;
}
public function removeNewsletter(Newsletter $newsletter): self
{
if ($this->newsletters->contains($newsletter)) {
$this->newsletters->removeElement($newsletter);
// set the owning side to null (unless already changed)
if ($newsletter->getPortalSettings() === $this) {
$newsletter->setPortalSettings(null);
}
}
return $this;
}
public function getRedirectAfterLogin(): ?string
{
return $this->redirectAfterLogin;
}
public function setRedirectAfterLogin(?string $redirectAfterLogin): self
{
$this->redirectAfterLogin = $redirectAfterLogin;
return $this;
}
public function getMessageAfterLogin(): ?string
{
return $this->messageAfterLogin;
}
public function setMessageAfterLogin(?string $messageAfterLogin): self
{
$this->messageAfterLogin = $messageAfterLogin;
return $this;
}
public function getMessageTimeAfterLogin(): ?int
{
return $this->messageTimeAfterLogin;
}
public function setMessageTimeAfterLogin(?int $messageTimeAfterLogin): self
{
$this->messageTimeAfterLogin = $messageTimeAfterLogin;
return $this;
}
/**
* @return Collection|UserFirstLoginInfo[]
*/
public function getUserFirstLoginInfos(): Collection
{
return $this->userFirstLoginInfos;
}
public function addUserFirstLoginInfo(UserFirstLoginInfo $userFirstLoginInfo): self
{
if (!$this->userFirstLoginInfos->contains($userFirstLoginInfo)) {
$this->userFirstLoginInfos[] = $userFirstLoginInfo;
$userFirstLoginInfo->setPortal($this);
}
return $this;
}
public function removeUserFirstLoginInfo(UserFirstLoginInfo $userFirstLoginInfo): self
{
if ($this->userFirstLoginInfos->contains($userFirstLoginInfo)) {
$this->userFirstLoginInfos->removeElement($userFirstLoginInfo);
// set the owning side to null (unless already changed)
if ($userFirstLoginInfo->getPortal() === $this) {
$userFirstLoginInfo->setPortal(null);
}
}
return $this;
}
public function getDeviceAuthNeeded(): ?bool
{
return $this->deviceAuthNeeded;
}
public function setDeviceAuthNeeded(?bool $deviceAuthNeeded): self
{
$this->deviceAuthNeeded = $deviceAuthNeeded;
return $this;
}
public function getSender(): ?string
{
return $this->sender;
}
public function setSender(?string $sender): self
{
$this->sender = $sender;
return $this;
}
public function getIsCmsPortal(): ?bool
{
return $this->isCmsPortal;
}
public function setIsCmsPortal(?bool $isCmsPortal): self
{
$this->isCmsPortal = $isCmsPortal;
return $this;
}
public function getVirtualCurrency(): ?VirtualCurrency
{
return $this->virtualCurrency;
}
public function setVirtualCurrency(?VirtualCurrency $virtualCurrency): self
{
$this->virtualCurrency = $virtualCurrency;
return $this;
}
public function getMultiAccessFromMaxUser(): ?bool
{
return $this->multiAccessFromMaxUser;
}
public function setMultiAccessFromMaxUser(?bool $multiAccessFromMaxUser): self
{
$this->multiAccessFromMaxUser = $multiAccessFromMaxUser;
return $this;
}
public function getEnableNewBasket(): ?bool
{
return $this->enableNewBasket;
}
public function setEnableNewBasket(?bool $enableNewBasket): self
{
$this->enableNewBasket = $enableNewBasket;
return $this;
}
/**
* @return Collection|Cart[]
*/
public function getCarts(): Collection
{
return $this->carts;
}
public function addCart(Cart $cart): self
{
if (!$this->carts->contains($cart)) {
$this->carts[] = $cart;
$cart->setPortalSettings($this);
}
return $this;
}
public function removeCart(Cart $cart): self
{
if ($this->carts->contains($cart)) {
$this->carts->removeElement($cart);
// set the owning side to null (unless already changed)
if ($cart->getPortalSettings() === $this) {
$cart->setPortalSettings(null);
}
}
return $this;
}
public function getPriceAfterFreePostageCost(): ?float
{
return $this->priceAfterFreePostageCost;
}
public function setPriceAfterFreePostageCost(?float $priceAfterFreePostageCost): self
{
$this->priceAfterFreePostageCost = $priceAfterFreePostageCost;
return $this;
}
public function getPriceAfterFreePostageCostType(): ?string
{
return $this->priceAfterFreePostageCostType;
}
public function setPriceAfterFreePostageCostType(?string $priceAfterFreePostageCostType): self
{
$this->priceAfterFreePostageCostType = $priceAfterFreePostageCostType;
return $this;
}
public function showGrossPriceInOrderConfirmation(): bool
{
return $this->showGrossPrice;
}
public function getGtm(): ?string
{
return $this->gtm;
}
public function setGtm(?string $gtm): self
{
$this->gtm = $gtm;
return $this;
}
public function getPasswordAdditionalContent(): ?string
{
return $this->passwordAdditionalContent;
}
public function setPasswordAdditionalContent(?string $passwordAdditionalContent): self
{
$this->passwordAdditionalContent = $passwordAdditionalContent;
return $this;
}
public function getLeadingColor4(): ?string
{
return $this->leadingColor4;
}
public function setLeadingColor4(?string $leadingColor4): self
{
$this->leadingColor4 = $leadingColor4;
return $this;
}
public function getUserbarColor(): ?string
{
return $this->checkColor($this->userbarColor);
}
public function setUserbarColor(?string $userbarColor): self
{
$this->userbarColor = $userbarColor;
return $this;
}
public function getIsBookcaseVisibleInUserbar(): ?bool
{
return $this->isBookcaseVisibleInUserbar;
}
public function setIsBookcaseVisibleInUserbar(bool $isBookcaseVisibleInUserbar): self
{
$this->isBookcaseVisibleInUserbar = $isBookcaseVisibleInUserbar;
return $this;
}
public function getIsShelfVisibleInUserbar(): ?bool
{
return $this->isShelfVisibleInUserbar;
}
public function setIsShelfVisibleInUserbar(bool $isShelfVisibleInUserbar): self
{
$this->isShelfVisibleInUserbar = $isShelfVisibleInUserbar;
return $this;
}
public function getUserbarHtml(): ?string
{
return $this->userbarHtml;
}
public function setUserbarHtml(?string $userbarHtml): self
{
$this->userbarHtml = $userbarHtml;
return $this;
}
public function getDisplayUserbar2(): ?bool
{
return $this->displayUserbar2;
}
public function setDisplayUserbar2(bool $displayUserbar2): self
{
$this->displayUserbar2 = $displayUserbar2;
return $this;
}
// TESTS A/B
public function getTestPriceAfterFreePostageCost(): ?float
{
return $this->testPriceAfterFreePostageCost;
}
public function setTestPriceAfterFreePostageCost(?float $testPriceAfterFreePostageCost): self
{
$this->testPriceAfterFreePostageCost = $testPriceAfterFreePostageCost;
return $this;
}
public function getTestUserbarHtml(): ?string
{
return $this->testUserbarHtml;
}
public function setTestUserbarHtml(?string $testUserbarHtml): self
{
$this->testUserbarHtml = $testUserbarHtml;
return $this;
}
// END OF TESTS A/B
public function getLifetimeAccess(): ?bool
{
return $this->lifetimeAccess;
}
public function setLifetimeAccess(?bool $lifetimeAccess): self
{
$this->lifetimeAccess = $lifetimeAccess;
return $this;
}
public function getFbPixelId(): ?string
{
return $this->fbPixelId;
}
public function setFbPixelId(?string $fbPixelId): self
{
$this->fbPixelId = $fbPixelId;
return $this;
}
public function getFbPixelAccessToken(): ?string
{
return $this->fbPixelAccessToken;
}
public function setFbPixelAccessToken(?string $fbPixelAccessToken): self
{
$this->fbPixelAccessToken = $fbPixelAccessToken;
return $this;
}
public function getHideFieldPosition(): ?bool
{
return $this->hideFieldPosition;
}
public function setHideFieldPosition(?bool $hideFieldPosition): self
{
$this->hideFieldPosition = $hideFieldPosition;
return $this;
}
public function isRedirectingToFocus(): ?bool
{
return $this->redirectingToFocus;
}
public function setRedirectingToFocus(bool $redirectingToFocus): self
{
$this->redirectingToFocus = $redirectingToFocus;
return $this;
}
public function getShowGrossPrice(): ?bool
{
return $this->showGrossPrice;
}
public function setShowGrossPrice(bool $showGrossPrice): self
{
$this->showGrossPrice = $showGrossPrice;
return $this;
}
/**
* Set csMail
*
* @param string $csMail
* @return PortalSettings
*/
public function setCsMail(string $csMail): self
{
$this->csMail = $csMail;
return $this;
}
/**
* Get csMail
*
* @return string|null
*/
public function getCsMail(): ?string
{
return $this->csMail;
}
public function getIsPhoneRequired(): bool
{
return $this->isPhoneRequired;
}
public function setIsPhoneRequired(bool $isPhoneRequired): self
{
$this->isPhoneRequired = $isPhoneRequired;
return $this;
}
public function getWebeMidNumber(): ?int
{
return $this->webeMidNumber;
}
public function setWebeMidNumber(?int $webeMidNumber): self
{
$this->webeMidNumber = $webeMidNumber;
return $this;
}
public function getDefaultPaymentSystem(): ?PaymentSystem
{
return $this->defaultPaymentSystem;
}
public function setDefaultPaymentSystem(?PaymentSystem $defaultPaymentSystem): self
{
$this->defaultPaymentSystem = $defaultPaymentSystem;
return $this;
}
public function getUseFbPixelInIframe(): ?bool
{
return $this->useFbPixelInIframe;
}
public function setUseFbPixelInIframe(?bool $useFbPixelInIframe): self
{
$this->useFbPixelInIframe = $useFbPixelInIframe;
return $this;
}
public function getDefaultCartClientType(): ?ClientType
{
return $this->defaultCartClientType;
}
public function setDefaultCartClientType(?ClientType $defaultCartClientType): self
{
$this->defaultCartClientType = $defaultCartClientType;
return $this;
}
/**
* @JMS\VirtualProperty("defaultCartClientTypeSlug")
* @JMS\Type("string")
* @JMS\Groups({"PortalSettings"})
*/
public function getDefaultCartClientTypeSlug(): string
{
return (string)$this->defaultCartClientType->getSlug();
}
public function getIsPaymentBeforeConfirmation(): ?bool
{
return $this->isPaymentBeforeConfirmation;
}
public function setIsPaymentBeforeConfirmation(bool $isPaymentBeforeConfirmation): self
{
$this->isPaymentBeforeConfirmation = $isPaymentBeforeConfirmation;
return $this;
}
/**
* @return Collection|Honorifics[]
*/
public function getHonorifics(): Collection
{
return $this->honorifics;
}
public function addHonorific(Honorifics $honorific): self
{
if (!$this->honorifics->contains($honorific)) {
$this->honorifics[] = $honorific;
$honorific->addPortalSetting($this);
}
return $this;
}
public function removeHonorific(Honorifics $honorific): self
{
if ($this->honorifics->contains($honorific)) {
$this->honorifics->removeElement($honorific);
$honorific->removePortalSetting($this);
}
return $this;
}
public function getPaymentReward(): ?bool
{
return $this->paymentReward;
}
public function setPaymentReward(bool $paymentReward): self
{
$this->paymentReward = $paymentReward;
return $this;
}
public function getPaymentRewardContent(): ?string
{
return $this->paymentRewardContent;
}
public function setPaymentRewardContent(?string $paymentRewardContent): self
{
$this->paymentRewardContent = $paymentRewardContent;
return $this;
}
public function getPaymentRewardDeadline(): ?int
{
return $this->paymentRewardDeadline;
}
public function setPaymentRewardDeadline(?int $paymentRewardDeadline): self
{
$this->paymentRewardDeadline = $paymentRewardDeadline;
return $this;
}
public function getCartTemplate(): ?int
{
return $this->cartTemplate;
}
public function setCartTemplate(?int $cartTemplate): self
{
$this->cartTemplate = $cartTemplate;
return $this;
}
/**
* @return Collection|User[]
*/
public function getUsers(): Collection
{
return $this->users;
}
public function addUser(User $user): self
{
if (!$this->users->contains($user)) {
$this->users[] = $user;
$user->addUsingPortal($this);
}
return $this;
}
public function removeUser(User $user): self
{
if ($this->users->contains($user)) {
$this->users->removeElement($user);
$user->removeUsingPortal($this);
}
return $this;
}
public function getUseCacheInAccess(): ?bool
{
return $this->useCacheInAccess;
}
public function setUseCacheInAccess(?bool $useCacheInAccess): self
{
$this->useCacheInAccess = $useCacheInAccess;
return $this;
}
public function getOrderConfirmationAdditionalContent(): ?string
{
return $this->orderConfirmationAdditionalContent;
}
public function setOrderConfirmationAdditionalContent(?string $orderConfirmationAdditionalContent): self
{
$this->orderConfirmationAdditionalContent = $orderConfirmationAdditionalContent;
return $this;
}
public function getAdditionalContentForMail(): ?string
{
return $this->additionalContentForMail;
}
public function setAdditionalContentForMail(?string $additionalContentForMail): self
{
$this->additionalContentForMail = $additionalContentForMail;
return $this;
}
public function getMatomoSiteId(): ?string
{
return $this->matomoSiteId;
}
public function setMatomoSiteId(?string $matomoSiteId): self
{
$this->matomoSiteId = $matomoSiteId;
return $this;
}
public function getPositionsOrder(): ?array
{
return $this->positionsOrder;
}
public function setPositionsOrder(?array $positionsOrder): self
{
$this->positionsOrder = $positionsOrder;
return $this;
}
/**
* @return Collection|ContactSegmentation[]
*/
public function getContactSegmentations(): Collection
{
return $this->contactSegmentations;
}
public function addContactSegmentation(ContactSegmentation $contactSegmentation): self
{
if (!$this->contactSegmentations->contains($contactSegmentation)) {
$this->contactSegmentations[] = $contactSegmentation;
}
return $this;
}
public function removeContactSegmentation(ContactSegmentation $contactSegmentation): self
{
if ($this->contactSegmentations->contains($contactSegmentation)) {
$this->contactSegmentations->removeElement($contactSegmentation);
}
return $this;
}
public function getSalesmanagoTags(): array
{
return array_values(
$this->contactSegmentations
->map(function (ContactSegmentation $seg) {
return $seg->getSalesmanagoTag();
})
->filter(function (?string $tag) {
return $tag !== null && $tag !== '';
})
->toArray()
);
}
public function getSalesManagoSourceTag(): ?string
{
return null;
}
public function isEventPortal(): bool
{
return $this->getEmailSettings() && $this->getEmailSettings()->getName() === 'Event';
}
public function getOnboardingSettings(): ?OnboardingSettings
{
return $this->onboardingSettings;
}
public function setOnboardingSettings(OnboardingSettings $onboardingSettings): self
{
$this->onboardingSettings = $onboardingSettings;
// set the owning side of the relation if necessary
if ($onboardingSettings->getPortalSettings() !== $this) {
$onboardingSettings->setPortalSettings($this);
}
return $this;
}
public function isOnboardingNotificationsEnabled(): bool
{
return $this->getOnboardingSettings() && $this->getOnboardingSettings()->getIsActive();
}
public function getOnboardingPollLink(): ?string
{
return $this->getOnboardingSettings() ? $this->getOnboardingSettings()->getPollLink() : null;
}
public function getOnboardingEditorialEmail(): ?string
{
return $this->getOnboardingSettings() ? $this->getOnboardingSettings()->getEditorialEmail() : null;
}
}