<?php
namespace App\Entity;
use Knp\DoctrineBehaviors\Contract\Entity\SoftDeletableInterface;
use Knp\DoctrineBehaviors\Model\SoftDeletable\SoftDeletableTrait;
use Knp\DoctrineBehaviors\Model\Blameable\BlameableTrait;
use Knp\DoctrineBehaviors\Contract\Entity\BlameableInterface;
use Knp\DoctrineBehaviors\Model\Timestampable\TimestampableTrait;
use Knp\DoctrineBehaviors\Contract\Entity\TimestampableInterface;
use Knp\DoctrineBehaviors\Model\Translatable\TranslatableTrait;
use Knp\DoctrineBehaviors\Contract\Entity\TranslatableInterface;
use Doctrine\ORM\Mapping as ORM;
/**
* @Doctrine\ORM\Mapping\Entity
* @Doctrine\ORM\Mapping\Table(name="language")
*/
class Language implements TranslatableInterface, BlameableInterface, TimestampableInterface, SoftDeletableInterface {
use BlameableTrait;
use TimestampableTrait;
use TranslatableTrait;
use SoftDeletableTrait;
/**
* @Doctrine\ORM\Mapping\Id
* @Doctrine\ORM\Mapping\Column(type="integer")
* @Doctrine\ORM\Mapping\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @Doctrine\ORM\Mapping\Column(type="string", length=5)
*/
protected $locale;
/**
* @Doctrine\ORM\Mapping\Column(type="text")
*/
protected $domain;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", options={"default"=0})
*/
protected $isActive;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", options={"default"=0})
*/
protected $isDefault;
/**
* @Doctrine\ORM\Mapping\ManyToOne(targetEntity="App\Entity\Currency")
* @Doctrine\ORM\Mapping\JoinColumn(name="currency_id", referencedColumnName="id")
*/
protected $currency;
/**
* @var string
*
* @ORM\Column(name="helpline", type="string", length=255, nullable=true)
*/
private $helpline;
/**
* @var string
*
* @ORM\Column(name="rounding_precision", type="string", length=255, nullable=true, options={"default"=2})
*/
private $roundingPrecision = 2;
/**
* @var string
*
* @ORM\Column(name="phone", type="string", length=255, nullable=true)
*/
private $phone;
/**
* @var string
*
* @ORM\Column(name="address", type="string", length=255, nullable=true)
*/
private $address;
/**
* @var string
*
* @ORM\Column(name="shop_name", type="string", length=255, nullable=true)
*/
private $shopName;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255, nullable=true)
*/
private $email;
/**
* @var string
*
* @ORM\Column(name="facebook", type="string", length=255, nullable=true)
*/
private $facebook;
/**
* @var string
*
* @ORM\Column(name="instagram", type="string", length=255, nullable=true)
*/
private $instagram;
/**
* @var string
*
* @ORM\Column(name="youtube", type="string", length=255, nullable=true)
*/
private $youtube;
/**
* @var string
*
* @ORM\Column(name="store_url", type="string", length=255, nullable=true)
*/
private $storeUrl;
/**
* @Doctrine\ORM\Mapping\Column(name="password_protected", type="boolean", options={"default"=0}, nullable=true)
*/
protected $passwordProtected;
/**
* @var string
*
* @ORM\Column(name="store_password", type="string", length=255, nullable=true)
*/
private $password;
/**
* @Doctrine\ORM\Mapping\Column(type="string", name="fb_pixel", length=255, nullable=true)
*/
protected $fbPixel;
/**
* @Doctrine\ORM\Mapping\Column(type="text", name="fb_token", nullable=true)
*/
protected $fbToken;
/**
* @Doctrine\ORM\Mapping\Column(type="boolean", options={"default"=0}, name="is_comments")
*/
protected $isComments;
/**
* @Doctrine\ORM\Mapping\Column(type="integer", options={"default"=0}, name="send_comment_request_days")
*/
protected $sendCommentRequestDays;
/**
* @return string
*/
public function getStoreEmail()
{
return $this->storeEmail;
}
/**
* @param string $storeEmail
*/
public function setStoreEmail(string $storeEmail)
{
$this->storeEmail = $storeEmail;
}
/**
* @return string
*/
public function getGetResponseCampaignId()
{
return $this->getResponseCampaignId;
}
/**
* @param string $getResponseCampaignId
*/
public function setGetResponseCampaignId(string $getResponseCampaignId)
{
$this->getResponseCampaignId = $getResponseCampaignId;
}
/**
* @var string
*
* @ORM\Column(name="store_email", type="string", length=255, nullable=true)
*/
private $storeEmail;
/**
* @return string
*/
public function getAdminStoreEmail()
{
return $this->adminStoreEmail;
}
/**
* @param string $adminStoreEmail
*/
public function setAdminStoreEmail(string $adminStoreEmail)
{
$this->adminStoreEmail = $adminStoreEmail;
}
/**
* @var string
*
* @ORM\Column(name="admin_store_email", type="string", length=255, nullable=true)
*/
private $adminStoreEmail;
/**
* @var string
*
* @ORM\Column(name="complaint_email", type="string", length=255, nullable=true)
*/
private $complaintEmail;
/**
* @var string
*
* @ORM\Column(name="product_return_email", type="string", length=255, nullable=true)
*/
private $productReturnEmail;
/**
* @var string
*
* @ORM\Column(name="getresponse_campaign_id", type="string", length=255, nullable=true)
*/
private $getResponseCampaignId;
/**
* @return string
*/
public function getInstagram()
{
return $this->instagram;
}
/**
* @param string $instagram
*/
public function setInstagram(string $instagram): void
{
$this->instagram = $instagram;
}
/**
* @return string
*/
public function getStoreUrl()
{
return $this->storeUrl;
}
/**
* @param string $storeUrl
*/
public function setStoreUrl(string $storeUrl): void
{
$this->storeUrl = $storeUrl;
}
public function __construct()
{
}
public function getId()
{
return $this->id;
}
/**
* Set locale
*
* @param string $locale
* @return Language
*/
public function setLocale($locale)
{
$this->locale = $locale;
return $this;
}
/**
* Get locale
*
* @return string
*/
public function getLocale()
{
return $this->locale;
}
public function getLocaleShort()
{
return substr($this->getLocale(), 0, 2);
}
/**
* Set isActive
*
* @param boolean $isActive
* @return Language
*/
public function setIsActive($isActive)
{
$this->isActive = $isActive;
return $this;
}
/**
* Get isActive
*
* @return boolean
*/
public function getIsActive()
{
return $this->isActive;
}
/**
* Set isDefault
*
* @param boolean $isDefault
* @return Language
*/
public function setIsDefault($isDefault)
{
$this->isDefault = $isDefault;
return $this;
}
/**
* Get isDefault
*
* @return boolean
*/
public function getIsDefault()
{
return $this->isDefault;
}
/**
* Obsługa tłumaczeń
* @param $method
* @param $arguments
* @return mixed
*/
public function __call($method, $arguments)
{
return $this->proxyCurrentLocaleTranslation($method, $arguments);
}
public function getName(){
return $this->translate()->getName();
}
/**
* Set currency
*
* @param \App\Entity\Currency $currency
*
* @return Language
*/
public function setCurrency(\App\Entity\Currency $currency = null)
{
$this->currency = $currency;
return $this;
}
/**
* Get currency
*
* @return \App\Entity\Currency
*/
public function getCurrency()
{
return $this->currency;
}
public function getDomain(): ?string
{
return $this->domain;
}
public function setDomain(string $domain): self
{
$this->domain = $domain;
return $this;
}
public function getHelpline(): ?string
{
return $this->helpline;
}
public function setHelpline(?string $helpline): self
{
$this->helpline = $helpline;
return $this;
}
public function getPhone(): ?string
{
return $this->phone;
}
public function setPhone(?string $phone): self
{
$this->phone = $phone;
return $this;
}
public function getAddress(): ?string
{
return $this->address;
}
public function setAddress(?string $address): self
{
$this->address = $address;
return $this;
}
public function getShopName(): ?string
{
return $this->shopName;
}
public function setShopName(?string $shopName): self
{
$this->shopName = $shopName;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(?string $email): self
{
$this->email = $email;
return $this;
}
public function getFacebook(): ?string
{
return $this->facebook;
}
public function setFacebook(?string $facebook): self
{
$this->facebook = $facebook;
return $this;
}
public function getYoutube(): ?string
{
return $this->youtube;
}
public function setYoutube(?string $youtube): self
{
$this->youtube = $youtube;
return $this;
}
/**
* @return string
*/
public function getRoundingPrecision()
{
return $this->roundingPrecision;
}
/**
* @param string $roundingPrecision
*/
public function setRoundingPrecision($roundingPrecision)
{
$this->roundingPrecision = $roundingPrecision;
}
public function getPrecision() {
$precision = $this->getRoundingPrecision();
return $precision;
}
/**
* @return mixed
*/
public function getPasswordProtected()
{
return $this->passwordProtected;
}
/**
* @param mixed $passwordProtected
*/
public function setPasswordProtected($passwordProtected)
{
$this->passwordProtected = $passwordProtected;
}
/**
* @return string
*/
public function getPassword()
{
return $this->password;
}
/**
* @param string $password
*/
public function setPassword($password)
{
$this->password = $password;
}
public function getGa4Code() {
if ($this->getId() == 1) {
return 'PLN';
}
if ($this->getId() == 2) {
return 'CZK';
}
if ($this->getId() == 3) {
return 'EUR';
}
if ($this->getId() == 4) {
return 'RON';
}
return 'PLN';
}
/**
* @return string
*/
public function getComplaintEmail()
{
return $this->complaintEmail;
}
/**
* @param string $complaintEmail
*/
public function setComplaintEmail($complaintEmail): void
{
$this->complaintEmail = $complaintEmail;
}
/**
* @return string
*/
public function getProductReturnEmail()
{
return $this->productReturnEmail;
}
/**
* @param string $productReturnEmail
*/
public function setProductReturnEmail($productReturnEmail)
{
$this->productReturnEmail = $productReturnEmail;
}
/**
* @return mixed
*/
public function getFbPixel()
{
return $this->fbPixel;
}
/**
* @param mixed $fbPixel
*/
public function setFbPixel($fbPixel): void
{
$this->fbPixel = $fbPixel;
}
/**
* @return mixed
*/
public function getFbToken()
{
return $this->fbToken;
}
/**
* @param mixed $fbToken
*/
public function setFbToken($fbToken): void
{
$this->fbToken = $fbToken;
}
/**
* @return mixed
*/
public function getIsComments()
{
return $this->isComments;
}
/**
* @param mixed $isComments
*/
public function setIsComments($isComments): void
{
$this->isComments = $isComments;
}
/**
* @return mixed
*/
public function getSendCommentRequestDays()
{
return $this->sendCommentRequestDays;
}
/**
* @param mixed $sendCommentRequestDays
*/
public function setSendCommentRequestDays($sendCommentRequestDays): void
{
$this->sendCommentRequestDays = $sendCommentRequestDays;
}
}