<?php
namespace App\Entity\Otpusk;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\Common\Collections\Criteria;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Yaml\Yaml;
use App\Entity\Otpusk\Geo\BaseObject;
/**
* @ORM\Entity(repositoryClass="App\Repository\Otpusk\CountryRepository")
*
* @ORM\Table(
* name="tCountries",
* options={"collate"="utf8"},
* uniqueConstraints={@ORM\UniqueConstraint(name="unique", columns={"fNameTr", "fContinent"}), @ORM\UniqueConstraint(name="fCode", columns={"fCode"})}, indexes={@ORM\Index(name="fCapitalID", columns={"fCapitalID"}), @ORM\Index(name="fCountry", columns={"fCountry", "fNameTr"}), @ORM\Index(name="fPriority", columns={"fPriority"}), @ORM\Index(name="fTransport", columns={"fTransport"}), @ORM\Index(name="fIATA", columns={"fIATA"}), @ORM\Index(name="fNameTr", columns={"fNameTr"})}
* )
*/
class Country extends BaseObject
{
private $imageSource = 'https://www.otpusk.com/foto/2/800x600/';
/**
* @ORM\OneToMany(targetEntity="App\Entity\Otpusk\RubricCountry", mappedBy="country", cascade={"persist"}, orphanRemoval=true)
*/
private $rubrics;
/**
* @var Collection
* @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CountriesSimilar", mappedBy="countrySimilar", cascade={"persist"}, orphanRemoval=true)
*/
private $similarCountries;
/**
* @var Collection
* @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CountriesSimilar", mappedBy="countrySimilarIn", cascade={"persist"}, orphanRemoval=true)
*/
private $similarCountriesIn;
/**
* @var Collection
* @ORM\OneToMany(targetEntity="App\Entity\Otpusk\City", mappedBy="country")
*/
private $cities;
/**
* @var string
*
* @ORM\Column(name="fCode", type="string", length=2, options={"default":""})
*/
private $fCode;
/**
* @var string
*
* @ORM\Column(name="fIATA", type="string", length=3)
*/
private $fIATA;
/**
* @var string
* @ORM\Column(name="fCountry", type="string", length=64)
*
*/
private $fCountry;
/**
* @var string
*
* @ORM\Column(name="fNameAlt", type="text", length=65535, nullable=false, options={"comment"="Альтернативное название"})
*/
private $fNameAlt = '';
/**
* @var string
*
* @ORM\Column(name="fNameRd", type="string", length=64)
*/
private $fNameRd;
/**
* @var string
*
* @ORM\Column(name="fNameVn", type="string", length=64)
*/
private $fNameVn;
/**
* @var string
*
* @ORM\Column(name="fNamePr", type="string", length=64)
*/
private $fNamePr;
/**
* @var string
*
* @ORM\Column(name="fNameDt", type="string", length=64)
*/
private $fNameDt;
/**
* @var string
*
* @ORM\Column(name="fNameUkr", type="string", length=64)
*/
private $fNameUkr;
/**
* @var string
*
* @ORM\Column(name="fNameUkrRd", type="string", length=64)
*/
private $fNameUkrRd;
/**
* @var string
*
* @ORM\Column(name="fNameUkrVn", type="string", length=64)
*/
private $fNameUkrVn;
/**
* @var string
*
* @ORM\Column(name="fNameUkrPr", type="string", length=64)
*/
private $fNameUkrPr;
/**
* @var string
*
* @ORM\Column(name="fNameUkrDt", type="string", length=64)
*/
private $fNameUkrDt;
/**
* @var string
*
* @ORM\Column(name="fNameTr", type="string", length=64)
*/
private $fNameTr;
/**
* @var integer
*
* @ORM\Column(name="fCapitalID", type="integer", length=6, options={"unsigned"=true, "default":0})
*/
private $fCapitalID;
/**
* @var integer
*
* @ORM\Column(name="fContinent", type="smallint", length=2, options={"unsigned"=true})
*/
private $fContinent;
/**
* @var string
*
* @ORM\Column(name="fTour", type="tCountriesFTour", options={"default":NULL}, nullable=true)
*/
private $fTour;
/**
* @var string
*
* @ORM\Column(name="fTransport", type="tCountriesFTransport", options={"default":"air"})
*/
private $fTransport;
/**
* @var string
*
* @ORM\Column(name="fCurrency", type="tCountriesFCurrency", type="string", options={"default":"usd"}, nullable=false)
*/
private $fCurrency;
/**
* @var string
*
* @ORM\Column(name="fVisa", type="tCountriesFVisa", type="string", options={"default":NULL}, nullable=true)
*/
private $fVisa;
/**
* @var string
*
* @ORM\Column(name="fOnRequest", type="tCountriesFOnRequest", options={"default":"no"}, nullable=false)
*/
private $fOnRequest;
/**
* @var integer
*
* @ORM\Column(name="fPriority", type="smallint", length=1)
*/
private $fPriority;
/**
* @var float
*
* @ORM\Column(name="fSouthWest", type="decimal", precision=8, scale=5, options={"default":NULL}, nullable=true)
*/
private $fSouthWest;
/**
* @var float
*
* @ORM\Column(name="fNorthEast", type="decimal", precision=8, scale=5, options={"default":NULL}, nullable=true)
*/
private $fNorthEast;
/**
* @var integer
*
* @ORM\Column(name="fZoom", type="smallint", length=3, options={"default":NULL}, nullable=true)
*/
private $fZoom;
/**
* @var string
*
* @ORM\Column(name="fService", type="text", length=16777215, nullable=true, options={"default":NULL,"comment"="подключенные услуги"})
*/
private $fService;
/**
* @ORM\Column(name="pageWeight", type="integer", nullable=true, options={"comment"="Приоритет для посадочных страниц"})
*/
private $weight;
/**
*/
private $seoData;
/**
*/
private $guideSeoData;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CountryPopular", mappedBy="country")
*/
private $populars;
/**
* @var int|null
*
* @ORM\Column(name="searchWeight", type="smallint", nullable=true, options={"unsigned"=true,"comment"="Вес для поиска"})
*/
private $searchWeight;
/**
* @var string|null
*
* @ORM\Column(name="fServiceTab", type="text", length=16777215, nullable=true, options={"comment"="Закладки на картинке отеля"})
*/
private $fservicetab;
/**
* @var string|null
*
* @ORM\Column(name="fServiceIcon", type="text", length=16777215, nullable=true, options={"comment"="Иконки отеля"})
*/
private $fserviceicon;
/**
* @var string|null
*
* @ORM\Column(type="decimal", precision=5, scale=2, nullable=true, options={"unsigned"=true,"comment"="Ценовой сегмент"})
*/
private $priceSegment;
/**
* @var int|null
*
* @ORM\Column(type="string", length=6, nullable=false, options={"comment"="Время полета в минутах"})
*/
private $flightTime;
/**
* @ORM\Column(type="string", length=6, nullable=false, options={"comment"="Местное время, GMT"})
*/
private $timeLocal;
/**
* @ORM\Column(type="string", length=28, nullable=true, options={"comment"="Часовой пояс"})
*/
private $timeZone;
/**
* @ORM\Column(type="string", length=64, nullable=false, options={"comment"="Язык"})
*/
private $language;
/**
* @ORM\Column(type="string", length=64, nullable=false, options={"comment"="Мова"})
*/
private $language_ukr;
/**
* @ORM\Column(type="string", length=64, nullable=false, options={"comment"="Валюта, text"})
*/
private $currencyName;
/**
* @ORM\Column(type="string", length=64, nullable=false, options={"comment"="Валюта, text"})
*/
private $currencyName_ukr;
/**
* @ORM\Column(type="string", length=64, nullable=false, options={"comment"="Стоимость кофе"})
*/
private $coffeeCost;
/**
* @ORM\Column(type="string", length=64, nullable=false, options={"comment"="Стоимость еды"})
*/
private $foodCost;
/**
* @var string|null
*
* @ORM\Column(name="seasonalityMonths", type="string", length=255, nullable=false, options={"comment"="Сезонность по месяцам"})
*/
private $seasonalitymonths;
/**
* @var float|null
*
* @ORM\Column(name="attendance", type="string", length=64, nullable=false, options={"comment"="Посещаемость"})
*/
private $attendance;
/**
* @ORM\Column(type="integer", nullable=true, options={"unsigned"=true,"comment"="связь с images.id=this.image AND objectIdobjectId=rec_id AND objectType=country"})
*/
private $image;
private $price = null;
private $priceUah = null;
/**
* @var Collection|GeoCategoryValues[]
* @ORM\OneToMany(targetEntity="App\Entity\Otpusk\GeoCategoryValues", mappedBy="country", cascade={"persist"}, orphanRemoval=true)
*/
private $countryCategoryValues;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_ukr;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_ukr;
/**
* @ORM\OneToMany(targetEntity=GeoBlock::class, mappedBy="country", cascade={"persist"}, orphanRemoval=true)
*/
private $geoBlocks;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameBy;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameEe;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLt;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLv;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNamePl;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameUz;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameRo;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameByRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameEeRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLtRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLvRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNamePlRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameUzRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameRoRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameByVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameEeVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLtVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLvVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNamePlVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameUzVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameRoVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameByPr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameEePr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLtPr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLvPr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNamePlPr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameUzPr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameRoPr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameByDt;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameEeDt;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLtDt;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameLvDt;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNamePlDt;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameUzDt;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameRoDt;
/**
* @ORM\Column(name="fNameEng", type="string", length=64)
*/
private $nameEng;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_by;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $language_by;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $currencyName_by;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_by;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_ee;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $language_ee;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $currencyName_ee;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_ee;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_lt;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $language_lt;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $currencyName_lt;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_lt;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_lv;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $language_lv;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $currencyName_lv;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_lv;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_pl;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $language_pl;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $currencyName_pl;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_pl;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_uz;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $language_uz;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $currencyName_uz;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_uz;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $attendance_ro;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $language_ro;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $currencyName_ro;
/**
* @ORM\Column(type="string", length=64, nullable=false)
*/
private $visaforcountrycard_ro;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameKk;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameKkRd;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameKkVn;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameKkPr;
/**
* @ORM\Column(type="string", length=128)
*/
private $fNameKkDt;
/**
* @ORM\Column(type="string", length=64)
*/
private $attendance_kk;
/**
* @ORM\Column(type="string", length=64)
*/
private $visaforcountrycard_kk;
/**
* @ORM\Column(type="string", length=64)
*/
private $language_kk;
/**
* @ORM\Column(type="string", length=64)
*/
private $currencyName_kk;
/**
* @var Collection|CountryCharacteristic[]
* @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CountryCharacteristic", mappedBy="country", cascade={"persist"}, orphanRemoval=true)
*/
private $countryCharacteristics;
public function __construct()
{
$this->rubrics = new ArrayCollection();
$this->cities = new ArrayCollection();
$this->populars = new ArrayCollection();
$this->countryCategoryValues = new ArrayCollection();
// $this->faqText = new ArrayCollection();
$this->geoBlocks = new ArrayCollection();
$this->similarCountries = new ArrayCollection();
$this->similarCountriesIn = new ArrayCollection();
$this->countryCharacteristics = new ArrayCollection();
}
public function __toString()
{
return $this->getCountry();
}
public function getRecId(): int
{
return $this->getId();
}
/**
* @return Collection|GeoCategoryValues[]
*/
public function getCountryCategoryValues(): Collection
{
return $this->countryCategoryValues;
}
public function addCountry(GeoCategoryValues $value): self
{
if (!$this->countryCategoryValues->contains($value)) {
$this->countryCategoryValues[] = $value;
$value->setCountry($this);
}
return $this;
}
public function removeCountry(GeoCategoryValues $value): self
{
if ($this->countryCategoryValues->contains($value)) {
$this->countryCategoryValues->removeElement($value);
if ($value->getCountry() === $this) {
$value->setCountry(null);
}
}
return $this;
}
/**
* @return Collection
*/
public function getCities(): Collection
{
return $this->cities;
}
/**
* @param Collection $cities
*/
public function setCities(Collection $cities): void
{
$this->cities = $cities;
}
/**
* @return string
*/
public function getCode(): string
{
return $this->fCode;
}
/**
* @param string $fCode
*/
public function setCode(string $fCode): void
{
$this->fCode = $fCode;
}
/**
* @return string
*/
public function getIATA(): string
{
return $this->fIATA;
}
/**
* @param string $fIATA
*/
public function setIATA(string $fIATA): void
{
$this->fIATA = $fIATA;
}
/**
* @return string
*/
public function getCountry(): string
{
return $this->fCountry;
}
/**
* @param string $fCountry
*/
public function setCountry(string $fCountry): void
{
$this->fCountry = $fCountry;
}
/**
* @return string
*/
public function getName(): string
{
return $this->getCountry();
}
/**
* @return string
*/
public function getNameRu(): string
{
return $this->getCountry();
}
/**
* @return string
*/
public function getNameAlt(): string
{
return $this->fNameAlt;
}
/**
* @param string $fNameAlt
*/
public function setNameAlt(string $fNameAlt): void
{
$this->fNameAlt = $fNameAlt;
}
/**
* @return string
*/
public function getNameRd(): string
{
return $this->fNameRd;
}
/**
* @param string $fNameRd
*/
public function setNameRd(string $fNameRd): void
{
$this->fNameRd = $fNameRd;
}
/**
* @return string
*/
public function getNameVn(): string
{
return $this->fNameVn;
}
/**
* @param string $fNameVn
*/
public function setNameVn(string $fNameVn): void
{
$this->fNameVn = $fNameVn;
}
/**
* @return string
*/
public function getNamePr(): string
{
return $this->fNamePr;
}
/**
* @param string $fNamePr
*/
public function setNamePr(string $fNamePr): void
{
$this->fNamePr = $fNamePr;
}
/**
* @return string
*/
public function getNameDt(): string
{
return $this->fNameDt;
}
/**
* @param string $fNameDt
*/
public function setNameDt(string $fNameDt): void
{
$this->fNameDt = $fNameDt;
}
/**
* @return string
*/
public function getNameUkr(): string
{
return $this->fNameUkr;
}
/**
* @return string
*/
public function getNameUa(): string
{
return $this->fNameUkr;
}
/**
* @param string $fNameUkr
*/
public function setNameUkr(string $fNameUkr): void
{
$this->fNameUkr = $fNameUkr;
}
/**
* @return string
*/
public function getNameUkrRd(): string
{
return $this->fNameUkrRd;
}
/**
* @param string $fNameUkrRd
*/
public function setNameUkrRd(string $fNameUkrRd): void
{
$this->fNameUkrRd = $fNameUkrRd;
}
/**
* @return string
*/
public function getNameUkrVn(): string
{
return $this->fNameUkrVn;
}
/**
* @param string $fNameUkrVn
*/
public function setNameUkrVn(string $fNameUkrVn): void
{
$this->fNameUkrVn = $fNameUkrVn;
}
/**
* @return string
*/
public function getNameUkrPr(): string
{
return $this->fNameUkrPr;
}
/**
* @param string $fNameUkrPr
*/
public function setNameUkrPr(string $fNameUkrPr): void
{
$this->fNameUkrPr = $fNameUkrPr;
}
/**
* @return string
*/
public function getNameUkrDt(): string
{
return $this->fNameUkrDt;
}
/**
* @param string $fNameUkrDt
*/
public function setNameUkrDt(string $fNameUkrDt): void
{
$this->fNameUkrDt = $fNameUkrDt;
}
/**
* @return string
*/
public function getNameTr(): string
{
return str_replace(' ', '_', $this->fNameTr);
}
/**
* @param string $fNameTr
*/
public function setNameTr(string $fNameTr): void
{
//$this->fNameTr = str_replace('_', ' ', $fNameTr);
$this->fNameTr = $fNameTr;
}
/**
* @return int
*/
public function getCapitalID(): int
{
return $this->fCapitalID;
}
/**
* @param int $fCapitalID
*/
public function setCapitalID(int $fCapitalID): void
{
$this->fCapitalID = $fCapitalID;
}
/**
* @return int
*/
public function getContinent(): int
{
return $this->fContinent;
}
/**
* @param int $fContinent
*/
public function setContinent(int $fContinent): void
{
$this->fContinent = $fContinent;
}
/**
* @return string
*/
public function getTour(): string
{
return $this->fTour;
}
/**
* @param string $fTour
*/
public function setTour(string $fTour): void
{
$this->fTour = $fTour;
}
/**
* @return string
*/
public function getTransport(): string
{
return $this->fTransport;
}
/**
* @param string $fTransport
*/
public function setTransport(string $fTransport): void
{
$this->fTransport = $fTransport;
}
/**
* @return string
*/
public function getCurrency(): string
{
return $this->fCurrency;
}
/**
* @param string $fCurrency
*/
public function setCurrency(string $fCurrency): void
{
$this->fCurrency = $fCurrency;
}
/**
* @return string
*/
public function getVisa(): string
{
return $this->fVisa;
}
/**
* @param string $fVisa
*/
public function setVisa(string $fVisa): void
{
$this->fVisa = $fVisa;
}
/**
* @return string
*/
public function getOnRequest(): string
{
return $this->fOnRequest;
}
/**
* @param string $fOnRequest
*/
public function setOnRequest(string $fOnRequest): void
{
$this->fOnRequest = $fOnRequest;
}
/**
* @return int
*/
public function getPriority(): int
{
return $this->fPriority;
}
/**
* @param int $fPriority
*/
public function setPriority(int $fPriority): void
{
$this->fPriority = $fPriority;
}
/**
* @return float
*/
public function getSouthWest(): float
{
return $this->fSouthWest;
}
/**
* @param float $fSouthWest
*/
public function setSouthWest(float $fSouthWest): void
{
$this->fSouthWest = $fSouthWest;
}
/**
* @return float
*/
public function getNorthEast(): float
{
return $this->fNorthEast;
}
/**
* @param float $fNorthEast
*/
public function setNorthEast(float $fNorthEast): void
{
$this->fNorthEast = $fNorthEast;
}
/**
* @return int
*/
public function getZoom(): int
{
return $this->fZoom;
}
/**
* @param int $fZoom
*/
public function setZoom(int $fZoom): void
{
$this->fZoom = $fZoom;
}
/**
* @return string
*/
public function getService(): string
{
return $this->fService;
}
/**
* @param string $fService
*/
public function setService(string $fService): void
{
$this->fService = $fService;
}
/**
* for api serializer purposes
* @return string
*/
public function getNameTrInLowerCase(){
return strtolower($this->getNameTr());
}
public function filterCitiesByIds(array $ids)
{
$criteria = Criteria::create();
$criteria->where($criteria::expr()->in('rec_id', $ids))
->orderBy(['fName' => 'asc']);
$this->cities = ($this->cities->matching($criteria));
}
public function getWeight(): ?int
{
return $this->weight;
}
public function setWeight(?int $weight): self
{
$this->weight = $weight;
return $this;
}
/**
* @return array
*/
public function getSeoData(): array
{
$value = Yaml::parseFile('../seofile.yaml');
$value = $value['seo']['excursions']['country'];
return array(
'title' => sprintf($value['title'], $this->getNameVn(), date('Y')),
'description' => sprintf($value['description'], $this->getNameVn(), date('Y')),
'keywords' => sprintf($value['keywords'], $this->getNameVn())
);
}
/**
* @return array
*/
public function getGuideSeoData($locale = 'ru')
{
$value = Yaml::parseFile('../seofile.'.$locale.'.yaml');
$value = $value['seo']['tours']['guide'];
return ($locale == 'ua') ? array(
'title' => sprintf($value['title'], $this->getNameUkr(), $this->getNameUkrPr()),
'description' => sprintf($value['description'], $this->getNameUkrPr(), $this->getNameUkrRd()),
'keywords' => sprintf($value['keywords'], $this->getNameUkr(), $this->getNameUkrRd(), $this->getNameUkrPr(), $this->getNameUkrRd()),
'h1' => sprintf($value['h1'], $this->getNameUkr())
) : array(
'title' => sprintf($value['title'], $this->getCountry(), $this->getNamePr()),
'description' => sprintf($value['description'], $this->getNamePr(), $this->getNameRd()),
'keywords' => sprintf($value['keywords'], $this->getCountry(), $this->getNameRd(), $this->getNamePr(), $this->getNameRd()),
'h1' => sprintf($value['h1'], $this->getCountry())
);
}
/**
* @return Collection|CountryPopular[]
*/
public function getPopulars(): Collection
{
return $this->populars;
}
public function addPopular(CountryPopular $popular): self
{
if (!$this->populars->contains($popular)) {
$this->populars[] = $popular;
$popular->setCountry($this);
}
return $this;
}
public function removePopular(CountryPopular $popular): self
{
if ($this->populars->contains($popular)) {
$this->populars->removeElement($popular);
// set the owning side to null (unless already changed)
if ($popular->getCountry() === $this) {
$popular->setCountry(null);
}
}
return $this;
}
public function getImage(): ?int
{
return $this->image;
}
public function setImage(?int $image): self
{
$this->image = $image;
return $this;
}
function getImagePath()
{
if (!is_null($this->image)) {
return $this->imageSource.sprintf(
'%02d/%02d/%02d/%02d/',
($this->image / 100000000) % 100, ($this->image / 1000000) % 100, ($this->image / 10000) % 100, ($this->image / 100) % 100
) . $this->image . '.webp';
}
return null;
}
// /**
// * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\TRefsCountry", mappedBy="country", cascade={"persist"})
// * @ORM\JoinColumn(name="rec_id", referencedColumnName="fBindId")
// */
// private $faqText;
//
// public function getFaqText(): Collection
// {
// $criteria = Criteria::create();
// $criteria->where($criteria::expr()->eq('type', 97))
// ->orderBy(array('fSort' => 'DESC'));
//
// $this->faqText = $this->faqText->matching($criteria);
// return $this->faqText;
// }
//
// public function addFaqText($faqText): self
// {
// $faqText->setType(97);
// if (!$this->faqText->contains($faqText)) {
// $this->faqText[] = $faqText;
// $faqText->addCountry($this);
// }
//
// return $this;
// }
//
// public function setFaqText($faqText)
// {
// if (gettype($faqText) == "array") {
// $faqText = new ArrayCollection($faqText);
// }
//
// foreach($faqText as $text) {
// $text->addCountry($this);
// }
//
// $this->faqText = $faqText;
// return $this;
// }
//
// public function removeFaqText(TRefsCountry $faqText): self
// {
// if ($this->faqText->contains($faqText)) {
// $this->faqText->removeElement($faqText);
// $faqText->removeCountry($this);
// }
//
// return $this;
// }
public function getPriceSegment(): ?string
{
return (!is_null($this->priceSegment)) ? (int)$this->priceSegment : null;
}
public function getFlightTime(): ?string
{
return $this->flightTime;
}
public function getTimeLocal(): ?string
{
return $this->timeLocal;
}
public function getLanguage(): ?string
{
return $this->language;
}
public function getLanguageUkr(): ?string
{
return $this->language_ukr;
}
public function getCurrencyName(): ?string
{
return $this->currencyName;
}
public function getCurrencyNameUkr(): ?string
{
return $this->currencyName_ukr;
}
public function getCoffeeCost(): ?string
{
return $this->coffeeCost;
}
public function getFoodCost(): ?string
{
return $this->foodCost;
}
/**
* @return string|null
*/
public function getSeasonalitymonthsFormatted(): ?array
{
if (!is_null($this->seasonalitymonths)) {
$results = [];
for ($i=1; $i<=12; $i++) {
$results[$i]['key'] = "one";
$results[$i]['status'] = "";
}
$seasonalityMonths = \json_decode($this->seasonalitymonths, 1);
if (!is_null($seasonalityMonths)) {
foreach ($seasonalityMonths as $key => $seasonalityMonth) {
if ($seasonalityMonth == "0.33") {
$results[(int)$key]['key'] = "one";
$results[(int)$key]['status'] = "";
}
if ($seasonalityMonth == "0.66") {
$results[(int)$key]['key'] = "two";
$results[(int)$key]['status'] = "active";
}
if ($seasonalityMonth == "1") {
$results[(int)$key]['key'] = "three";
$results[(int)$key]['status'] = "active";
}
}
}
return $results;
}
return null;
}
/**
* @return string|null
*/
public function getAttendance(): ?string
{
return $this->attendance;
}
public function getAttendanceRu(): ?string
{
return $this->attendance;
}
public function getPrice()
{
return $this->price;
}
public function setPrice($price): void
{
$this->price = $price;
}
public function getPriceUah()
{
return $this->priceUah;
}
public function setPriceUah($priceUah): void
{
$this->priceUah = $priceUah;
}
public function getVisaforcountrycard(): ?string
{
return $this->visaforcountrycard;
}
public function setVisaforcountrycard(?string $visaforcountrycard): self
{
$this->visaforcountrycard = $visaforcountrycard;
return $this;
}
public function getVisaforcountrycardRu(): ?string
{
return $this->visaforcountrycard;
}
public function getAttendanceUkr(): ?string
{
return $this->attendance_ukr;
}
public function getAttendanceUa(): ?string
{
return $this->attendance_ukr;
}
public function setAttendanceUkr(?string $attendance_ukr): self
{
$this->attendance_ukr = $attendance_ukr;
return $this;
}
public function getVisaforcountrycardUkr(): ?string
{
return $this->visaforcountrycard_ukr;
}
public function setVisaforcountrycardUkr(?string $visaforcountrycard_ukr): self
{
$this->visaforcountrycard_ukr = $visaforcountrycard_ukr;
return $this;
}
public function getVisaforcountrycardUa(): ?string
{
return $this->visaforcountrycard_ukr;
}
/**
* @return Collection|GeoBlock[]
*/
public function getGeoBlocks(): Collection
{
return $this->geoBlocks;
}
public function addGeoBlock(GeoBlock $geoBlock): self
{
if (!$this->geoBlocks->contains($geoBlock)) {
$this->geoBlocks[] = $geoBlock;
$geoBlock->setCountry($this);
}
return $this;
}
public function removeGeoBlock(GeoBlock $geoBlock): self
{
if ($this->geoBlocks->removeElement($geoBlock)) {
// set the owning side to null (unless already changed)
if ($geoBlock->getCountry() === $this) {
$geoBlock->setCountry(null);
}
}
return $this;
}
/**
* @return Collection|RubricCountry[]
*/
public function getRubrics(): Collection
{
return $this->rubrics;
}
public function addRubric(RubricCountry $rubric): self
{
if (!$this->rubrics->contains($rubric)) {
$this->rubrics[] = $rubric;
$rubric->setCountry($this);
}
return $this;
}
public function removeRubric(RubricCountry $rubric): self
{
if ($this->rubrics->contains($rubric)) {
$this->rubrics->removeElement($rubric);
if ($rubric->getCountry() === $this) {
$rubric->setCountry(null);
}
}
return $this;
}
public function getTypeLabel(): string
{
return self::LABEL_COUNTRY;
}
/**
* @return Collection|CountriesSimilar[]
*/
public function getSimilarCountries(): Collection
{
return $this->similarCountries;
}
public function addSimilarCountry(CountriesSimilar $similarCountries): self
{
if (!$this->similarCountries->contains($similarCountries)) {
$this->similarCountries[] = $similarCountries;
$similarCountries->setCountrySimilar($this);
}
return $this;
}
public function removeSimilarCountry(CountriesSimilar $similarCountries): self
{
if ($this->similarCountries->contains($similarCountries)) {
$this->similarCountries->removeElement($similarCountries);
if ($similarCountries->getCountrySimilar() === $this) {
$similarCountries->setCountrySimilar(null);
}
}
return $this;
}
/**
* @return Collection|CountriesSimilar[]
*/
public function getSimilarCountriesIn(): Collection
{
return $this->similarCountriesIn;
}
public function addSimilarCountryIn(CountriesSimilar $similarCountriesIn): self
{
if (!$this->similarCountriesIn->contains($similarCountriesIn)) {
$this->similarCountriesIn[] = $similarCountriesIn;
$similarCountriesIn->setCountrySimilarIn($this);
}
return $this;
}
public function removeSimilarCountryIn(CountriesSimilar $similarCountriesIn): self
{
if ($this->similarCountriesIn->contains($similarCountriesIn)) {
$this->similarCountriesIn->removeElement($similarCountriesIn);
if ($similarCountriesIn->getCountrySimilarIn() === $this) {
$similarCountriesIn->setCountrySimilarIn(null);
}
}
return $this;
}
public function getNameBy(): ?string
{
return $this->fNameBy;
}
public function setNameBy(string $fNameBy): self
{
$this->fNameBy = $fNameBy;
return $this;
}
public function getNameEe(): ?string
{
return $this->fNameEe;
}
public function setNameEe(string $fNameEe): self
{
$this->fNameEe = $fNameEe;
return $this;
}
public function getNameLt(): ?string
{
return $this->fNameLt;
}
public function setNameLt(string $fNameLt): self
{
$this->fNameLt = $fNameLt;
return $this;
}
public function getNameLv(): ?string
{
return $this->fNameLv;
}
public function setNameLv(string $fNameLv): self
{
$this->fNameLv = $fNameLv;
return $this;
}
public function getNamePl(): ?string
{
return $this->fNamePl;
}
public function setNamePl(string $fNamePl): self
{
$this->fNamePl = $fNamePl;
return $this;
}
public function getNameUz(): ?string
{
return $this->fNameUz;
}
public function setNameUz(string $fNameUz): self
{
$this->fNameUz = $fNameUz;
return $this;
}
public function getNameRo(): ?string
{
return $this->fNameRo;
}
public function setNameRo(string $fNameRo): self
{
$this->fNameRo = $fNameRo;
return $this;
}
public function getNameByRd(): ?string
{
return $this->fNameByRd;
}
public function setNameByRd(string $fNameByRd): self
{
$this->fNameByRd = $fNameByRd;
return $this;
}
public function getNameEeRd(): ?string
{
return $this->fNameEeRd;
}
public function setNameEeRd(string $fNameEeRd): self
{
$this->fNameEeRd = $fNameEeRd;
return $this;
}
public function getNameLtRd(): ?string
{
return $this->fNameLtRd;
}
public function setNameLtRd(string $fNameLtRd): self
{
$this->fNameLtRd = $fNameLtRd;
return $this;
}
public function getNameLvRd(): ?string
{
return $this->fNameLvRd;
}
public function setNameLvRd(string $fNameLvRd): self
{
$this->fNameLvRd = $fNameLvRd;
return $this;
}
public function getNamePlRd(): ?string
{
return $this->fNamePlRd;
}
public function setNamePlRd(string $fNamePlRd): self
{
$this->fNamePlRd = $fNamePlRd;
return $this;
}
public function getNameUzRd(): ?string
{
return $this->fNameUzRd;
}
public function setNameUzRd(string $fNameUzRd): self
{
$this->fNameUzRd = $fNameUzRd;
return $this;
}
public function getNameRoRd(): ?string
{
return $this->fNameRoRd;
}
public function setNameRoRd(string $fNameRoRd): self
{
$this->fNameRoRd = $fNameRoRd;
return $this;
}
public function getNameByVn(): ?string
{
return $this->fNameByVn;
}
public function setNameByVn(string $fNameByVn): self
{
$this->fNameByVn = $fNameByVn;
return $this;
}
public function getNameEeVn(): ?string
{
return $this->fNameEeVn;
}
public function setNameEeVn(string $fNameEeVn): self
{
$this->fNameEeVn = $fNameEeVn;
return $this;
}
public function getNameLtVn(): ?string
{
return $this->fNameLtVn;
}
public function setNameLtVn(string $fNameLtVn): self
{
$this->fNameLtVn = $fNameLtVn;
return $this;
}
public function getNameLvVn(): ?string
{
return $this->fNameLvVn;
}
public function setNameLvVn(string $fNameLvVn): self
{
$this->fNameLvVn = $fNameLvVn;
return $this;
}
public function getNamePlVn(): ?string
{
return $this->fNamePlVn;
}
public function setNamePlVn(string $fNamePlVn): self
{
$this->fNamePlVn = $fNamePlVn;
return $this;
}
public function getNameUzVn(): ?string
{
return $this->fNameUzVn;
}
public function setNameUzVn(string $fNameUzVn): self
{
$this->fNameUzVn = $fNameUzVn;
return $this;
}
public function getNameRoVn(): ?string
{
return $this->fNameRoVn;
}
public function setNameRoVn(string $fNameRoVn): self
{
$this->fNameRoVn = $fNameRoVn;
return $this;
}
public function getNameByPr(): ?string
{
return $this->fNameByPr;
}
public function setNameByPr(string $fNameByPr): self
{
$this->fNameByPr = $fNameByPr;
return $this;
}
public function getNameEePr(): ?string
{
return $this->fNameEePr;
}
public function setNameEePr(string $fNameEePr): self
{
$this->fNameEePr = $fNameEePr;
return $this;
}
public function getNameLtPr(): ?string
{
return $this->fNameLtPr;
}
public function setNameLtPr(string $fNameLtPr): self
{
$this->fNameLtPr = $fNameLtPr;
return $this;
}
public function getNameLvPr(): ?string
{
return $this->fNameLvPr;
}
public function setNameLvPr(string $fNameLvPr): self
{
$this->fNameLvPr = $fNameLvPr;
return $this;
}
public function getNamePlPr(): ?string
{
return $this->fNamePlPr;
}
public function setNamePlPr(string $fNamePlPr): self
{
$this->fNamePlPr = $fNamePlPr;
return $this;
}
public function getNameUzPr(): ?string
{
return $this->fNameUzPr;
}
public function setNameUzPr(string $fNameUzPr): self
{
$this->fNameUzPr = $fNameUzPr;
return $this;
}
public function getNameRoPr(): ?string
{
return $this->fNameRoPr;
}
public function setNameRoPr(string $fNameRoPr): self
{
$this->fNameRoPr = $fNameRoPr;
return $this;
}
public function getNameByDt(): ?string
{
return $this->fNameByDt;
}
public function setNameByDt(string $fNameByDt): self
{
$this->fNameByDt = $fNameByDt;
return $this;
}
public function getNameEeDt(): ?string
{
return $this->fNameEeDt;
}
public function setNameEeDt(string $fNameEeDt): self
{
$this->fNameEeDt = $fNameEeDt;
return $this;
}
public function getNameLtDt(): ?string
{
return $this->fNameLtDt;
}
public function setNameLtDt(string $fNameLtDt): self
{
$this->fNameLtDt = $fNameLtDt;
return $this;
}
public function getNameLvDt(): ?string
{
return $this->fNameLvDt;
}
public function setNameLvDt(string $fNameLvDt): self
{
$this->fNameLvDt = $fNameLvDt;
return $this;
}
public function getNamePlDt(): ?string
{
return $this->fNamePlDt;
}
public function setNamePlDt(string $fNamePlDt): self
{
$this->fNamePlDt = $fNamePlDt;
return $this;
}
public function getNameUzDt(): ?string
{
return $this->fNameUzDt;
}
public function setNameUzDt(string $fNameUzDt): self
{
$this->fNameUzDt = $fNameUzDt;
return $this;
}
public function getNameRoDt(): ?string
{
return $this->fNameRoDt;
}
public function setNameRoDt(string $fNameRoDt): self
{
$this->fNameRoDt = $fNameRoDt;
return $this;
}
public function getNameEng(): ?string
{
return $this->nameEng;
}
public function setNameEng(string $nameEng): self
{
$this->nameEng = $nameEng;
return $this;
}
public function getAttendanceBy(): ?string
{
return $this->attendance_by;
}
public function setAttendanceBy(?string $attendance_by): self
{
$this->attendance_by = $attendance_by;
return $this;
}
public function getLanguageBy(): ?string
{
return $this->language_by;
}
public function setLanguageBy(?string $language_by): self
{
$this->language_by = $language_by;
return $this;
}
public function getCurrencyNameBy(): ?string
{
return $this->currencyName_by;
}
public function setCurrencyNameBy(?string $currencyName_by): self
{
$this->currencyName_by = $currencyName_by;
return $this;
}
public function getVisaforcountrycardBy(): ?string
{
return $this->visaforcountrycard_by;
}
public function setVisaforcountrycardBy(?string $visaforcountrycard_by): self
{
$this->visaforcountrycard_by = $visaforcountrycard_by;
return $this;
}
public function getAttendanceEe(): ?string
{
return $this->attendance_ee;
}
public function setAttendanceEe(string $attendance_ee): self
{
$this->attendance_ee = $attendance_ee;
return $this;
}
public function getLanguageEe(): ?string
{
return $this->language_ee;
}
public function setLanguageEe(?string $language_ee): self
{
$this->language_ee = $language_ee;
return $this;
}
public function getCurrencyNameEe(): ?string
{
return $this->currencyName_ee;
}
public function setCurrencyNameEe(?string $currencyName_ee): self
{
$this->currencyName_ee = $currencyName_ee;
return $this;
}
public function getVisaforcountrycardEe(): ?string
{
return $this->visaforcountrycard_ee;
}
public function setVisaforcountrycardEe(?string $visaforcountrycard_ee): self
{
$this->visaforcountrycard_ee = $visaforcountrycard_ee;
return $this;
}
public function getAttendanceLt(): ?string
{
return $this->attendance_lt;
}
public function setAttendanceLt(?string $attendance_lt): self
{
$this->attendance_lt = $attendance_lt;
return $this;
}
public function getLanguageLt(): ?string
{
return $this->language_lt;
}
public function setLanguageLt(?string $language_lt): self
{
$this->language_lt = $language_lt;
return $this;
}
public function getCurrencyNameLt(): ?string
{
return $this->currencyName_lt;
}
public function setCurrencyNameLt(?string $currencyName_lt): self
{
$this->currencyName_lt = $currencyName_lt;
return $this;
}
public function getVisaforcountrycardLt(): ?string
{
return $this->visaforcountrycard_lt;
}
public function setVisaforcountrycardLt(?string $visaforcountrycard_lt): self
{
$this->visaforcountrycard_lt = $visaforcountrycard_lt;
return $this;
}
public function getAttendanceLv(): ?string
{
return $this->attendance_lv;
}
public function setAttendanceLv(?string $attendance_lv): self
{
$this->attendance_lv = $attendance_lv;
return $this;
}
public function getLanguageLv(): ?string
{
return $this->language_lv;
}
public function setLanguageLv(?string $language_lv): self
{
$this->language_lv = $language_lv;
return $this;
}
public function getCurrencyNameLv(): ?string
{
return $this->currencyName_lv;
}
public function setCurrencyNameLv(?string $currencyName_lv): self
{
$this->currencyName_lv = $currencyName_lv;
return $this;
}
public function getVisaforcountrycardLv(): ?string
{
return $this->visaforcountrycard_lv;
}
public function setVisaforcountrycardLv(?string $visaforcountrycard_lv): self
{
$this->visaforcountrycard_lv = $visaforcountrycard_lv;
return $this;
}
public function getAttendancePl(): ?string
{
return $this->attendance_pl;
}
public function setAttendancePl(?string $attendance_pl): self
{
$this->attendance_pl = $attendance_pl;
return $this;
}
public function getLanguagePl(): ?string
{
return $this->language_pl;
}
public function setLanguagePl(?string $language_pl): self
{
$this->language_pl = $language_pl;
return $this;
}
public function getCurrencyNamePl(): ?string
{
return $this->currencyName_pl;
}
public function setCurrencyNamePl(?string $currencyName_pl): self
{
$this->currencyName_pl = $currencyName_pl;
return $this;
}
public function getVisaforcountrycardPl(): ?string
{
return $this->visaforcountrycard_pl;
}
public function setVisaforcountrycardPl(?string $visaforcountrycard_pl): self
{
$this->visaforcountrycard_pl = $visaforcountrycard_pl;
return $this;
}
public function getAttendanceUz(): ?string
{
return $this->attendance_uz;
}
public function setAttendanceUz(?string $attendance_uz): self
{
$this->attendance_uz = $attendance_uz;
return $this;
}
public function getLanguageUz(): ?string
{
return $this->language_uz;
}
public function setLanguageUz(?string $language_uz): self
{
$this->language_uz = $language_uz;
return $this;
}
public function getCurrencyNameUz(): ?string
{
return $this->currencyName_uz;
}
public function setCurrencyNameUz(?string $currencyName_uz): self
{
$this->currencyName_uz = $currencyName_uz;
return $this;
}
public function getVisaforcountrycardUz(): ?string
{
return $this->visaforcountrycard_uz;
}
public function setVisaforcountrycardUz(?string $visaforcountrycard_uz): self
{
$this->visaforcountrycard_uz = $visaforcountrycard_uz;
return $this;
}
public function getAttendanceRo(): ?string
{
return $this->attendance_ro;
}
public function setAttendanceRo(?string $attendance_ro): self
{
$this->attendance_ro = $attendance_ro;
return $this;
}
public function getLanguageRo(): ?string
{
return $this->language_ro;
}
public function setLanguageRo(?string $language_ro): self
{
$this->language_ro = $language_ro;
return $this;
}
public function getCurrencyNameRo(): ?string
{
return $this->currencyName_ro;
}
public function setCurrencyNameRo(?string $currencyName_ro): self
{
$this->currencyName_ro = $currencyName_ro;
return $this;
}
public function getVisaforcountrycardRo(): ?string
{
return $this->visaforcountrycard_ro;
}
public function setVisaforcountrycardRo(?string $visaforcountrycard_ro): self
{
$this->visaforcountrycard_ro = $visaforcountrycard_ro;
return $this;
}
public function getTimeZone(): ?string
{
return $this->timeZone;
}
public function setTimeZone($timeZone): void
{
$this->timeZone = $timeZone;
}
public function getFNameKk(): ?string
{
return $this->fNameKk;
}
public function setFNameKk(string $fNameKk): self
{
$this->fNameKk = $fNameKk;
return $this;
}
public function getFNameKkRd(): ?string
{
return $this->fNameKkRd;
}
public function setFNameKkRd(string $fNameKkRd): self
{
$this->fNameKkRd = $fNameKkRd;
return $this;
}
public function getFNameKkVn(): ?string
{
return $this->fNameKkVn;
}
public function setFNameKkVn(string $fNameKkVn): self
{
$this->fNameKkVn = $fNameKkVn;
return $this;
}
public function getFNameKkPr(): ?string
{
return $this->fNameKkPr;
}
public function setFNameKkPr(string $fNameKkPr): self
{
$this->fNameKkPr = $fNameKkPr;
return $this;
}
public function getFNameKkDt(): ?string
{
return $this->fNameKkDt;
}
public function setFNameKkDt(string $fNameKkDt): self
{
$this->fNameKkDt = $fNameKkDt;
return $this;
}
public function getAttendanceKk(): ?string
{
return $this->attendance_kk;
}
public function setAttendanceKk(string $attendance_kk): self
{
$this->attendance_kk = $attendance_kk;
return $this;
}
public function getVisaforcountrycardKk(): ?string
{
return $this->visaforcountrycard_kk;
}
public function setVisaforcountrycardKk(string $visaforcountrycard_kk): self
{
$this->visaforcountrycard_kk = $visaforcountrycard_kk;
return $this;
}
public function getLanguageKk(): ?string
{
return $this->language_kk;
}
public function setLanguageKk(string $language_kk): self
{
$this->language_kk = $language_kk;
return $this;
}
public function getCurrencyNameKk(): ?string
{
return $this->currencyName_kk;
}
public function setCurrencyNameKk(string $currencyName_kk): self
{
$this->currencyName_kk = $currencyName_kk;
return $this;
}
public function getCountryCharacteristics(): Collection
{
return $this->countryCharacteristics;
}
public function addCountryCharacteristic(CountryCharacteristic $value): self
{
if (!$this->countryCharacteristics->contains($value)) {
$this->countryCharacteristics[] = $value;
$value->setCountry($this);
}
return $this;
}
public function removeCountryCharacteristic(CountryCharacteristic $value): self
{
if ($this->countryCharacteristics->contains($value)) {
$this->countryCharacteristics->removeElement($value);
if ($value->getCountry() === $this) {
$value->setCountry(null);
}
}
return $this;
}
}