src/Entity/Otpusk/City.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Otpusk;
  3. //use App\Application\Sonata\MediaBundle\Entity\Gallery;
  4. use App\Repository\Otpusk\CityRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\Common\Collections\Criteria;
  8. use Doctrine\Common\Collections\Expr\Comparison;
  9. use Doctrine\ORM\EntityNotFoundException;
  10. use Doctrine\ORM\Mapping as ORM;
  11. use Symfony\Component\Validator\Constraints as Assert;
  12. use Symfony\Component\Yaml\Yaml;
  13. use App\Entity\Otpusk\Geo\BaseObject;
  14. /**
  15.  * @ORM\Entity(repositoryClass="App\Repository\Otpusk\CityRepository")
  16.  *
  17.  * @ORM\Table(
  18.  *     name="tCities",
  19.  *     options={"collate"="utf8"},
  20.  *     uniqueConstraints={@ORM\UniqueConstraint(name="unique", columns={"fNameTr", "fCountryID"})}, indexes={@ORM\Index(name="cityWeight", columns={"fCountryID", "cityWeight", "fPriority"}), @ORM\Index(name="fName", columns={"fName", "fIATA"}), @ORM\Index(name="fCountryID", columns={"fCountryID", "fNameTr", "fName", "fIATA"}), @ORM\Index(name="gallery_id", columns={"gallery_id"}), @ORM\Index(name="fPriority", columns={"fPriority", "fTarget"})},
  21.  *    )
  22.  */
  23. class City extends BaseObject
  24. {
  25.     public function addAirport(Airport $airport): self
  26.     {
  27.         if (!$this->airports->contains($airport)) {
  28.             $this->airports->add($airport);
  29.             $airport->setCity($this);
  30.         }
  31.         return $this;
  32.     }
  33.     public function removeAirport(Airport $airport): self
  34.     {
  35.         if ($this->airports->contains($airport)) {
  36.             $this->airports->removeElement($airport);
  37.             if ($airport->getCity() === $this) {
  38.                 $airport->setCity(null);
  39.             }
  40.         }
  41.         return $this;
  42.     }
  43.     private $imageSource 'https://www.otpusk.com/foto/2/800x600/';
  44.     const ADDING_IMAGE_ACTION_ID 10;
  45.     const TYPE_ARRAY = [94];
  46.     private $priorityTitle = [
  47.         '0' => "Обычный",
  48.         '1' => "Высокий",
  49.         '2' => "Максимальный"
  50.     ];
  51.     /**
  52.      * @var Country
  53.      *
  54.      * @ORM\ManyToOne(targetEntity="App\Entity\Otpusk\Country", inversedBy="cities")
  55.      * @ORM\JoinColumn(name="fCountryId", referencedColumnName="rec_id", nullable=true)
  56.      *
  57.      */
  58.     private $country;
  59.     /**
  60.      * @var Collection
  61.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\Hotel", mappedBy="city")
  62.      */
  63.     private $hotels;
  64.     /**
  65.      * @var Collection
  66.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CitiesSimilar", mappedBy="citySimilar", cascade={"persist"}, orphanRemoval=true)
  67.      */
  68.     private $similarCities;
  69.     /**
  70.      * @var Collection
  71.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CitiesSimilar", mappedBy="citySimilarIn", cascade={"persist"}, orphanRemoval=true)
  72.      */
  73.     private $similarCitiesIn;
  74.     /**
  75.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\RubricCity", mappedBy="city", cascade={"persist"}, orphanRemoval=true)
  76.      */
  77.     private $rubrics;
  78.     /**
  79.      * @var Collection|CountryPopular[]
  80.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CountryPopular", mappedBy="city")
  81.      */
  82.     private $countryPopulars;
  83.     /**
  84.      * @return Collection
  85.      */
  86.     public function getHotels(): Collection
  87.     {
  88.         return $this->hotels;
  89.     }
  90.     /**
  91.      * @param Collection $hotels
  92.      * @return City
  93.      */
  94.     public function setHotels(Collection $hotels): City
  95.     {
  96.         $this->hotels $hotels;
  97.         return $this;
  98.     }
  99.     /**
  100.      * @param Hotel $hotel
  101.      */
  102.     public function addHotel(Hotel $hotel)
  103.     {
  104.         if($this->hotels->contains($hotel)){
  105.             return;
  106.         }
  107.         $this->hotels->add($hotel);
  108.         $hotel->setCity($this);
  109.     }
  110.     /**
  111.      * @param Hotel $hotel
  112.      */
  113.     public function removeHotel(Hotel $hotel)
  114.     {
  115.         if(!$this->hotels->contains($hotel)){
  116.             return;
  117.         }
  118.         $this->hotels->removeElement($hotel);
  119.         $hotel->setCity(null);
  120.     }
  121.     /**
  122.      * @var integer
  123.      *
  124.      * @ORM\Column(name="fCountryID", type="integer", options={"unsigned"=true})
  125.      */
  126.     private $fCountryID;
  127.     /**
  128.      * @var string
  129.      *
  130.      * @ORM\Column(name="fIATA", type="string", length=4, options={"default":"","comment"="Код аэтопортов ИАТА"})
  131.      */
  132.     private $fIATA;
  133.     /**
  134.      * @var string
  135.      *
  136.      * @ORM\Column(name="fName", type="string", length=64)
  137.      *
  138.      */
  139.     private $fName;
  140.     /**
  141.      * @var string
  142.      *
  143.      * @ORM\Column(name="fNameAlt", type="text", length=65535, nullable=false, options={"comment"="Альтернативное название"})
  144.      */
  145.     private $fNameAlt '';
  146.     /**
  147.      * @var string
  148.      *
  149.      * @ORM\Column(name="fNameEng", type="string", length=64, options={"comment"="на английском"})
  150.      */
  151.     private $fNameEng;
  152.     /**
  153.      * @var string
  154.      * @ORM\Column(name="fNameRd", type="string", length=64)
  155.      */
  156.     private $fNameRd;
  157.     /**
  158.      * @var string
  159.      *
  160.      * @ORM\Column(name="fNameVn", type="string", length=64)
  161.      */
  162.     private $fNameVn;
  163.     /**
  164.      * @var string
  165.      *
  166.      * @ORM\Column(name="fNamePr", type="string", length=64)
  167.      */
  168.     private $fNamePr;
  169.     /**
  170.      * @var string
  171.      *
  172.      * @ORM\Column(name="fNameDt", type="string", length=64)
  173.      */
  174.     private $fNameDt;
  175.     /**
  176.      * @var string
  177.      *
  178.      * @ORM\Column(name="fNameUkr", type="string", length=64)
  179.      */
  180.     private $fNameUkr;
  181.     /**
  182.      * @var string
  183.      *
  184.      * @ORM\Column(name="fNameUkrRd", type="string", length=64)
  185.      */
  186.     private $fNameUkrRd;
  187.     /**
  188.      * @var string
  189.      *
  190.      * @ORM\Column(name="fNameUkrVn", type="string", length=64)
  191.      */
  192.     private $fNameUkrVn;
  193.     /**
  194.      * @var string
  195.      *
  196.      * @ORM\Column(name="fNameUkrPr", type="string", length=64)
  197.      */
  198.     private $fNameUkrPr;
  199.     /**
  200.      * @var string
  201.      *
  202.      * @ORM\Column(name="fNameUkrDt", type="string", length=64)
  203.      */
  204.     private $fNameUkrDt;
  205.     /**
  206.      * @var string
  207.      *
  208.      * @ORM\Column(name="fNameTr", type="string", length=64)
  209.      */
  210.     private $fNameTr;
  211.     /**
  212.      * @var integer
  213.      *
  214.      * @ORM\Column(name="fTarget", type="smallint", length=1, options={"unsigned"=true})
  215.      */
  216.     private $fTarget;
  217.     /**
  218.      * @var string
  219.      *
  220.      * @ORM\Column(name="fArrivals", type="string", length=200, options={"default":"","comment"="курорты прибытия"})
  221.      */
  222.     private $fArrivals;
  223.     /**
  224.      * @var integer
  225.      * @ORM\Column(name="fPriority", type="smallint", length=1, options={"comment"="приоритет"})
  226.      */
  227.     private $fPriority;
  228.     /**
  229.      * @var float
  230.      * @ORM\Column(name="fSouthWest", type="decimal", precision=8, scale=5, options={"default":NULL}, nullable=true)
  231.      */
  232.     private $fSouthWest;
  233.     /**
  234.      * @var float
  235.      * @ORM\Column(name="fNorthEast", type="decimal", precision=8, scale=5, options={"default":NULL}, nullable=true)
  236.      */
  237.     private $fNorthEast;
  238.     /**
  239.      * @var integer
  240.      *
  241.      * @ORM\Column(name="fZoom", type="smallint", length=3, options={"default":NULL}, nullable=true)
  242.      */
  243.     private $fZoom;
  244.     /**
  245.      */
  246.     public $tooltip;
  247. //    /**
  248. //     * @var Gallery|null
  249. //     * @ORM\OneToOne(targetEntity="App\Application\Sonata\MediaBundle\Entity\Gallery", cascade={"all"}, orphanRemoval=true)
  250. //     * @ORM\JoinColumn(name="gallery_id", referencedColumnName="id", onDelete="SET NULL")
  251. //     */
  252. //    private $gallery;
  253.     /**
  254.      * Вага сезона в рамках міста
  255.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\CitiesWeight", mappedBy="city", orphanRemoval=true, cascade={"persist"})
  256.      */
  257.     private $citiesWeights;
  258.     /**
  259.      * Вага міста (курорта) в рамках країни
  260.      * @ORM\Column(name="cityWeight", type="integer", nullable=true, options={"comment"="Приоритет для посадочных страниц"})
  261.      */
  262.     private $weight;
  263.     /**
  264.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\PriceIndex", mappedBy="city", orphanRemoval=true, cascade={"persist"})
  265.      */
  266.     private $priceIndex;
  267.     /**
  268.      */
  269.     private $seoData;
  270.     /**
  271.      */
  272.     private $guideSeo;
  273.     /**
  274.      */
  275.     private $selected false;
  276.     /**
  277.      */
  278.     private $regionId null;
  279.     /**
  280.      * @var int|null
  281.      *
  282.      * @ORM\Column(name="searchWeight", type="smallint", nullable=true, options={"unsigned"=true, "comment"="Вес для поиска"})
  283.      */
  284.     private $searchWeight;
  285.     /**
  286.      * @var int|null
  287.      *
  288.      * @ORM\Column(name="gallery_id", type="integer", nullable=true)
  289.      */
  290.     private $galleryId;
  291.     private $priceUah null;
  292.     /**
  293.      * @ORM\Column(type="integer", nullable=true, options={"unsigned"=true,"comment"="связь с images.id=this.image AND objectIdobjectId=rec_id AND objectType=city"})
  294.      */
  295.     private $image;
  296.     /**
  297.      * @var Collection|GeoCategoryValues[]
  298.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\GeoCategoryValues", mappedBy="city", cascade={"persist"}, orphanRemoval=true)
  299.      */
  300.     private $cityCategoryValues;
  301.     /**
  302.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\TRefsCity", mappedBy="city", cascade={"persist"})
  303.      * @ORM\JoinColumn(name="rec_id", referencedColumnName="fBindId")
  304.      */
  305.     private $faqText;
  306.     /**
  307.      * @ORM\OneToMany(targetEntity="App\Entity\Otpusk\TRefsCity", mappedBy="text", cascade={"persist"})
  308.      * @ORM\JoinColumn(name="rec_id", referencedColumnName="fBindId")
  309.      */
  310.     private $citiesText;
  311.     /**
  312.      * @ORM\OneToMany(targetEntity=GeoBlock::class, mappedBy="city", cascade={"persist"}, orphanRemoval=true)
  313.      */
  314.     private $geoBlocks;
  315.     /**
  316.      * @ORM\Column(type="string", length=32, nullable=true)
  317.      */
  318.     private $language;
  319.     /**
  320.      * @ORM\Column(type="string", length=32, nullable=true)
  321.      */
  322.     private $language_ukr;
  323.     /**
  324.      * @ORM\Column(type="string", length=32, nullable=true)
  325.      */
  326.     private $currencyName;
  327.     /**
  328.      * @ORM\Column(type="string", length=32, nullable=true)
  329.      */
  330.     private $currencyName_ukr;
  331.     /**
  332.      * @ORM\Column(type="string", length=6, nullable=true, options={"comment"="Время полета в минутах"})
  333.      */
  334.     private $flightTime;
  335.     /**
  336.      * @ORM\Column(type="string", length=6, nullable=true, options={"comment"="Местное время, GMT"})
  337.      */
  338.     private $timeLocal;
  339.     /**
  340.      * @ORM\Column(type="string", length=28, nullable=true, options={"comment"="Часовой пояс"})
  341.      */
  342.     private $timeZone;
  343.     /**
  344.      * @ORM\Column(type="string", length=32, nullable=true)
  345.      */
  346.     private $coffeeCost;
  347.     /**
  348.      * @ORM\Column(type="string", length=32, nullable=true)
  349.      */
  350.     private $foodCost;
  351.     /**
  352.      * @ORM\Column(type="boolean", options={"default":0})
  353.      */
  354.     private $publish;
  355.     /**
  356.      * @ORM\Column(type="string", length=128)
  357.      */
  358.     private $fNameBy;
  359.     /**
  360.      * @ORM\Column(type="string", length=128)
  361.      */
  362.     private $fNameEe;
  363.     /**
  364.      * @ORM\Column(type="string", length=128)
  365.      */
  366.     private $fNameLt;
  367.     /**
  368.      * @ORM\Column(type="string", length=128)
  369.      */
  370.     private $fNameLv;
  371.     /**
  372.      * @ORM\Column(type="string", length=128)
  373.      */
  374.     private $fNamePl;
  375.     /**
  376.      * @ORM\Column(type="string", length=128)
  377.      */
  378.     private $fNameUz;
  379.     /**
  380.      * @ORM\Column(type="string", length=128)
  381.      */
  382.     private $fNameRo;
  383.     /**
  384.      * @ORM\Column(type="string", length=128)
  385.      */
  386.     private $fNameByRd;
  387.     /**
  388.      * @ORM\Column(type="string", length=128)
  389.      */
  390.     private $fNameEeRd;
  391.     /**
  392.      * @ORM\Column(type="string", length=128)
  393.      */
  394.     private $fNameLtRd;
  395.     /**
  396.      * @ORM\Column(type="string", length=128)
  397.      */
  398.     private $fNameLvRd;
  399.     /**
  400.      * @ORM\Column(type="string", length=128)
  401.      */
  402.     private $fNamePlRd;
  403.     /**
  404.      * @ORM\Column(type="string", length=128)
  405.      */
  406.     private $fNameUzRd;
  407.     /**
  408.      * @ORM\Column(type="string", length=128)
  409.      */
  410.     private $fNameRoRd;
  411.     /**
  412.      * @ORM\Column(type="string", length=128)
  413.      */
  414.     private $fNameByVn;
  415.     /**
  416.      * @ORM\Column(type="string", length=128)
  417.      */
  418.     private $fNameEeVn;
  419.     /**
  420.      * @ORM\Column(type="string", length=128)
  421.      */
  422.     private $fNameLtVn;
  423.     /**
  424.      * @ORM\Column(type="string", length=128)
  425.      */
  426.     private $fNameLvVn;
  427.     /**
  428.      * @ORM\Column(type="string", length=128)
  429.      */
  430.     private $fNamePlVn;
  431.     /**
  432.      * @ORM\Column(type="string", length=128)
  433.      */
  434.     private $fNameUzVn;
  435.     /**
  436.      * @ORM\Column(type="string", length=128)
  437.      */
  438.     private $fNameRoVn;
  439.     /**
  440.      * @ORM\Column(type="string", length=128)
  441.      */
  442.     private $fNameByPr;
  443.     /**
  444.      * @ORM\Column(type="string", length=128)
  445.      */
  446.     private $fNameEePr;
  447.     /**
  448.      * @ORM\Column(type="string", length=128)
  449.      */
  450.     private $fNameLtPr;
  451.     /**
  452.      * @ORM\Column(type="string", length=128)
  453.      */
  454.     private $fNameLvPr;
  455.     /**
  456.      * @ORM\Column(type="string", length=128)
  457.      */
  458.     private $fNamePlPr;
  459.     /**
  460.      * @ORM\Column(type="string", length=128)
  461.      */
  462.     private $fNameUzPr;
  463.     /**
  464.      * @ORM\Column(type="string", length=128)
  465.      */
  466.     private $fNameRoPr;
  467.     /**
  468.      * @ORM\Column(type="string", length=128)
  469.      */
  470.     private $fNameByDt;
  471.     /**
  472.      * @ORM\Column(type="string", length=128)
  473.      */
  474.     private $fNameEeDt;
  475.     /**
  476.      * @ORM\Column(type="string", length=128)
  477.      */
  478.     private $fNameLtDt;
  479.     /**
  480.      * @ORM\Column(type="string", length=128)
  481.      */
  482.     private $fNameLvDt;
  483.     /**
  484.      * @ORM\Column(type="string", length=128)
  485.      */
  486.     private $fNamePlDt;
  487.     /**
  488.      * @ORM\Column(type="string", length=128)
  489.      */
  490.     private $fNameUzDt;
  491.     /**
  492.      * @ORM\Column(type="string", length=128)
  493.      */
  494.     private $fNameRoDt;
  495.     /**
  496.      * @ORM\Column(type="string", length=255)
  497.      */
  498.     private $seasonalityMonths;
  499.     /**
  500.      * @ORM\Column(type="string", length=128)
  501.      */
  502.     private $fNameKk;
  503.     /**
  504.      * @ORM\Column(type="string", length=128)
  505.      */
  506.     private $fNameKkRd;
  507.     /**
  508.      * @ORM\Column(type="string", length=128)
  509.      */
  510.     private $fNameKkVn;
  511.     /**
  512.      * @ORM\Column(type="string", length=128)
  513.      */
  514.     private $fNameKkPr;
  515.     /**
  516.      * @ORM\Column(type="string", length=128)
  517.      */
  518.     private $fNameKkDt;
  519.     /**
  520.      * @return Collection|GeoCategoryValues[]
  521.      */
  522.     public function getCityCategoryValues(): Collection
  523.     {
  524.         return $this->cityCategoryValues;
  525.     }
  526.     public function addCity(GeoCategoryValues $value): self
  527.     {
  528.         if (!$this->cityCategoryValues->contains($value)) {
  529.             $this->cityCategoryValues[] = $value;
  530.             $value->setCity($this);
  531.         }
  532.         return $this;
  533.     }
  534.     public function removeCity(GeoCategoryValues $value): self
  535.     {
  536.         if ($this->cityCategoryValues->contains($value)) {
  537.             $this->cityCategoryValues->removeElement($value);
  538.             if ($value->getCity() === $this) {
  539.                 $value->setCity(null);
  540.             }
  541.         }
  542.         return $this;
  543.     }
  544.     /**
  545.      * @return int
  546.      */
  547.     public function getCountryID(): int
  548.     {
  549.         return $this->fCountryID;
  550.     }
  551.     /**
  552.      * @param int $fCountryID
  553.      */
  554.     public function setCountryID(int $fCountryID): void
  555.     {
  556.         $this->fCountryID $fCountryID;
  557.     }
  558.     /**
  559.      * @return string
  560.      */
  561.     public function getIATA(): ?string
  562.     {
  563.         return $this->fIATA;
  564.     }
  565.     /**
  566.      * @param string $fIATA
  567.      */
  568.     public function setIATA(?string $fIATA): void
  569.     {
  570.         if ($fIATA$this->fIATA $fIATA;
  571.     }
  572.     /**
  573.      * @return string
  574.      */
  575.     public function getName(): string
  576.     {
  577.         return $this->fName ?? '';
  578.     }
  579.     public function getFname(): string
  580.     {
  581.         return $this->fName ?? '';
  582.     }
  583.     public function getFNameRu(): string
  584.     {
  585.         return $this->fName ?? '';
  586.     }
  587.     public function getFNameUa(): string
  588.     {
  589.         return $this->fNameUkr ?? '';
  590.     }
  591.     /**
  592.      * @param string $fName
  593.      */
  594.     public function setName(string $fName): void
  595.     {
  596.         $this->fName $fName;
  597.     }
  598.     public function setFname(string $fName): void
  599.     {
  600.         $this->fName $fName;
  601.     }
  602.     /**
  603.      * @return string
  604.      */
  605.     public function getNameAlt(): string
  606.     {
  607.         return $this->fNameAlt;
  608.     }
  609.     /**
  610.      * @param string $fNameAlt
  611.      */
  612.     public function setNameAlt(string $fNameAlt): void
  613.     {
  614.         $this->fNameAlt $fNameAlt;
  615.     }
  616.     /**
  617.      * @return string
  618.      */
  619.     public function getNameEng(): string
  620.     {
  621.         return $this->fNameEng;
  622.     }
  623.     /**
  624.      * @param string $fNameEng
  625.      */
  626.     public function setNameEng(string $fNameEng): void
  627.     {
  628.         $this->fNameEng $fNameEng;
  629.     }
  630.     /**
  631.      * @return string
  632.      */
  633.     public function getNameRd(): string
  634.     {
  635.         return $this->fNameRd;
  636.     }
  637.     /**
  638.      * @param string $fNameRd
  639.      */
  640.     public function setNameRd(string $fNameRd): void
  641.     {
  642.         $this->fNameRd $fNameRd;
  643.     }
  644.     /**
  645.      * @return string
  646.      */
  647.     public function getNameVn(): string
  648.     {
  649.         return $this->fNameVn;
  650.     }
  651.     /**
  652.      * @param string $fNameVn
  653.      */
  654.     public function setNameVn(string $fNameVn): void
  655.     {
  656.         $this->fNameVn $fNameVn;
  657.     }
  658.     /**
  659.      * @return string
  660.      */
  661.     public function getNamePr(): string
  662.     {
  663.         return $this->fNamePr;
  664.     }
  665.     /**
  666.      * @param string $fNamePr
  667.      */
  668.     public function setNamePr(string $fNamePr): void
  669.     {
  670.         $this->fNamePr $fNamePr;
  671.     }
  672.     /**
  673.      * @return string
  674.      */
  675.     public function getNameDt(): string
  676.     {
  677.         return $this->fNameDt;
  678.     }
  679.     /**
  680.      * @param string $fNameDt
  681.      */
  682.     public function setNameDt(string $fNameDt): void
  683.     {
  684.         $this->fNameDt $fNameDt;
  685.     }
  686.     /**
  687.      * @return string
  688.      */
  689.     public function getNameUkr(): string
  690.     {
  691.         return $this->fNameUkr;
  692.     }
  693.     /**
  694.      * @param string $fNameUkr
  695.      */
  696.     public function setNameUkr(string $fNameUkr): void
  697.     {
  698.         $this->fNameUkr $fNameUkr;
  699.     }
  700.     /**
  701.      * @return string
  702.      */
  703.     public function getNameUkrRd(): string
  704.     {
  705.         return $this->fNameUkrRd;
  706.     }
  707.     /**
  708.      * @param string $fNameUkrRd
  709.      */
  710.     public function setNameUkrRd(string $fNameUkrRd): void
  711.     {
  712.         $this->fNameUkrRd $fNameUkrRd;
  713.     }
  714.     /**
  715.      * @return string
  716.      */
  717.     public function getNameUkrVn(): string
  718.     {
  719.         return $this->fNameUkrVn;
  720.     }
  721.     /**
  722.      * @param string $fNameUkrVn
  723.      */
  724.     public function setNameUkrVn(string $fNameUkrVn): void
  725.     {
  726.         $this->fNameUkrVn $fNameUkrVn;
  727.     }
  728.     /**
  729.      * @return string
  730.      */
  731.     public function getNameUkrPr(): string
  732.     {
  733.         return $this->fNameUkrPr;
  734.     }
  735.     /**
  736.      * @param string $fNameUkrPr
  737.      */
  738.     public function setNameUkrPr(string $fNameUkrPr): void
  739.     {
  740.         $this->fNameUkrPr $fNameUkrPr;
  741.     }
  742.     /**
  743.      * @return string
  744.      */
  745.     public function getNameUkrDt(): string
  746.     {
  747.         return $this->fNameUkrDt;
  748.     }
  749.     /**
  750.      * @param string $fNameUkrDt
  751.      */
  752.     public function setNameUkrDt(string $fNameUkrDt): void
  753.     {
  754.         $this->fNameUkrDt $fNameUkrDt;
  755.     }
  756.     /**
  757.      * @return string
  758.      */
  759.     public function getNameTr(): string
  760.     {
  761.         return str_replace(' ''_'$this->fNameTr);
  762.     }
  763.     /**
  764.      * @param string $fNameTr
  765.      */
  766.     public function setNameTr(string $fNameTr): void
  767.     {
  768.         //$this->fNameTr = str_replace('_', ' ', $fNameTr);
  769.         $this->fNameTr $fNameTr;
  770.     }
  771.     /**
  772.      * @return int
  773.      */
  774.     public function getTarget(): int
  775.     {
  776.         return $this->fTarget;
  777.     }
  778.     /**
  779.      * @param int $fTarget
  780.      */
  781.     public function setTarget(int $fTarget): void
  782.     {
  783.         $this->fTarget $fTarget;
  784.     }
  785.     /**
  786.      * @return string
  787.      */
  788.     public function getArrivals(): ?string
  789.     {
  790.         return $this->fArrivals;
  791.     }
  792.     /**
  793.      * @param string $fArrivals
  794.      */
  795.     public function setArrivals(?string $fArrivals): void
  796.     {
  797.         if (!empty($fArrivals)) $this->fArrivals $fArrivals;
  798.     }
  799.     /**
  800.      * @return int
  801.      */
  802.     public function getPriority(): int
  803.     {
  804.         return $this->fPriority ?? 0;
  805.     }
  806.     /**
  807.      * @param int $fPriority
  808.      */
  809.     public function setPriority(int $fPriority): void
  810.     {
  811.         $this->fPriority $fPriority;
  812.     }
  813.     /**
  814.      * @return float
  815.      */
  816.     public function getSouthWest(): float
  817.     {
  818.         return $this->fSouthWest;
  819.     }
  820.     /**
  821.      * @param float $fSouthWest
  822.      */
  823.     public function setSouthWest(float $fSouthWest): void
  824.     {
  825.         $this->fSouthWest $fSouthWest;
  826.     }
  827.     /**
  828.      * @return float
  829.      */
  830.     public function getNorthEast(): float
  831.     {
  832.         return $this->fNorthEast;
  833.     }
  834.     /**
  835.      * @param float $fNorthEast
  836.      */
  837.     public function setNorthEast(float $fNorthEast): void
  838.     {
  839.         $this->fNorthEast $fNorthEast;
  840.     }
  841.     /**
  842.      * @return int
  843.      */
  844.     public function getZoom(): int
  845.     {
  846.         return $this->fZoom;
  847.     }
  848.     /**
  849.      * @param int $fZoom
  850.      */
  851.     public function setZoom(int $fZoom): void
  852.     {
  853.         $this->fZoom $fZoom;
  854.     }
  855.     public function __toString()
  856.     {
  857.         return $this->getName().(isset($this->country)?', '.$this->getCountry()->getName():'');
  858.     }
  859.     /**
  860.      * @return Country
  861.      */
  862.     public function getCountry(): Country
  863.     {
  864.         return $this->country;
  865.     }
  866.     /**
  867.      * @param Country $country
  868.      */
  869.     public function setCountry(Country $country): void
  870.     {
  871.         $this->country $country;
  872.     }
  873.     /**
  874.      * @return int
  875.      */
  876.     public function getSearchWeight(): int
  877.     {
  878.         return $this->searchWeight;
  879.     }
  880.     /**
  881.      * @param int $searchWeight
  882.      */
  883.     public function setSearchWeight(int $searchWeight): void
  884.     {
  885.         $this->searchWeight $searchWeight;
  886.     }
  887. //    /**
  888. //     * @return Gallery|null
  889. //     */
  890. //    public function getGallery(): ?Gallery
  891. //    {
  892. //        return $this->gallery;
  893. //    }
  894. //
  895. //    /**
  896. //     * @param Gallery|null $gallery
  897. //     * @return self
  898. //     */
  899. //    public function setGallery(?Gallery $gallery): self
  900. //    {
  901. //        $this->gallery = $gallery;
  902. //        return $this;
  903. //    }
  904. //
  905. //    /**
  906. //     * @return ArrayCollection
  907. //     */
  908. //    public function getMedias()
  909. //    {
  910. //        $medias =  new ArrayCollection();
  911. //        if(empty($gallery = $this->getGallery()) || !$gallery->getEnabled()){
  912. //            return $medias;
  913. //        }
  914. //
  915. //        foreach ($gallery->getGalleryHasMedias() as $galleryHasMedia){
  916. //            if (!$galleryHasMedia->getEnabled()) {
  917. //                continue;
  918. //            }
  919. //            if(!empty($galleryHasMedia->getMedia())){
  920. //                $medias->add($galleryHasMedia->getMedia());
  921. //            }
  922. //        }
  923. //
  924. //        return $medias;
  925. //    }
  926. //
  927. //    public function getMediasCount()
  928. //    {
  929. //        try{
  930. //            return $this->getMedias()->count();
  931. //        } catch (EntityNotFoundException $e){
  932. //            return '';
  933. //        }
  934. //    }
  935.     public function getPriorityTitle()
  936.     {
  937.         return $this->priorityTitle[$this->getPriority()] ?? 'Не определено';
  938.     }
  939.     public function __construct()
  940.     {
  941.         $this->rubrics = new ArrayCollection();
  942.         $this->hotels = new ArrayCollection();
  943.         $this->faqText = new ArrayCollection();
  944.         $this->citiesText = new ArrayCollection();
  945.         $this->citiesWeights = new ArrayCollection();
  946.         $this->priceIndex = new ArrayCollection();
  947.         $this->cityCategoryValues = new ArrayCollection();
  948.         $this->geoBlocks = new ArrayCollection();
  949.         $this->similarCities = new ArrayCollection();
  950.         $this->similarCitiesIn = new ArrayCollection();
  951.         $this->countryPopulars = new ArrayCollection();
  952.         $this->airports = new ArrayCollection();
  953.     }
  954.     /**
  955.      * @return Collection|CitiesWeight[]
  956.      */
  957.     public function getCitiesWeights(): Collection
  958.     {
  959.         return $this->citiesWeights;
  960.     }
  961.     public function addCitiesWeight(CitiesWeight $citiesWeight)
  962.     {
  963.         if ($this->citiesWeights->contains($citiesWeight)) {
  964.             return;
  965.         }
  966.         $this->citiesWeights->add($citiesWeight);
  967.         $citiesWeight->setCity($this);
  968.     }
  969.     public function getWeight(): ?int
  970.     {
  971.         return $this->weight;
  972.     }
  973.     public function setWeight(?int $weight): self
  974.     {
  975.         $this->weight $weight;
  976.         return $this;
  977.     }
  978.     /**
  979.      * @return Collection|CitiesWeight[]
  980.      */
  981.     public function getPriceIndex(): Collection
  982.     {
  983.         return $this->priceIndex;
  984.     }
  985.     public function addPriceIndex(PriceIndex $priceIndex)
  986.     {
  987.         if ($this->priceIndex->contains($priceIndex)) {
  988.             return;
  989.         }
  990.         $this->priceIndex->add($priceIndex);
  991.         $priceIndex->setCity($this);
  992.     }
  993.     /**
  994.      * @return array
  995.      */
  996.     public function getSeoData(): array
  997.     {
  998.         $value Yaml::parseFile('../seofile.yaml');
  999.         $value $value['seo']['excursions']['city'];
  1000.         return array(
  1001.             'title' => sprintf($value['title'], $this->getNameVn(), $this->getCountry()->getName(), date('Y')),
  1002.             'description' => sprintf($value['description'], $this->getNameVn(), $this->getCountry()->getName(), date('Y')),
  1003.             'keywords' => sprintf($value['keywords'], $this->getNameVn())
  1004.         );
  1005.     }
  1006.     /**
  1007.      * @return array
  1008.      */
  1009.     public function getGuideSeo($locale 'ru'): array
  1010.     {
  1011.         $value Yaml::parseFile('../seofile.'.$locale.'.yaml');
  1012.         $value $value['seo']['tours']['guideCity'];
  1013.         return ($locale == 'ua') ? array(
  1014.             'title' => sprintf($value['title'], $this->getNameUkr(), $this->getCountry()->getNameUkr(), $this->getNameUkrPr()),
  1015.             'description' => sprintf($value['description'], $this->getNameUkrPr(), $this->getNameUkrRd()),
  1016.             'keywords' => sprintf($value['keywords'], $this->getNameUkr(), $this->getNameUkrPr(), $this->getNameUkrPr(), $this->getNameUkrRd()),
  1017.             'h1' => sprintf($value['h1'], $this->getNameUkr())
  1018.         ) : array(
  1019.             'title' => sprintf($value['title'], $this->getName(), $this->getCountry()->getName(), $this->getNamePr()),
  1020.             'description' => sprintf($value['description'], $this->getNamePr(), $this->getNameRd()),
  1021.             'keywords' => sprintf($value['keywords'], $this->getName(), $this->getNamePr(), $this->getNamePr(), $this->getNameRd()),
  1022.             'h1' => sprintf($value['h1'], $this->getName())
  1023.         );
  1024.     }
  1025.     /**
  1026.      */
  1027.     public function getSelected()
  1028.     {
  1029.         return $this->selected;
  1030.     }
  1031.     public function setSelected()
  1032.     {
  1033.         $this->selected true;
  1034.         return $this;
  1035.     }
  1036.     public function getGalleryId()
  1037.     {
  1038.         return $this->galleryId;
  1039.     }
  1040.     /**
  1041.      * @param int|null $galleryId
  1042.      * @return $this
  1043.      */
  1044.     public function setGalleryId(?int $galleryId)
  1045.     {
  1046.         $this->galleryId $galleryId;
  1047.         return $this;
  1048.     }
  1049.     public function getRegionId()
  1050.     {
  1051.         return $this->regionId;
  1052.     }
  1053.     /**
  1054.      * @param int|null $regionId
  1055.      * @return $this
  1056.      */
  1057.     public function setRegionId(?int $regionId)
  1058.     {
  1059.         $this->regionId $regionId;
  1060.         return $this;
  1061.     }
  1062.     public function getFaqText(): Collection
  1063.     {
  1064.         $criteria Criteria::create();
  1065.         $criteria->where($criteria::expr()->eq('type'96))
  1066.                 ->orderBy(array('fSort' => 'DESC'));
  1067.         $this->faqText $this->faqText->matching($criteria);
  1068.         return $this->faqText;
  1069.     }
  1070.     public function addFaqText($faqText): self
  1071.     {
  1072.         $faqText->setType(96);
  1073.         if (!$this->faqText->contains($faqText)) {
  1074.             $this->faqText[] = $faqText;
  1075.             $faqText->addCity($this);
  1076.         }
  1077.         return $this;
  1078.     }
  1079.     public function setFaqText($faqText)
  1080.     {
  1081.         if (gettype($faqText) == "array") {
  1082.             $faqText = new ArrayCollection($faqText);
  1083.         }
  1084.         foreach($faqText as $text) {
  1085.             $text->addCity($this);
  1086.         }
  1087.         $this->faqText $faqText;
  1088.         return $this;
  1089.     }
  1090.     public function removeFaqText(TRefsCity $faqText): self
  1091.     {
  1092.         if ($this->faqText->contains($faqText)) {
  1093.             $this->faqText->removeElement($faqText);
  1094.             $faqText->removeCity($this);
  1095.         }
  1096.         return $this;
  1097.     }
  1098.     /**
  1099.      * @return Collection
  1100.      */
  1101.     public function getCitiesText(): Collection
  1102.     {
  1103.         return $this->citiesText;
  1104.     }
  1105.     public function getImage(): ?int
  1106.     {
  1107.         return $this->image;
  1108.     }
  1109.     public function setImage(?int $image): self
  1110.     {
  1111.         $this->image $image;
  1112.         return $this;
  1113.     }
  1114.     function getImagePath()
  1115.     {
  1116.         if (!is_null($this->image)) {
  1117.             return $this->imageSource.sprintf(
  1118.                     '%02d/%02d/%02d/%02d/',
  1119.                     ($this->image 100000000) % 100, ($this->image 1000000) % 100, ($this->image 10000) % 100, ($this->image 100) % 100
  1120.                 ) . $this->image '.webp';
  1121.         }
  1122.         return null;
  1123.     }
  1124.     public function getPriceUah()
  1125.     {
  1126.         return $this->priceUah;
  1127.     }
  1128.     public function setPriceUah($priceUah): void
  1129.     {
  1130.         $this->priceUah $priceUah;
  1131.     }
  1132.     /**
  1133.      * @return Collection|GeoBlock[]
  1134.      */
  1135.     public function getGeoBlocks(): Collection
  1136.     {
  1137.         return $this->geoBlocks;
  1138.     }
  1139.     public function addGeoBlock(GeoBlock $geoBlock): self
  1140.     {
  1141.         if (!$this->geoBlocks->contains($geoBlock)) {
  1142.             $this->geoBlocks[] = $geoBlock;
  1143.             $geoBlock->setCity($this);
  1144.         }
  1145.         return $this;
  1146.     }
  1147.     public function removeGeoBlock(GeoBlock $geoBlock): self
  1148.     {
  1149.         if ($this->geoBlocks->removeElement($geoBlock)) {
  1150.             // set the owning side to null (unless already changed)
  1151.             if ($geoBlock->getCity() === $this) {
  1152.                 $geoBlock->setCity(null);
  1153.             }
  1154.         }
  1155.         return $this;
  1156.     }
  1157.     public function getLanguage(): ?string
  1158.     {
  1159.         return $this->language;
  1160.     }
  1161.     public function setLanguage($language): void
  1162.     {
  1163.         $this->Language $language;
  1164.     }
  1165.     public function getLanguageUkr(): ?string
  1166.     {
  1167.         return $this->language_ukr;
  1168.     }
  1169.     public function setLanguageUkr($languageukr): void
  1170.     {
  1171.         $this->Language_ukr $languageukr;
  1172.     }
  1173.     public function getCurrencyName(): ?string
  1174.     {
  1175.         return $this->currencyName;
  1176.     }
  1177.     public function setCurrencyName($currencyName): void
  1178.     {
  1179.         $this->currencyName $currencyName;
  1180.     }
  1181.     public function getCurrencyNameUkr(): ?string
  1182.     {
  1183.         return $this->currencyName_ukr;
  1184.     }
  1185.     public function setCurrencyNameUkr($currencynameukr): void
  1186.     {
  1187.         $this->currencyName_ukr $currencynameukr;
  1188.     }
  1189.     public function getFlightTime(): ?string
  1190.     {
  1191.         return $this->flightTime;
  1192.     }
  1193.     public function setFlightTime($flightTime): void
  1194.     {
  1195.         $this->flightTime $flightTime;
  1196.     }
  1197.     public function getTimeLocal(): ?string
  1198.     {
  1199.         return $this->timeLocal;
  1200.     }
  1201.     public function setTimeLocal($timeLocal): void
  1202.     {
  1203.         $this->timeLocal $timeLocal;
  1204.     }
  1205.     public function getTimeZone(): ?string
  1206.     {
  1207.         return $this->timeZone;
  1208.     }
  1209.     public function setTimeZone($timeZone): void
  1210.     {
  1211.         $this->timeZone $timeZone;
  1212.     }
  1213.     public function getCoffeeCost(): ?string
  1214.     {
  1215.         return $this->coffeeCost;
  1216.     }
  1217.     public function setCoffeeCost($coffeeCost): void
  1218.     {
  1219.         $this->coffeeCost $coffeeCost;
  1220.     }
  1221.     public function getFoodCost(): ?string
  1222.     {
  1223.         return $this->foodCost;
  1224.     }
  1225.     public function setFoodCost($foodCost): void
  1226.     {
  1227.         $this->foodCost $foodCost;
  1228.     }
  1229.     public function getPublish(): ?bool
  1230.     {
  1231.         return $this->publish;
  1232.     }
  1233.     public function setPublish($publish): void
  1234.     {
  1235.         $this->publish $publish;
  1236.     }
  1237.     /**
  1238.      * @return Collection|CitiesSimilar[]
  1239.      */
  1240.     public function getSimilarCities(): Collection
  1241.     {
  1242.         return $this->similarCities;
  1243.     }
  1244.     public function addSimilarCity(CitiesSimilar $similarCities): self
  1245.     {
  1246.         if (!$this->similarCities->contains($similarCities)) {
  1247.             $this->similarCities[] = $similarCities;
  1248.             $similarCities->setCitySimilar($this);
  1249.         }
  1250.         return $this;
  1251.     }
  1252.     public function removeSimilarCity(CitiesSimilar $similarCities): self
  1253.     {
  1254.         if ($this->similarCities->contains($similarCities)) {
  1255.             $this->similarCities->removeElement($similarCities);
  1256.             if ($similarCities->getCitySimilar() === $this) {
  1257.                 $similarCities->setCitySimilar(null);
  1258.             }
  1259.         }
  1260.         return $this;
  1261.     }
  1262.     /**
  1263.      * @return Collection|CitiesSimilar[]
  1264.      */
  1265.     public function getSimilarCitiesIn(): Collection
  1266.     {
  1267.         return $this->similarCitiesIn;
  1268.     }
  1269.     public function addSimilarCityIn(CitiesSimilar $similarCitiesIn): self
  1270.     {
  1271.         if (!$this->similarCitiesIn->contains($similarCitiesIn)) {
  1272.             $this->similarCitiesIn[] = $similarCitiesIn;
  1273.             $similarCitiesIn->setCitySimilarIn($this);
  1274.         }
  1275.         return $this;
  1276.     }
  1277.     public function removeSimilarCityIn(CitiesSimilar $similarCitiesIn): self
  1278.     {
  1279.         if ($this->similarCitiesIn->contains($similarCitiesIn)) {
  1280.             $this->similarCitiesIn->removeElement($similarCitiesIn);
  1281.             if ($similarCitiesIn->getCitySimilarIn() === $this) {
  1282.                 $similarCitiesIn->setCitySimilarIn(null);
  1283.             }
  1284.         }
  1285.         return $this;
  1286.     }
  1287.     /**
  1288.      * @return Collection|RubricCity[]
  1289.      */
  1290.     public function getRubrics(): Collection
  1291.     {
  1292.         return $this->rubrics;
  1293.     }
  1294.     public function addRubric(RubricCity $rubric): self
  1295.     {
  1296.         if (!$this->rubrics->contains($rubric)) {
  1297.             $this->rubrics[] = $rubric;
  1298.             $rubric->setCity($this);
  1299.         }
  1300.         return $this;
  1301.     }
  1302.     public function removeRubric(RubricCity $rubric): self
  1303.     {
  1304.         if ($this->rubrics->contains($rubric)) {
  1305.             $this->rubrics->removeElement($rubric);
  1306.             if ($rubric->getCity() === $this) {
  1307.                 $rubric->setCity(null);
  1308.             }
  1309.         }
  1310.         return $this;
  1311.     }
  1312.     /**
  1313.      * @return Collection|CountryPopular[]
  1314.      */
  1315.     public function getCountryPopulars(): Collection
  1316.     {
  1317.         return $this->countryPopulars;
  1318.     }
  1319.     public function addCountryPopular(CountryPopular $countryPopular): self
  1320.     {
  1321.         if (!$this->countryPopulars->contains($countryPopular)) {
  1322.             $this->countryPopulars[] = $countryPopular;
  1323.             $countryPopular->setCity($this);
  1324.         }
  1325.         return $this;
  1326.     }
  1327.     public function removeCountryPopular(CountryPopular $countryPopular): self
  1328.     {
  1329.         if ($this->countryPopulars->contains($countryPopular)) {
  1330.             $this->countryPopulars->removeElement($countryPopular);
  1331.             if ($countryPopular->getCity() === $this) {
  1332.                 $countryPopular->setCity(null);
  1333.             }
  1334.         }
  1335.         return $this;
  1336.     }
  1337.     /**
  1338.      * @return int
  1339.      */
  1340.     public function getFPriority(): int
  1341.     {
  1342.         return $this->fPriority ?? 0;
  1343.     }
  1344.     /**
  1345.      * @param int $fPriority
  1346.      */
  1347.     public function setFPriority(int $fPriority): void
  1348.     {
  1349.         $this->fPriority $fPriority;
  1350.     }
  1351.     public function getTypeLabel(): string
  1352.     {
  1353.         return self::LABEL_CITY;
  1354.     }
  1355.     public function getFNameBy(): ?string
  1356.     {
  1357.         return $this->fNameBy;
  1358.     }
  1359.     public function setFNameBy(string $fNameBy): self
  1360.     {
  1361.         $this->fNameBy $fNameBy;
  1362.         return $this;
  1363.     }
  1364.     public function getFNameEe(): ?string
  1365.     {
  1366.         return $this->fNameEe;
  1367.     }
  1368.     public function setFNameEe(string $fNameEe): self
  1369.     {
  1370.         $this->fNameEe $fNameEe;
  1371.         return $this;
  1372.     }
  1373.     public function getFNameLt(): ?string
  1374.     {
  1375.         return $this->fNameLt;
  1376.     }
  1377.     public function setFNameLt(string $fNameLt): self
  1378.     {
  1379.         $this->fNameLt $fNameLt;
  1380.         return $this;
  1381.     }
  1382.     public function getFNameLv(): ?string
  1383.     {
  1384.         return $this->fNameLv;
  1385.     }
  1386.     public function setFNameLv(string $fNameLv): self
  1387.     {
  1388.         $this->fNameLv $fNameLv;
  1389.         return $this;
  1390.     }
  1391.     public function getFNamePl(): ?string
  1392.     {
  1393.         return $this->fNamePl;
  1394.     }
  1395.     public function setFNamePl(string $fNamePl): self
  1396.     {
  1397.         $this->fNamePl $fNamePl;
  1398.         return $this;
  1399.     }
  1400.     public function getFNameUz(): ?string
  1401.     {
  1402.         return $this->fNameUz;
  1403.     }
  1404.     public function setFNameUz(string $fNameUz): self
  1405.     {
  1406.         $this->fNameUz $fNameUz;
  1407.         return $this;
  1408.     }
  1409.     public function getFNameRo(): ?string
  1410.     {
  1411.         return $this->fNameRo;
  1412.     }
  1413.     public function setFNameRo(string $fNameRo): self
  1414.     {
  1415.         $this->fNameRo $fNameRo;
  1416.         return $this;
  1417.     }
  1418.     public function getFNameByRd(): ?string
  1419.     {
  1420.         return $this->fNameByRd;
  1421.     }
  1422.     public function setFNameByRd(string $fNameByRd): self
  1423.     {
  1424.         $this->fNameByRd $fNameByRd;
  1425.         return $this;
  1426.     }
  1427.     public function getFNameEeRd(): ?string
  1428.     {
  1429.         return $this->fNameEeRd;
  1430.     }
  1431.     public function setFNameEeRd(string $fNameEeRd): self
  1432.     {
  1433.         $this->fNameEeRd $fNameEeRd;
  1434.         return $this;
  1435.     }
  1436.     public function getFNameLtRd(): ?string
  1437.     {
  1438.         return $this->fNameLtRd;
  1439.     }
  1440.     public function setFNameLtRd(string $fNameLtRd): self
  1441.     {
  1442.         $this->fNameLtRd $fNameLtRd;
  1443.         return $this;
  1444.     }
  1445.     public function getFNameLvRd(): ?string
  1446.     {
  1447.         return $this->fNameLvRd;
  1448.     }
  1449.     public function setFNameLvRd(string $fNameLvRd): self
  1450.     {
  1451.         $this->fNameLvRd $fNameLvRd;
  1452.         return $this;
  1453.     }
  1454.     public function getFNamePlRd(): ?string
  1455.     {
  1456.         return $this->fNamePlRd;
  1457.     }
  1458.     public function setFNamePlRd(string $fNamePlRd): self
  1459.     {
  1460.         $this->fNamePlRd $fNamePlRd;
  1461.         return $this;
  1462.     }
  1463.     public function getFNameUzRd(): ?string
  1464.     {
  1465.         return $this->fNameUzRd;
  1466.     }
  1467.     public function setFNameUzRd(string $fNameUzRd): self
  1468.     {
  1469.         $this->fNameUzRd $fNameUzRd;
  1470.         return $this;
  1471.     }
  1472.     public function getFNameRoRd(): ?string
  1473.     {
  1474.         return $this->fNameRoRd;
  1475.     }
  1476.     public function setFNameRoRd(string $fNameRoRd): self
  1477.     {
  1478.         $this->fNameRoRd $fNameRoRd;
  1479.         return $this;
  1480.     }
  1481.     public function getFNameByVn(): ?string
  1482.     {
  1483.         return $this->fNameByVn;
  1484.     }
  1485.     public function setFNameByVn(string $fNameByVn): self
  1486.     {
  1487.         $this->fNameByVn $fNameByVn;
  1488.         return $this;
  1489.     }
  1490.     public function getFNameEeVn(): ?string
  1491.     {
  1492.         return $this->fNameEeVn;
  1493.     }
  1494.     public function setFNameEeVn(string $fNameEeVn): self
  1495.     {
  1496.         $this->fNameEeVn $fNameEeVn;
  1497.         return $this;
  1498.     }
  1499.     public function getFNameLtVn(): ?string
  1500.     {
  1501.         return $this->fNameLtVn;
  1502.     }
  1503.     public function setFNameLtVn(string $fNameLtVn): self
  1504.     {
  1505.         $this->fNameLtVn $fNameLtVn;
  1506.         return $this;
  1507.     }
  1508.     public function getFNameLvVn(): ?string
  1509.     {
  1510.         return $this->fNameLvVn;
  1511.     }
  1512.     public function setFNameLvVn(string $fNameLvVn): self
  1513.     {
  1514.         $this->fNameLvVn $fNameLvVn;
  1515.         return $this;
  1516.     }
  1517.     public function getFNamePlVn(): ?string
  1518.     {
  1519.         return $this->fNamePlVn;
  1520.     }
  1521.     public function setFNamePlVn(string $fNamePlVn): self
  1522.     {
  1523.         $this->fNamePlVn $fNamePlVn;
  1524.         return $this;
  1525.     }
  1526.     public function getFNameUzVn(): ?string
  1527.     {
  1528.         return $this->fNameUzVn;
  1529.     }
  1530.     public function setFNameUzVn(string $fNameUzVn): self
  1531.     {
  1532.         $this->fNameUzVn $fNameUzVn;
  1533.         return $this;
  1534.     }
  1535.     public function getFNameRoVn(): ?string
  1536.     {
  1537.         return $this->fNameRoVn;
  1538.     }
  1539.     public function setFNameRoVn(string $fNameRoVn): self
  1540.     {
  1541.         $this->fNameRoVn $fNameRoVn;
  1542.         return $this;
  1543.     }
  1544.     public function getFNameByPr(): ?string
  1545.     {
  1546.         return $this->fNameByPr;
  1547.     }
  1548.     public function setFNameByPr(string $fNameByPr): self
  1549.     {
  1550.         $this->fNameByPr $fNameByPr;
  1551.         return $this;
  1552.     }
  1553.     public function getFNameEePr(): ?string
  1554.     {
  1555.         return $this->fNameEePr;
  1556.     }
  1557.     public function setFNameEePr(string $fNameEePr): self
  1558.     {
  1559.         $this->fNameEePr $fNameEePr;
  1560.         return $this;
  1561.     }
  1562.     public function getFNameLtPr(): ?string
  1563.     {
  1564.         return $this->fNameLtPr;
  1565.     }
  1566.     public function setFNameLtPr(string $fNameLtPr): self
  1567.     {
  1568.         $this->fNameLtPr $fNameLtPr;
  1569.         return $this;
  1570.     }
  1571.     public function getFNameLvPr(): ?string
  1572.     {
  1573.         return $this->fNameLvPr;
  1574.     }
  1575.     public function setFNameLvPr(string $fNameLvPr): self
  1576.     {
  1577.         $this->fNameLvPr $fNameLvPr;
  1578.         return $this;
  1579.     }
  1580.     public function getFNamePlPr(): ?string
  1581.     {
  1582.         return $this->fNamePlPr;
  1583.     }
  1584.     public function setFNamePlPr(string $fNamePlPr): self
  1585.     {
  1586.         $this->fNamePlPr $fNamePlPr;
  1587.         return $this;
  1588.     }
  1589.     public function getFNameUzPr(): ?string
  1590.     {
  1591.         return $this->fNameUzPr;
  1592.     }
  1593.     public function setFNameUzPr(string $fNameUzPr): self
  1594.     {
  1595.         $this->fNameUzPr $fNameUzPr;
  1596.         return $this;
  1597.     }
  1598.     public function getFNameRoPr(): ?string
  1599.     {
  1600.         return $this->fNameRoPr;
  1601.     }
  1602.     public function setFNameRoPr(string $fNameRoPr): self
  1603.     {
  1604.         $this->fNameRoPr $fNameRoPr;
  1605.         return $this;
  1606.     }
  1607.     public function getFNameByDt(): ?string
  1608.     {
  1609.         return $this->fNameByDt;
  1610.     }
  1611.     public function setFNameByDt(string $fNameByDt): self
  1612.     {
  1613.         $this->fNameByDt $fNameByDt;
  1614.         return $this;
  1615.     }
  1616.     public function getFNameEeDt(): ?string
  1617.     {
  1618.         return $this->fNameEeDt;
  1619.     }
  1620.     public function setFNameEeDt(string $fNameEeDt): self
  1621.     {
  1622.         $this->fNameEeDt $fNameEeDt;
  1623.         return $this;
  1624.     }
  1625.     public function getFNameLtDt(): ?string
  1626.     {
  1627.         return $this->fNameLtDt;
  1628.     }
  1629.     public function setFNameLtDt(string $fNameLtDt): self
  1630.     {
  1631.         $this->fNameLtDt $fNameLtDt;
  1632.         return $this;
  1633.     }
  1634.     public function getFNameLvDt(): ?string
  1635.     {
  1636.         return $this->fNameLvDt;
  1637.     }
  1638.     public function setFNameLvDt(string $fNameLvDt): self
  1639.     {
  1640.         $this->fNameLvDt $fNameLvDt;
  1641.         return $this;
  1642.     }
  1643.     public function getFNamePlDt(): ?string
  1644.     {
  1645.         return $this->fNamePlDt;
  1646.     }
  1647.     public function setFNamePlDt(string $fNamePlDt): self
  1648.     {
  1649.         $this->fNamePlDt $fNamePlDt;
  1650.         return $this;
  1651.     }
  1652.     public function getFNameUzDt(): ?string
  1653.     {
  1654.         return $this->fNameUzDt;
  1655.     }
  1656.     public function setFNameUzDt(string $fNameUzDt): self
  1657.     {
  1658.         $this->fNameUzDt $fNameUzDt;
  1659.         return $this;
  1660.     }
  1661.     public function getFNameRoDt(): ?string
  1662.     {
  1663.         return $this->fNameRoDt;
  1664.     }
  1665.     public function setFNameRoDt(string $fNameRoDt): self
  1666.     {
  1667.         $this->fNameRoDt $fNameRoDt;
  1668.         return $this;
  1669.     }
  1670.     public function timezonList(): array
  1671.     {
  1672.         return array (
  1673.             '(UTC-11:00) Midway Island' => 'Pacific/Midway',
  1674.             '(UTC-11:00) Samoa' => 'Pacific/Samoa',
  1675.             '(UTC-10:00) Hawaii' => 'Pacific/Honolulu',
  1676.             '(UTC-09:00) Alaska' => 'US/Alaska',
  1677.             '(UTC-08:00) Pacific Time (US &amp; Canada)' => 'America/Los_Angeles',
  1678.             '(UTC-08:00) Tijuana' => 'America/Tijuana',
  1679.             '(UTC-07:00) Arizona' => 'US/Arizona',
  1680.             '(UTC-07:00) Chihuahua' => 'America/Chihuahua',
  1681.             '(UTC-07:00) La Paz' => 'America/Chihuahua',
  1682.             '(UTC-07:00) Mazatlan' => 'America/Mazatlan',
  1683.             '(UTC-07:00) Mountain Time (US &amp; Canada)' => 'US/Mountain',
  1684.             '(UTC-06:00) Central America' => 'America/Managua',
  1685.             '(UTC-06:00) Central Time (US &amp; Canada)' => 'US/Central',
  1686.             '(UTC-06:00) Guadalajara' => 'America/Mexico_City',
  1687.             '(UTC-06:00) Mexico City' => 'America/Mexico_City',
  1688.             '(UTC-06:00) Monterrey' => 'America/Monterrey',
  1689.             '(UTC-06:00) Saskatchewan' => 'Canada/Saskatchewan',
  1690.             '(UTC-05:00) Bogota' => 'America/Bogota',
  1691.             '(UTC-05:00) Eastern Time (US &amp; Canada)' => 'US/Eastern',
  1692.             '(UTC-05:00) Indiana (East)' => 'US/East-Indiana',
  1693.             '(UTC-05:00) Lima' => 'America/Lima',
  1694.             '(UTC-05:00) Quito' => 'America/Bogota',
  1695.             '(UTC-04:00) Atlantic Time (Canada)' => 'Canada/Atlantic',
  1696.             '(UTC-04:30) Caracas' => 'America/Caracas',
  1697.             '(UTC-04:00) La Paz' => 'America/La_Paz',
  1698.             '(UTC-04:00) Santiago' => 'America/Santiago',
  1699.             '(UTC-03:30) Newfoundland' => 'Canada/Newfoundland',
  1700.             '(UTC-03:00) Brasilia' => 'America/Sao_Paulo',
  1701.             '(UTC-03:00) Buenos Aires' => 'America/Argentina/Buenos_Aires',
  1702.             '(UTC-03:00) Georgetown' => 'America/Argentina/Buenos_Aires',
  1703.             '(UTC-03:00) Greenland' => 'America/Godthab',
  1704.             '(UTC-02:00) Mid-Atlantic' => 'America/Noronha',
  1705.             '(UTC-01:00) Azores' => 'Atlantic/Azores',
  1706.             '(UTC-01:00) Cape Verde Is.' => 'Atlantic/Cape_Verde',
  1707.             '(UTC+00:00) Casablanca' => 'Africa/Casablanca',
  1708.             '(UTC+00:00) Edinburgh' => 'Europe/London',
  1709.             '(UTC+00:00) Greenwich Mean Time : Dublin' => 'Etc/Greenwich',
  1710.             '(UTC+00:00) Lisbon' => 'Europe/Lisbon',
  1711.             '(UTC+00:00) London' => 'Europe/London',
  1712.             '(UTC+00:00) Monrovia' => 'Africa/Monrovia',
  1713.             '(UTC+00:00) UTC' => 'UTC',
  1714.             '(UTC+01:00) Amsterdam' => 'Europe/Amsterdam',
  1715.             '(UTC+01:00) Belgrade' => 'Europe/Belgrade',
  1716.             '(UTC+01:00) Berlin' => 'Europe/Berlin',
  1717.             '(UTC+01:00) Bern' => 'Europe/Berlin',
  1718.             '(UTC+01:00) Bratislava' => 'Europe/Bratislava',
  1719.             '(UTC+01:00) Brussels' => 'Europe/Brussels',
  1720.             '(UTC+01:00) Budapest' => 'Europe/Budapest',
  1721.             '(UTC+01:00) Copenhagen' => 'Europe/Copenhagen',
  1722.             '(UTC+01:00) Ljubljana' => 'Europe/Ljubljana',
  1723.             '(UTC+01:00) Madrid' => 'Europe/Madrid',
  1724.             '(UTC+01:00) Paris' => 'Europe/Paris',
  1725.             '(UTC+01:00) Prague' => 'Europe/Prague',
  1726.             '(UTC+01:00) Rome' => 'Europe/Rome',
  1727.             '(UTC+01:00) Sarajevo' => 'Europe/Sarajevo',
  1728.             '(UTC+01:00) Skopje' => 'Europe/Skopje',
  1729.             '(UTC+01:00) Stockholm' => 'Europe/Stockholm',
  1730.             '(UTC+01:00) Vienna' => 'Europe/Vienna',
  1731.             '(UTC+01:00) Warsaw' => 'Europe/Warsaw',
  1732.             '(UTC+01:00) West Central Africa' => 'Africa/Lagos',
  1733.             '(UTC+01:00) Zagreb' => 'Europe/Zagreb',
  1734.             '(UTC+02:00) Athens' => 'Europe/Athens',
  1735.             '(UTC+02:00) Bucharest' => 'Europe/Bucharest',
  1736.             '(UTC+02:00) Cairo' => 'Africa/Cairo',
  1737.             '(UTC+02:00) Harare' => 'Africa/Harare',
  1738.             '(UTC+02:00) Helsinki' => 'Europe/Helsinki',
  1739.             '(UTC+02:00) Istanbul' => 'Europe/Istanbul',
  1740.             '(UTC+02:00) Jerusalem' => 'Asia/Jerusalem',
  1741.             '(UTC+02:00) Kyiv' => 'Europe/Helsinki',
  1742.             '(UTC+02:00) Pretoria' => 'Africa/Johannesburg',
  1743.             '(UTC+02:00) Riga' => 'Europe/Riga',
  1744.             '(UTC+02:00) Sofia' => 'Europe/Sofia',
  1745.             '(UTC+02:00) Tallinn' => 'Europe/Tallinn',
  1746.             '(UTC+02:00) Vilnius' => 'Europe/Vilnius',
  1747.             '(UTC+03:00) Baghdad' => 'Asia/Baghdad',
  1748.             '(UTC+03:00) Kuwait' => 'Asia/Kuwait',
  1749.             '(UTC+03:00) Minsk' => 'Europe/Minsk',
  1750.             '(UTC+03:00) Nairobi' => 'Africa/Nairobi',
  1751.             '(UTC+03:00) Riyadh' => 'Asia/Riyadh',
  1752.             '(UTC+03:00) Volgograd' => 'Europe/Volgograd',
  1753.             '(UTC+03:30) Tehran' => 'Asia/Tehran',
  1754.             '(UTC+04:00) Abu Dhabi' => 'Asia/Muscat',
  1755.             '(UTC+04:00) Baku' => 'Asia/Baku',
  1756.             '(UTC+04:00) Moscow' => 'Europe/Moscow',
  1757.             '(UTC+04:00) Muscat' => 'Asia/Muscat',
  1758.             '(UTC+04:00) St. Petersburg' => 'Europe/Moscow',
  1759.             '(UTC+04:00) Tbilisi' => 'Asia/Tbilisi',
  1760.             '(UTC+04:00) Yerevan' => 'Asia/Yerevan',
  1761.             '(UTC+04:30) Kabul' => 'Asia/Kabul',
  1762.             '(UTC+05:00) Islamabad' => 'Asia/Karachi',
  1763.             '(UTC+05:00) Karachi' => 'Asia/Karachi',
  1764.             '(UTC+05:00) Tashkent' => 'Asia/Tashkent',
  1765.             '(UTC+05:30) Chennai' => 'Asia/Calcutta',
  1766.             '(UTC+05:30) Kolkata' => 'Asia/Kolkata',
  1767.             '(UTC+05:30) Mumbai' => 'Asia/Calcutta',
  1768.             '(UTC+05:30) New Delhi' => 'Asia/Calcutta',
  1769.             '(UTC+05:30) Sri Jayawardenepura' => 'Asia/Calcutta',
  1770.             '(UTC+05:45) Kathmandu' => 'Asia/Katmandu',
  1771.             '(UTC+06:00) Almaty' => 'Asia/Almaty',
  1772.             '(UTC+06:00) Astana' => 'Asia/Dhaka',
  1773.             '(UTC+06:00) Dhaka' => 'Asia/Dhaka',
  1774.             '(UTC+06:00) Ekaterinburg' => 'Asia/Yekaterinburg',
  1775.             '(UTC+06:30) Rangoon' => 'Asia/Rangoon',
  1776.             '(UTC+07:00) Bangkok' => 'Asia/Bangkok',
  1777.             '(UTC+07:00) Hanoi' => 'Asia/Bangkok',
  1778.             '(UTC+07:00) Jakarta' => 'Asia/Jakarta',
  1779.             '(UTC+07:00) Novosibirsk' => 'Asia/Novosibirsk',
  1780.             '(UTC+08:00) Beijing' => 'Asia/Hong_Kong',
  1781.             '(UTC+08:00) Chongqing' => 'Asia/Chongqing',
  1782.             '(UTC+08:00) Hong Kong' => 'Asia/Hong_Kong',
  1783.             '(UTC+08:00) Krasnoyarsk' => 'Asia/Krasnoyarsk',
  1784.             '(UTC+08:00) Kuala Lumpur' => 'Asia/Kuala_Lumpur',
  1785.             '(UTC+08:00) Perth' => 'Australia/Perth',
  1786.             '(UTC+08:00) Singapore' => 'Asia/Singapore',
  1787.             '(UTC+08:00) Taipei' => 'Asia/Taipei',
  1788.             '(UTC+08:00) Ulaan Bataar' => 'Asia/Ulan_Bator',
  1789.             '(UTC+08:00) Urumqi' => 'Asia/Urumqi',
  1790.             '(UTC+09:00) Irkutsk' => 'Asia/Irkutsk',
  1791.             '(UTC+09:00) Osaka' => 'Asia/Tokyo',
  1792.             '(UTC+09:00) Sapporo' => 'Asia/Tokyo',
  1793.             '(UTC+09:00) Seoul' => 'Asia/Seoul',
  1794.             '(UTC+09:00) Tokyo' => 'Asia/Tokyo',
  1795.             '(UTC+09:30) Adelaide' => 'Australia/Adelaide',
  1796.             '(UTC+09:30) Darwin' => 'Australia/Darwin',
  1797.             '(UTC+10:00) Brisbane' => 'Australia/Brisbane',
  1798.             '(UTC+10:00) Canberra' => 'Australia/Canberra',
  1799.             '(UTC+10:00) Guam' => 'Pacific/Guam',
  1800.             '(UTC+10:00) Hobart' => 'Australia/Hobart',
  1801.             '(UTC+10:00) Melbourne' => 'Australia/Melbourne',
  1802.             '(UTC+10:00) Port Moresby' => 'Pacific/Port_Moresby',
  1803.             '(UTC+10:00) Sydney' => 'Australia/Sydney',
  1804.             '(UTC+10:00) Yakutsk' => 'Asia/Yakutsk',
  1805.             '(UTC+11:00) Vladivostok' => 'Asia/Vladivostok',
  1806.             '(UTC+12:00) Auckland' => 'Pacific/Auckland',
  1807.             '(UTC+12:00) Fiji' => 'Pacific/Fiji',
  1808.             '(UTC+12:00) International Date Line West' => 'Pacific/Kwajalein',
  1809.             '(UTC+12:00) Kamchatka' => 'Asia/Kamchatka',
  1810.             '(UTC+12:00) Magadan' => 'Asia/Magadan',
  1811.             '(UTC+12:00) Marshall Is.' => 'Pacific/Fiji',
  1812.             '(UTC+12:00) New Caledonia' => 'Asia/Magadan',
  1813.             '(UTC+12:00) Solomon Is.' => 'Asia/Magadan',
  1814.             '(UTC+12:00) Wellington' => 'Pacific/Auckland',
  1815.             '(UTC+13:00) Nuku\'alofa' => 'Pacific/Tongatapu'
  1816.         );
  1817.     }
  1818.     public function getSeasonalityMonths(): ?string
  1819.     {
  1820.         return $this->seasonalityMonths;
  1821.     }
  1822.     public function setSeasonalityMonths(string $seasonalityMonths): self
  1823.     {
  1824.         $this->seasonalityMonths $seasonalityMonths;
  1825.         return $this;
  1826.     }
  1827.     public function getFNameKk(): ?string
  1828.     {
  1829.         return $this->fNameKk;
  1830.     }
  1831.     public function setFNameKk(string $fNameKk): self
  1832.     {
  1833.         $this->fNameKk $fNameKk;
  1834.         return $this;
  1835.     }
  1836.     public function getFNameKkRd(): ?string
  1837.     {
  1838.         return $this->fNameKkRd;
  1839.     }
  1840.     public function setFNameKkRd(string $fNameKkRd): self
  1841.     {
  1842.         $this->fNameKkRd $fNameKkRd;
  1843.         return $this;
  1844.     }
  1845.     public function getFNameKkVn(): ?string
  1846.     {
  1847.         return $this->fNameKkVn;
  1848.     }
  1849.     public function setFNameKkVn(string $fNameKkVn): self
  1850.     {
  1851.         $this->fNameKkVn $fNameKkVn;
  1852.         return $this;
  1853.     }
  1854.     public function getFNameKkPr(): ?string
  1855.     {
  1856.         return $this->fNameKkPr;
  1857.     }
  1858.     public function setFNameKkPr(string $fNameKkPr): self
  1859.     {
  1860.         $this->fNameKkPr $fNameKkPr;
  1861.         return $this;
  1862.     }
  1863.     public function getFNameKkDt(): ?string
  1864.     {
  1865.         return $this->fNameKkDt;
  1866.     }
  1867.     public function setFNameKkDt(string $fNameKkDt): self
  1868.     {
  1869.         $this->fNameKkDt $fNameKkDt;
  1870.         return $this;
  1871.     }
  1872. }